From 8c145f61fd415cf82ab4403e2d71029ec6a9d78e Mon Sep 17 00:00:00 2001
From: ALVES Alexandre <alexandre.alves@ensiie.fr>
Date: Mon, 20 Nov 2017 13:14:29 +0100
Subject: [PATCH] Ajout du workspace c9

---
 rapports_iterations/iteration_2.md            |    77 +
 workspace/.c9/.nakignore                      |    17 +
 workspace/.c9/metadata/tab0                   |     1 +
 workspace/.c9/metadata/tab1                   |     1 +
 workspace/.c9/metadata/tab12                  |     1 +
 workspace/.c9/metadata/tab13                  |     1 +
 workspace/.c9/metadata/tab14                  |     1 +
 workspace/.c9/metadata/tab2                   |     1 +
 workspace/.c9/metadata/tab39                  |     1 +
 workspace/.c9/metadata/tab4                   |     1 +
 workspace/.c9/metadata/tab6                   |     1 +
 workspace/.c9/metadata/workspace/BUG_REPORT   |     1 +
 workspace/.c9/metadata/workspace/README.md    |     1 +
 workspace/.c9/metadata/workspace/README_SQL   |     1 +
 workspace/.c9/metadata/workspace/Retro.2.md   |     1 +
 .../app/Console/Commands/Inspire.php          |     1 +
 .../metadata/workspace/app/Console/Kernel.php |     1 +
 .../metadata/workspace/app/Events/Event.php   |     1 +
 .../workspace/app/Exceptions/Handler.php      |     1 +
 .../Http/Controllers/Auth/AuthController.php  |     1 +
 .../Controllers/Auth/PasswordController.php   |     1 +
 .../app/Http/Controllers/Controller.php       |     1 +
 .../app/Http/Controllers/HomeController.php   |     1 +
 .../Controllers/ProductRegisterController.php |     1 +
 .../Http/Controllers/ProductsController.php   |     1 +
 .../Http/Controllers/RegisterController.php   |     1 +
 .../app/Http/Controllers/UserController.php   |     1 +
 .../app/Http/Controllers/UsersController.php  |     1 +
 .../metadata/workspace/app/Http/Kernel.php    |     1 +
 .../app/Http/Middleware/Authenticate.php      |     1 +
 .../Http/Requests/ProductCreateRequest.php    |     1 +
 .../Http/Requests/ProductRegisterRequest.php  |     1 +
 .../app/Http/Requests/ProductRequest.php      |     1 +
 .../Http/Requests/ProductUpdateRequest.php    |     1 +
 .../metadata/workspace/app/Http/routes.php    |     1 +
 .../.c9/metadata/workspace/app/Product.php    |     1 +
 .../.c9/metadata/workspace/app/Products.php   |     1 +
 .../app/Providers/RouteServiceProvider.php    |     1 +
 .../app/Repositories/ProductRepository.php    |     1 +
 .../app/Repositories/UserRepository.php       |     1 +
 workspace/.c9/metadata/workspace/app/User.php |     1 +
 .../workspace/bonsaiie/app/Http/routes.php    |     1 +
 .../workspace/bonsaiie/public/index.php       |     1 +
 .../bonsaiie/resources/views/header.blade.php |     1 +
 .../bonsaiie/resources/views/index.blade.php  |     1 +
 .../bonsaiie/resources/views/index.php        |     1 +
 .../.c9/metadata/workspace/bootstrap/app.php  |     1 +
 .../metadata/workspace/bootstrap/autoload.php |     1 +
 .../workspace/bootstrap/cache/services.php    |     1 +
 .../.c9/metadata/workspace/composer.json      |     1 +
 .../.c9/metadata/workspace/config/app.php     |     1 +
 .../.c9/metadata/workspace/config/auth.php    |     1 +
 .../workspace/config/broadcasting.php         |     1 +
 .../.c9/metadata/workspace/config/cache.php   |     1 +
 .../.c9/metadata/workspace/config/compile.php |     1 +
 .../metadata/workspace/config/database.php    |     1 +
 .../.c9/metadata/workspace/config/mail.php    |     1 +
 .../.c9/metadata/workspace/config/session.php |     1 +
 .../.c9/metadata/workspace/config/view.php    |     1 +
 .../database/factories/ModelFactory.php       |     1 +
 .../2014_10_12_000000_create_users_table.php  |     1 +
 ...12_100000_create_password_resets_table.php |     1 +
 ...2017_11_08_233536_create_product_table.php |     1 +
 .../database/seeds/DatabaseSeeder.php         |     1 +
 workspace/.c9/metadata/workspace/index.php    |     1 +
 workspace/.c9/metadata/workspace/php.ini      |     1 +
 workspace/.c9/metadata/workspace/phpunit.xml  |     1 +
 .../.c9/metadata/workspace/public/css/app.css |     1 +
 .../workspace/public/css/bootstrap.min.css    |     1 +
 .../metadata/workspace/public/css/custom.css  |     1 +
 .../metadata/workspace/public/css/mdb.min.css |     1 +
 .../.c9/metadata/workspace/public/favicon.ico |     1 +
 .../workspace/public/img/arbreRond.png        |     1 +
 .../workspace/public/img/feuillesNav.jpeg     |     1 +
 .../.c9/metadata/workspace/public/index.php   |     1 +
 .../workspace/public/jquery/jquery.min.js     |     1 +
 .../.c9/metadata/workspace/public/js/app.js   |     1 +
 .../metadata/workspace/public/js/bootstrap.js |     1 +
 .../.c9/metadata/workspace/public/robots.txt  |     1 +
 .../.c9/metadata/workspace/public/web.config  |     1 +
 workspace/.c9/metadata/workspace/readme.md    |     1 +
 .../metadata/workspace/reports/iteration_2.md |     1 +
 .../workspace/resources/assets/sass/app.scss  |     1 +
 .../workspace/resources/lang/en/auth.php      |     1 +
 .../workspace/resources/lang/en/passwords.php |     1 +
 .../resources/lang/en/validation.php          |     1 +
 .../workspace/resources/lang/fr/auth.php      |     1 +
 .../resources/lang/fr/pagination.php          |     1 +
 .../workspace/resources/lang/fr/passwords.php |     1 +
 .../workspace/resources/lang/fr/texts.php     |     1 +
 .../resources/lang/fr/validation.php          |     1 +
 .../views/ConfirmRegistery.blade.php          |     1 +
 .../resources/views/OLD/app.blade.php         |     1 +
 .../resources/views/OLD/head.blade.php        |     1 +
 .../resources/views/OLD/header.blade.php      |     1 +
 .../resources/views/OLD/index.blade.php       |     1 +
 .../resources/views/OLD/register.blade.php    |     1 +
 .../resources/views/Produits_gen.blade.php    |     1 +
 .../resources/views/all_products.blade.php    |     1 +
 .../views/auth/emails/password.blade.php      |     1 +
 .../resources/views/auth/login.blade.1.php    |     1 +
 .../resources/views/auth/login.blade.php      |     1 +
 .../views/auth/passwords/email.blade.php      |     1 +
 .../views/auth/passwords/reset.blade.php      |     1 +
 .../resources/views/auth/register.blade.1.php |     1 +
 .../resources/views/auth/register.blade.php   |     1 +
 .../views/auth/user_register.blade.php        |     1 +
 .../workspace/resources/views/cgu.blade.php   |     1 +
 .../views/confirmRegistery.blade.php          |     1 +
 .../resources/views/errors/503.blade.php      |     1 +
 .../resources/views/function/announce.php     |     1 +
 .../resources/views/guide/cgu.blade.php       |     1 +
 .../resources/views/head.blade.1.php          |     1 +
 .../workspace/resources/views/head.blade.php  |     1 +
 .../workspace/resources/views/head1.blade.php |     1 +
 .../resources/views/header.blade.1.php        |     1 +
 .../resources/views/header.blade.php          |     1 +
 .../resources/views/header1.blade.php         |     1 +
 .../workspace/resources/views/home.blade.php  |     1 +
 .../resources/views/index.blade.1.php         |     1 +
 .../workspace/resources/views/index.blade.php |     1 +
 .../resources/views/index1.blade.php          |     1 +
 .../resources/views/layouts/app.blade.php     |     1 +
 .../resources/views/layouts/header.blade.php  |     1 +
 .../resources/views/layouts/meta.blade.php    |     1 +
 .../resources/views/let_ad.blade.php          |     1 +
 .../workspace/resources/views/meta.blade.php  |     1 +
 .../views/products/all_products.blade.php     |     1 +
 .../products/product_alimentary.blade.php     |     1 +
 .../views/products/product_create.blade.php   |     1 +
 .../views/products/product_edit.blade.php     |     1 +
 .../views/products/product_index.blade.php    |     1 +
 .../views/products/product_register.blade.php |     1 +
 .../views/products/product_show.blade.php     |     1 +
 .../resources/views/products/seek.blade.php   |     1 +
 .../resources/views/registery.blade.php       |     1 +
 .../workspace/resources/views/seek.blade.php  |     1 +
 .../views/template/welcome.blade.php          |     1 +
 .../workspace/resources/views/test.blade.php  |     1 +
 .../resources/views/testVente.blade.php       |     1 +
 .../resources/views/testVoisins.blade.php     |     1 +
 .../views/user/user_create.blade.php          |     1 +
 .../resources/views/user/user_edit.php        |     1 +
 .../resources/views/user/user_index.blade.php |     1 +
 .../resources/views/user/user_show.blade.php  |     1 +
 .../resources/views/welcome.blade.php         |     1 +
 workspace/.c9/metadata/workspace/server.php   |     1 +
 .../workspace/storage/logs/laravel.log        |     1 +
 .../metadata/workspace/tests/ExampleTest.php  |     1 +
 .../.c9/metadata/workspace/tests/TestCase.php |     1 +
 .../vendor/illuminate/html/FormBuilder.php    |     1 +
 .../vendor/illuminate/html/FormFacade.php     |     1 +
 .../laravelcollective/html/composer.json      |     1 +
 workspace/.c9/project.settings                |   106 +
 workspace/.env.example                        |    26 +
 workspace/.gitattributes                      |     3 +
 workspace/.gitignore                          |     6 +
 workspace/BUG_REPORT                          |     3 +
 workspace/README.md                           |    30 +
 workspace/README_SQL                          |    45 +
 workspace/Retro.2.md                          |     0
 workspace/app/Console/Commands/Inspire.php    |    33 +
 workspace/app/Console/Kernel.php              |    30 +
 workspace/app/Events/Event.php                |     8 +
 workspace/app/Exceptions/Handler.php          |    50 +
 .../Http/Controllers/Auth/AuthController.php  |    73 +
 .../Controllers/Auth/PasswordController.php   |    32 +
 workspace/app/Http/Controllers/Controller.php |    14 +
 .../app/Http/Controllers/HomeController.php   |    29 +
 .../Http/Controllers/ProductsController.php   |   164 +
 .../app/Http/Controllers/UserController.php   |    53 +
 workspace/app/Http/Kernel.php                 |    53 +
 .../app/Http/Middleware/Authenticate.php      |    30 +
 .../app/Http/Middleware/EncryptCookies.php    |    17 +
 .../Middleware/RedirectIfAuthenticated.php    |    26 +
 .../app/Http/Middleware/VerifyCsrfToken.php   |    17 +
 .../Http/Requests/ProductCreateRequest.php    |    42 +
 .../Http/Requests/ProductUpdateRequest.php    |    44 +
 workspace/app/Http/routes.php                 |   127 +
 workspace/app/Jobs/Job.php                    |    21 +
 workspace/app/Listeners/.gitkeep              |     1 +
 workspace/app/Policies/.gitkeep               |     1 +
 workspace/app/Product.php                     |    12 +
 .../app/Providers/AppServiceProvider.php      |    28 +
 .../app/Providers/AuthServiceProvider.php     |    31 +
 .../app/Providers/EventServiceProvider.php    |    33 +
 .../app/Providers/RouteServiceProvider.php    |    61 +
 .../app/Repositories/ProductRepository.php    |    91 +
 workspace/app/Repositories/UserRepository.php |    56 +
 workspace/app/User.php                        |    26 +
 workspace/artisan                             |    51 +
 workspace/bootstrap/app.php                   |    55 +
 workspace/bootstrap/autoload.php              |    34 +
 workspace/bootstrap/cache/.gitignore          |     2 +
 workspace/composer.json                       |    53 +
 workspace/composer.lock                       |  3351 +++++
 workspace/config/app.php                      |   212 +
 workspace/config/auth.php                     |   107 +
 workspace/config/broadcasting.php             |    52 +
 workspace/config/cache.php                    |    81 +
 workspace/config/compile.php                  |    35 +
 workspace/config/database.php                 |   120 +
 workspace/config/filesystems.php              |    67 +
 workspace/config/mail.php                     |   112 +
 workspace/config/queue.php                    |    85 +
 workspace/config/services.php                 |    38 +
 workspace/config/session.php                  |   166 +
 workspace/config/view.php                     |    33 +
 workspace/database/.gitignore                 |     1 +
 workspace/database/factories/ModelFactory.php |    21 +
 workspace/database/migrations/.gitkeep        |     1 +
 .../2014_10_12_000000_create_users_table.php  |    34 +
 ...12_100000_create_password_resets_table.php |    31 +
 ...2017_11_08_233536_create_product_table.php |    43 +
 workspace/database/seeds/.gitkeep             |     1 +
 workspace/database/seeds/DatabaseSeeder.php   |    16 +
 workspace/gulpfile.js                         |    16 +
 workspace/package.json                        |    12 +
 workspace/php.ini                             |  1659 +++
 workspace/php_errors.log                      |  1728 +++
 workspace/phpunit.xml                         |    30 +
 workspace/public/.htaccess                    |    20 +
 workspace/public/css/app.css                  |     5 +
 workspace/public/css/bootstrap-grid.css       |  1567 +++
 workspace/public/css/bootstrap-grid.css.map   |     1 +
 workspace/public/css/bootstrap-grid.min.css   |     7 +
 .../public/css/bootstrap-grid.min.css.map     |     1 +
 workspace/public/css/bootstrap-reboot.css     |   342 +
 workspace/public/css/bootstrap-reboot.css.map |     1 +
 workspace/public/css/bootstrap-reboot.min.css |     8 +
 .../public/css/bootstrap-reboot.min.css.map   |     1 +
 workspace/public/css/bootstrap.css            |  8374 +++++++++++++
 workspace/public/css/bootstrap.css.map        |     1 +
 workspace/public/css/bootstrap.min.css        |     7 +
 workspace/public/css/bootstrap.min.css.map    |     1 +
 workspace/public/css/custom.css               |   709 ++
 workspace/public/css/mdb.min.css              |  8671 +++++++++++++
 workspace/public/favicon.ico                  |     0
 workspace/public/img/arbre.jpg                |   Bin 0 -> 113567 bytes
 workspace/public/img/arbreNav.jpg             |   Bin 0 -> 21353 bytes
 workspace/public/img/arbreRond.png            |   Bin 0 -> 530962 bytes
 workspace/public/img/doge.png                 |   Bin 0 -> 42968 bytes
 workspace/public/img/feuillesNav.jpeg         |   Bin 0 -> 102903 bytes
 workspace/public/index.php                    |    58 +
 workspace/public/jquery/core.js               |   476 +
 workspace/public/jquery/jquery.js             | 10253 ++++++++++++++++
 workspace/public/jquery/jquery.min.js         |     4 +
 workspace/public/jquery/jquery.min.map        |     1 +
 workspace/public/jquery/jquery.slim.js        |  8160 ++++++++++++
 workspace/public/jquery/jquery.slim.min.js    |     4 +
 workspace/public/jquery/jquery.slim.min.map   |     1 +
 workspace/public/js/app.js                    |    34 +
 workspace/public/js/bootstrap.bundle.js       |  6287 ++++++++++
 workspace/public/js/bootstrap.bundle.js.map   |     1 +
 workspace/public/js/bootstrap.bundle.min.js   |     7 +
 .../public/js/bootstrap.bundle.min.js.map     |     1 +
 workspace/public/js/bootstrap.js              |  3850 ++++++
 workspace/public/js/bootstrap.js.map          |     1 +
 workspace/public/js/bootstrap.min.js          |     7 +
 workspace/public/js/bootstrap.min.js.map      |     1 +
 workspace/public/js/contact_me.js             |    75 +
 workspace/public/js/freelancer.js             |    53 +
 workspace/public/js/freelancer.min.js         |     6 +
 workspace/public/js/jqBootstrapValidation.js  |   912 ++
 workspace/public/robots.txt                   |     2 +
 workspace/public/web.config                   |    23 +
 workspace/readme.md                           |    27 +
 workspace/reports/iteration-X-template.md     |    72 +
 workspace/reports/iteration_2.md              |    83 +
 workspace/resources/assets/sass/app.scss      |     2 +
 workspace/resources/lang/en/auth.php          |    19 +
 workspace/resources/lang/en/pagination.php    |    19 +
 workspace/resources/lang/en/passwords.php     |    22 +
 workspace/resources/lang/en/validation.php    |   113 +
 workspace/resources/lang/fr/auth.php          |    21 +
 workspace/resources/lang/fr/pagination.php    |    19 +
 workspace/resources/lang/fr/passwords.php     |    22 +
 workspace/resources/lang/fr/texts.php         |    18 +
 workspace/resources/lang/fr/validation.php    |   113 +
 workspace/resources/views/OLD/app.blade.php   |    82 +
 workspace/resources/views/OLD/head.blade.php  |   134 +
 .../resources/views/OLD/header.blade.php      |   134 +
 workspace/resources/views/OLD/index.blade.php |    69 +
 workspace/resources/views/OLD/login.blade.php |    70 +
 .../resources/views/OLD/register.blade.php    |    82 +
 .../views/auth/emails/password.blade.php      |     1 +
 .../resources/views/auth/login.blade.php      |    77 +
 .../views/auth/passwords/email.blade.php      |    58 +
 .../views/auth/passwords/reset.blade.php      |    76 +
 .../resources/views/auth/register.blade.php   |    88 +
 .../views/confirmRegistery.blade.php          |    29 +
 .../resources/views/errors/503.blade.php      |    47 +
 .../resources/views/function/announce.php     |     0
 workspace/resources/views/guide/cgu.blade.php |    27 +
 workspace/resources/views/home.blade.php      |    17 +
 workspace/resources/views/index.blade.php     |   101 +
 .../resources/views/layouts/app.blade.php     |   150 +
 .../resources/views/layouts/meta.blade.php    |   226 +
 workspace/resources/views/let_ad.blade.php    |    77 +
 .../products/product_alimentary.blade.php     |    58 +
 .../views/products/product_create.blade.php   |   138 +
 .../views/products/product_edit.blade.php     |    88 +
 .../views/products/product_index.blade.php    |    58 +
 .../views/products/product_show.blade.php     |    52 +
 workspace/resources/views/registery.blade.php |    71 +
 workspace/resources/views/seek.blade.php      |    41 +
 .../views/template/testVente.blade.php        |   221 +
 .../views/template/testVoisins.blade.php      |    76 +
 .../views/template/welcome.blade.php          |    17 +
 workspace/resources/views/user/user_edit.php  |    39 +
 .../resources/views/user/user_index.blade.php |    12 +
 .../resources/views/user/user_show.blade.php  |    24 +
 workspace/resources/views/vendor/.gitkeep     |     1 +
 workspace/server.php                          |    21 +
 workspace/storage/app/.gitignore              |     3 +
 workspace/storage/app/public/.gitignore       |     2 +
 workspace/storage/framework/.gitignore        |     8 +
 workspace/storage/framework/cache/.gitignore  |     2 +
 .../storage/framework/sessions/.gitignore     |     2 +
 workspace/storage/framework/views/.gitignore  |     2 +
 workspace/storage/logs/.gitignore             |     2 +
 workspace/tests/ExampleTest.php               |    19 +
 workspace/tests/TestCase.php                  |    25 +
 323 files changed, 62924 insertions(+)
 create mode 100644 rapports_iterations/iteration_2.md
 create mode 100644 workspace/.c9/.nakignore
 create mode 100644 workspace/.c9/metadata/tab0
 create mode 100644 workspace/.c9/metadata/tab1
 create mode 100644 workspace/.c9/metadata/tab12
 create mode 100644 workspace/.c9/metadata/tab13
 create mode 100644 workspace/.c9/metadata/tab14
 create mode 100644 workspace/.c9/metadata/tab2
 create mode 100644 workspace/.c9/metadata/tab39
 create mode 100644 workspace/.c9/metadata/tab4
 create mode 100644 workspace/.c9/metadata/tab6
 create mode 100644 workspace/.c9/metadata/workspace/BUG_REPORT
 create mode 100644 workspace/.c9/metadata/workspace/README.md
 create mode 100644 workspace/.c9/metadata/workspace/README_SQL
 create mode 100644 workspace/.c9/metadata/workspace/Retro.2.md
 create mode 100644 workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Console/Kernel.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Events/Event.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Exceptions/Handler.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Kernel.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Http/routes.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Product.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Products.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php
 create mode 100644 workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php
 create mode 100644 workspace/.c9/metadata/workspace/app/User.php
 create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php
 create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/public/index.php
 create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php
 create mode 100644 workspace/.c9/metadata/workspace/bootstrap/app.php
 create mode 100644 workspace/.c9/metadata/workspace/bootstrap/autoload.php
 create mode 100644 workspace/.c9/metadata/workspace/bootstrap/cache/services.php
 create mode 100644 workspace/.c9/metadata/workspace/composer.json
 create mode 100644 workspace/.c9/metadata/workspace/config/app.php
 create mode 100644 workspace/.c9/metadata/workspace/config/auth.php
 create mode 100644 workspace/.c9/metadata/workspace/config/broadcasting.php
 create mode 100644 workspace/.c9/metadata/workspace/config/cache.php
 create mode 100644 workspace/.c9/metadata/workspace/config/compile.php
 create mode 100644 workspace/.c9/metadata/workspace/config/database.php
 create mode 100644 workspace/.c9/metadata/workspace/config/mail.php
 create mode 100644 workspace/.c9/metadata/workspace/config/session.php
 create mode 100644 workspace/.c9/metadata/workspace/config/view.php
 create mode 100644 workspace/.c9/metadata/workspace/database/factories/ModelFactory.php
 create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php
 create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
 create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php
 create mode 100644 workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php
 create mode 100644 workspace/.c9/metadata/workspace/index.php
 create mode 100644 workspace/.c9/metadata/workspace/php.ini
 create mode 100644 workspace/.c9/metadata/workspace/phpunit.xml
 create mode 100644 workspace/.c9/metadata/workspace/public/css/app.css
 create mode 100644 workspace/.c9/metadata/workspace/public/css/bootstrap.min.css
 create mode 100644 workspace/.c9/metadata/workspace/public/css/custom.css
 create mode 100644 workspace/.c9/metadata/workspace/public/css/mdb.min.css
 create mode 100644 workspace/.c9/metadata/workspace/public/favicon.ico
 create mode 100644 workspace/.c9/metadata/workspace/public/img/arbreRond.png
 create mode 100644 workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg
 create mode 100644 workspace/.c9/metadata/workspace/public/index.php
 create mode 100644 workspace/.c9/metadata/workspace/public/jquery/jquery.min.js
 create mode 100644 workspace/.c9/metadata/workspace/public/js/app.js
 create mode 100644 workspace/.c9/metadata/workspace/public/js/bootstrap.js
 create mode 100644 workspace/.c9/metadata/workspace/public/robots.txt
 create mode 100644 workspace/.c9/metadata/workspace/public/web.config
 create mode 100644 workspace/.c9/metadata/workspace/readme.md
 create mode 100644 workspace/.c9/metadata/workspace/reports/iteration_2.md
 create mode 100644 workspace/.c9/metadata/workspace/resources/assets/sass/app.scss
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/auth.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/passwords.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/validation.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/auth.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/texts.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/validation.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/all_products.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/cgu.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/function/announce.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/head.blade.1.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/head.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/head1.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/header.blade.1.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/header.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/header1.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/home.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/index.blade.1.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/index.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/index1.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/meta.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/registery.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/seek.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/test.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/testVente.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_edit.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/resources/views/welcome.blade.php
 create mode 100644 workspace/.c9/metadata/workspace/server.php
 create mode 100644 workspace/.c9/metadata/workspace/storage/logs/laravel.log
 create mode 100644 workspace/.c9/metadata/workspace/tests/ExampleTest.php
 create mode 100644 workspace/.c9/metadata/workspace/tests/TestCase.php
 create mode 100644 workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php
 create mode 100644 workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php
 create mode 100644 workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json
 create mode 100644 workspace/.c9/project.settings
 create mode 100644 workspace/.env.example
 create mode 100644 workspace/.gitattributes
 create mode 100644 workspace/.gitignore
 create mode 100644 workspace/BUG_REPORT
 create mode 100644 workspace/README.md
 create mode 100644 workspace/README_SQL
 create mode 100644 workspace/Retro.2.md
 create mode 100644 workspace/app/Console/Commands/Inspire.php
 create mode 100644 workspace/app/Console/Kernel.php
 create mode 100644 workspace/app/Events/Event.php
 create mode 100644 workspace/app/Exceptions/Handler.php
 create mode 100644 workspace/app/Http/Controllers/Auth/AuthController.php
 create mode 100644 workspace/app/Http/Controllers/Auth/PasswordController.php
 create mode 100644 workspace/app/Http/Controllers/Controller.php
 create mode 100644 workspace/app/Http/Controllers/HomeController.php
 create mode 100644 workspace/app/Http/Controllers/ProductsController.php
 create mode 100644 workspace/app/Http/Controllers/UserController.php
 create mode 100644 workspace/app/Http/Kernel.php
 create mode 100644 workspace/app/Http/Middleware/Authenticate.php
 create mode 100644 workspace/app/Http/Middleware/EncryptCookies.php
 create mode 100644 workspace/app/Http/Middleware/RedirectIfAuthenticated.php
 create mode 100644 workspace/app/Http/Middleware/VerifyCsrfToken.php
 create mode 100644 workspace/app/Http/Requests/ProductCreateRequest.php
 create mode 100644 workspace/app/Http/Requests/ProductUpdateRequest.php
 create mode 100644 workspace/app/Http/routes.php
 create mode 100644 workspace/app/Jobs/Job.php
 create mode 100644 workspace/app/Listeners/.gitkeep
 create mode 100644 workspace/app/Policies/.gitkeep
 create mode 100644 workspace/app/Product.php
 create mode 100644 workspace/app/Providers/AppServiceProvider.php
 create mode 100644 workspace/app/Providers/AuthServiceProvider.php
 create mode 100644 workspace/app/Providers/EventServiceProvider.php
 create mode 100644 workspace/app/Providers/RouteServiceProvider.php
 create mode 100644 workspace/app/Repositories/ProductRepository.php
 create mode 100644 workspace/app/Repositories/UserRepository.php
 create mode 100644 workspace/app/User.php
 create mode 100755 workspace/artisan
 create mode 100644 workspace/bootstrap/app.php
 create mode 100644 workspace/bootstrap/autoload.php
 create mode 100644 workspace/bootstrap/cache/.gitignore
 create mode 100644 workspace/composer.json
 create mode 100644 workspace/composer.lock
 create mode 100644 workspace/config/app.php
 create mode 100644 workspace/config/auth.php
 create mode 100644 workspace/config/broadcasting.php
 create mode 100644 workspace/config/cache.php
 create mode 100644 workspace/config/compile.php
 create mode 100644 workspace/config/database.php
 create mode 100644 workspace/config/filesystems.php
 create mode 100644 workspace/config/mail.php
 create mode 100644 workspace/config/queue.php
 create mode 100644 workspace/config/services.php
 create mode 100644 workspace/config/session.php
 create mode 100644 workspace/config/view.php
 create mode 100644 workspace/database/.gitignore
 create mode 100644 workspace/database/factories/ModelFactory.php
 create mode 100644 workspace/database/migrations/.gitkeep
 create mode 100644 workspace/database/migrations/2014_10_12_000000_create_users_table.php
 create mode 100644 workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
 create mode 100644 workspace/database/migrations/2017_11_08_233536_create_product_table.php
 create mode 100644 workspace/database/seeds/.gitkeep
 create mode 100644 workspace/database/seeds/DatabaseSeeder.php
 create mode 100644 workspace/gulpfile.js
 create mode 100644 workspace/package.json
 create mode 100644 workspace/php.ini
 create mode 100644 workspace/php_errors.log
 create mode 100644 workspace/phpunit.xml
 create mode 100644 workspace/public/.htaccess
 create mode 100644 workspace/public/css/app.css
 create mode 100644 workspace/public/css/bootstrap-grid.css
 create mode 100644 workspace/public/css/bootstrap-grid.css.map
 create mode 100644 workspace/public/css/bootstrap-grid.min.css
 create mode 100644 workspace/public/css/bootstrap-grid.min.css.map
 create mode 100644 workspace/public/css/bootstrap-reboot.css
 create mode 100644 workspace/public/css/bootstrap-reboot.css.map
 create mode 100644 workspace/public/css/bootstrap-reboot.min.css
 create mode 100644 workspace/public/css/bootstrap-reboot.min.css.map
 create mode 100644 workspace/public/css/bootstrap.css
 create mode 100644 workspace/public/css/bootstrap.css.map
 create mode 100644 workspace/public/css/bootstrap.min.css
 create mode 100644 workspace/public/css/bootstrap.min.css.map
 create mode 100644 workspace/public/css/custom.css
 create mode 100644 workspace/public/css/mdb.min.css
 create mode 100644 workspace/public/favicon.ico
 create mode 100644 workspace/public/img/arbre.jpg
 create mode 100644 workspace/public/img/arbreNav.jpg
 create mode 100644 workspace/public/img/arbreRond.png
 create mode 100644 workspace/public/img/doge.png
 create mode 100644 workspace/public/img/feuillesNav.jpeg
 create mode 100644 workspace/public/index.php
 create mode 100644 workspace/public/jquery/core.js
 create mode 100644 workspace/public/jquery/jquery.js
 create mode 100644 workspace/public/jquery/jquery.min.js
 create mode 100644 workspace/public/jquery/jquery.min.map
 create mode 100644 workspace/public/jquery/jquery.slim.js
 create mode 100644 workspace/public/jquery/jquery.slim.min.js
 create mode 100644 workspace/public/jquery/jquery.slim.min.map
 create mode 100644 workspace/public/js/app.js
 create mode 100644 workspace/public/js/bootstrap.bundle.js
 create mode 100644 workspace/public/js/bootstrap.bundle.js.map
 create mode 100644 workspace/public/js/bootstrap.bundle.min.js
 create mode 100644 workspace/public/js/bootstrap.bundle.min.js.map
 create mode 100644 workspace/public/js/bootstrap.js
 create mode 100644 workspace/public/js/bootstrap.js.map
 create mode 100644 workspace/public/js/bootstrap.min.js
 create mode 100644 workspace/public/js/bootstrap.min.js.map
 create mode 100644 workspace/public/js/contact_me.js
 create mode 100644 workspace/public/js/freelancer.js
 create mode 100644 workspace/public/js/freelancer.min.js
 create mode 100644 workspace/public/js/jqBootstrapValidation.js
 create mode 100644 workspace/public/robots.txt
 create mode 100644 workspace/public/web.config
 create mode 100644 workspace/readme.md
 create mode 100644 workspace/reports/iteration-X-template.md
 create mode 100644 workspace/reports/iteration_2.md
 create mode 100644 workspace/resources/assets/sass/app.scss
 create mode 100644 workspace/resources/lang/en/auth.php
 create mode 100644 workspace/resources/lang/en/pagination.php
 create mode 100644 workspace/resources/lang/en/passwords.php
 create mode 100644 workspace/resources/lang/en/validation.php
 create mode 100644 workspace/resources/lang/fr/auth.php
 create mode 100644 workspace/resources/lang/fr/pagination.php
 create mode 100644 workspace/resources/lang/fr/passwords.php
 create mode 100644 workspace/resources/lang/fr/texts.php
 create mode 100644 workspace/resources/lang/fr/validation.php
 create mode 100644 workspace/resources/views/OLD/app.blade.php
 create mode 100644 workspace/resources/views/OLD/head.blade.php
 create mode 100644 workspace/resources/views/OLD/header.blade.php
 create mode 100644 workspace/resources/views/OLD/index.blade.php
 create mode 100644 workspace/resources/views/OLD/login.blade.php
 create mode 100644 workspace/resources/views/OLD/register.blade.php
 create mode 100644 workspace/resources/views/auth/emails/password.blade.php
 create mode 100644 workspace/resources/views/auth/login.blade.php
 create mode 100644 workspace/resources/views/auth/passwords/email.blade.php
 create mode 100644 workspace/resources/views/auth/passwords/reset.blade.php
 create mode 100644 workspace/resources/views/auth/register.blade.php
 create mode 100644 workspace/resources/views/confirmRegistery.blade.php
 create mode 100644 workspace/resources/views/errors/503.blade.php
 create mode 100644 workspace/resources/views/function/announce.php
 create mode 100644 workspace/resources/views/guide/cgu.blade.php
 create mode 100644 workspace/resources/views/home.blade.php
 create mode 100644 workspace/resources/views/index.blade.php
 create mode 100644 workspace/resources/views/layouts/app.blade.php
 create mode 100644 workspace/resources/views/layouts/meta.blade.php
 create mode 100644 workspace/resources/views/let_ad.blade.php
 create mode 100644 workspace/resources/views/products/product_alimentary.blade.php
 create mode 100644 workspace/resources/views/products/product_create.blade.php
 create mode 100644 workspace/resources/views/products/product_edit.blade.php
 create mode 100644 workspace/resources/views/products/product_index.blade.php
 create mode 100644 workspace/resources/views/products/product_show.blade.php
 create mode 100644 workspace/resources/views/registery.blade.php
 create mode 100644 workspace/resources/views/seek.blade.php
 create mode 100644 workspace/resources/views/template/testVente.blade.php
 create mode 100644 workspace/resources/views/template/testVoisins.blade.php
 create mode 100644 workspace/resources/views/template/welcome.blade.php
 create mode 100644 workspace/resources/views/user/user_edit.php
 create mode 100644 workspace/resources/views/user/user_index.blade.php
 create mode 100644 workspace/resources/views/user/user_show.blade.php
 create mode 100644 workspace/resources/views/vendor/.gitkeep
 create mode 100644 workspace/server.php
 create mode 100644 workspace/storage/app/.gitignore
 create mode 100644 workspace/storage/app/public/.gitignore
 create mode 100644 workspace/storage/framework/.gitignore
 create mode 100644 workspace/storage/framework/cache/.gitignore
 create mode 100644 workspace/storage/framework/sessions/.gitignore
 create mode 100644 workspace/storage/framework/views/.gitignore
 create mode 100644 workspace/storage/logs/.gitignore
 create mode 100644 workspace/tests/ExampleTest.php
 create mode 100644 workspace/tests/TestCase.php

diff --git a/rapports_iterations/iteration_2.md b/rapports_iterations/iteration_2.md
new file mode 100644
index 0000000..6606670
--- /dev/null
+++ b/rapports_iterations/iteration_2.md
@@ -0,0 +1,77 @@
+# Rapport d'itération  
+
+## Composition de l'équipe 
+
+
+|  &nbsp;                 | Itération précédente     |
+| -------------           |-------------             |
+| **Product Owner**       | *AICHHORN Guillaume*     |
+| **Scrum Master**        | *MELCHIOR Louis*         |
+| **Dev**		  		  | *KIM Hyoseok*			 |
+| **Dev**		  		  | *ALIMEHNNI Hugues*		 |
+| **Dev**		  		  | *SANN Sokchivin*		 |
+| **Dev**		  		  | *BENCHETRIT Milan*		 |
+| **Dev**		  		  | *ALVES Alexandre*		 |
+
+## Bilan de l'itération précédente  
+### Évènements 
+*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.*
+> Guillaume n'avait pas accès à un ordinateur (problème lié à son ordinateur personnel)
+> L'équipe manquait d'organisation (manque de communication et tâches non définis)
+> Après réflexion, nous avons migrés sur Cloud9 (facilitant le travail parallèle)
+
+### Taux de complétion de l'itération  
+*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?*
+> 2 terminées / 3 prévues = 66%
+
+### Liste des User Stories terminées
+> Présentation général du site
+> Authentification
+
+## Rétrospective de l'itération précédente
+  
+### Bilans des retours et des précédentes actions 
+> Manque d'organisations et de communication : les membres de l'équipe ne savait pas quoi faire
+> Pas assez de stand up et état d'avancé du projet
+> Les USs étaient trop vagues et n'avaient pas été étudiées
+> Difficultés à prendre en mains Laravel (nouvel environnement de travail)
+
+### Actions prises pour la prochaine itération
+> Meilleure communication
+> Meilleure plannification des tâches (répartition et objectifs)
+> Nouvel axe de travail (recentré sur le MVP)
+
+### Axes d'améliorations 
+> PO : Doit être plus investi dans les prises de décisions concernant l'orientation du projet
+> SM : Doit être un élement clé pour la cohésion et la communication au sein de l'équipe
+> Dev : Doivent être plus présents dans la réalisation du projet, n'hésitant pas à faire part de leurs problèmes
+
+## Prévisions de l'itération suivante  
+### Évènements prévus  
+> Jeudi 9 Novembre 2017 : Forum de l'ENSIIE
+> Vendredi 10 Novembre 2017 : Réunion mi-sprint
+
+### Titre des User Stories reportées  
+> Réalisation du MVP (Dépose annonce et consultation)
+
+### Titre des nouvelles User Stories  
+> Recherche dans les annonces
+> Les US reportées
+
+## Confiance 
+### Taux de confiance de l'équipe dans l'itération  
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *0* 	    |  *0* 	|  *0* 	|
+
+### Taux de confiance de l'équipe pour la réalisation du projet 
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *0* 	    |  *0* 	|  *0* 	|
+
+ 
+ 
diff --git a/workspace/.c9/.nakignore b/workspace/.c9/.nakignore
new file mode 100644
index 0000000..6d30aa6
--- /dev/null
+++ b/workspace/.c9/.nakignore
@@ -0,0 +1,17 @@
+*~backup-*
+.c9revisions
+.c9
+.git
+.svn
+.DS_Store
+.bzr
+.cdv
+~.dep
+~.dot
+~.nib
+~.plst
+.hg
+.pc
+*.min.js
+.nakignore
+/dev
diff --git a/workspace/.c9/metadata/tab0 b/workspace/.c9/metadata/tab0
new file mode 100644
index 0000000..fc7861a
--- /dev/null
+++ b/workspace/.c9/metadata/tab0
@@ -0,0 +1 @@
+{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_445","cwd":"","width":0,"height":0,"scrollTop":-1},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab1 b/workspace/.c9/metadata/tab1
new file mode 100644
index 0000000..025572a
--- /dev/null
+++ b/workspace/.c9/metadata/tab1
@@ -0,0 +1 @@
+{"changed":false,"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":0,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["Welcome to the Javascript REPL. This REPL allows you to test any single or multi line code in","a browser based javascript environment (iframe). It operates similar to your browser console.",""],"id":4}]]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1396,"height":268,"scrollTop":1820.7778749465942,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":51241,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511102059323}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab12 b/workspace/.c9/metadata/tab12
new file mode 100644
index 0000000..adc7539
--- /dev/null
+++ b/workspace/.c9/metadata/tab12
@@ -0,0 +1 @@
+{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":0,"height":0,"scrollTop":-8,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":48604,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511142496888,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab13 b/workspace/.c9/metadata/tab13
new file mode 100644
index 0000000..6238335
--- /dev/null
+++ b/workspace/.c9/metadata/tab13
@@ -0,0 +1 @@
+{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":967,"height":190,"scrollTop":-3,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":13535,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}]}},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab14 b/workspace/.c9/metadata/tab14
new file mode 100644
index 0000000..65adc37
--- /dev/null
+++ b/workspace/.c9/metadata/tab14
@@ -0,0 +1 @@
+{"filter":false,"title":"Apache & PHP - Stopped","tooltip":"Apache & PHP - Stopped","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1005,"height":133,"scrollTop":-1,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true}},"timestamp":1510791062683,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab2 b/workspace/.c9/metadata/tab2
new file mode 100644
index 0000000..7266d7b
--- /dev/null
+++ b/workspace/.c9/metadata/tab2
@@ -0,0 +1 @@
+{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_880","cwd":"","width":1168,"height":152,"scrollTop":-1},"timestamp":1511025535699,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab39 b/workspace/.c9/metadata/tab39
new file mode 100644
index 0000000..7428bd6
--- /dev/null
+++ b/workspace/.c9/metadata/tab39
@@ -0,0 +1 @@
+{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_807","cwd":"","width":0,"height":0,"scrollTop":-1},"timestamp":1510601847072,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab4 b/workspace/.c9/metadata/tab4
new file mode 100644
index 0000000..4e03e98
--- /dev/null
+++ b/workspace/.c9/metadata/tab4
@@ -0,0 +1 @@
+{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1168,"height":152,"scrollTop":-5,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":23178,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511117161225,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/tab6 b/workspace/.c9/metadata/tab6
new file mode 100644
index 0000000..e263b86
--- /dev/null
+++ b/workspace/.c9/metadata/tab6
@@ -0,0 +1 @@
+{"filter":false,"title":"Apache & PHP - Stopped","tooltip":"Apache & PHP - Stopped","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":806,"height":121,"scrollTop":-1,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true}},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/BUG_REPORT b/workspace/.c9/metadata/workspace/BUG_REPORT
new file mode 100644
index 0000000..994efec
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/BUG_REPORT
@@ -0,0 +1 @@
+{"filter":false,"title":"BUG_REPORT","tooltip":"/BUG_REPORT","ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":2,"column":87},"end":{"row":2,"column":87},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"76876015f7c939112d83b184dd1745690464aade","undoManager":{"mark":92,"position":92,"stack":[[{"start":{"row":0,"column":38},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":2}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":3}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["L"],"id":4}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":[" "],"id":6}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["m"],"id":7}],[{"start":{"row":2,"column":4},"end":{"row":2,"column":5},"action":"insert","lines":["e"],"id":8}],[{"start":{"row":2,"column":5},"end":{"row":2,"column":6},"action":"insert","lines":["n"],"id":9}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":[" "],"id":11}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["d"],"id":12}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["é"],"id":13}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["r"],"id":14}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["u"],"id":16}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["l"],"id":17}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["n"],"id":19}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":["t"],"id":20}],[{"start":{"row":2,"column":17},"end":{"row":2,"column":18},"action":"insert","lines":[" "],"id":21}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["\""],"id":22}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":["\""],"id":23}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":["P"],"id":24}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["o"],"id":25}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"remove","lines":["o"],"id":26}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["r"],"id":27}],[{"start":{"row":2,"column":21},"end":{"row":2,"column":22},"action":"insert","lines":["o"],"id":28}],[{"start":{"row":2,"column":22},"end":{"row":2,"column":23},"action":"insert","lines":["d"],"id":29}],[{"start":{"row":2,"column":23},"end":{"row":2,"column":24},"action":"insert","lines":["u"],"id":30}],[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"insert","lines":["i"],"id":31}],[{"start":{"row":2,"column":25},"end":{"row":2,"column":26},"action":"insert","lines":["t"],"id":32}],[{"start":{"row":2,"column":26},"end":{"row":2,"column":27},"action":"insert","lines":["s"],"id":33}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":[" "],"id":34}],[{"start":{"row":2,"column":28},"end":{"row":2,"column":29},"action":"insert","lines":["b"],"id":35}],[{"start":{"row":2,"column":29},"end":{"row":2,"column":30},"action":"insert","lines":["u"],"id":36}],[{"start":{"row":2,"column":30},"end":{"row":2,"column":31},"action":"insert","lines":["g"],"id":37}],[{"start":{"row":2,"column":31},"end":{"row":2,"column":32},"action":"insert","lines":[" "],"id":38}],[{"start":{"row":2,"column":32},"end":{"row":2,"column":33},"action":"insert","lines":["a"],"id":39}],[{"start":{"row":2,"column":33},"end":{"row":2,"column":34},"action":"insert","lines":["u"],"id":40}],[{"start":{"row":2,"column":34},"end":{"row":2,"column":35},"action":"insert","lines":[" "],"id":41}],[{"start":{"row":2,"column":35},"end":{"row":2,"column":36},"action":"insert","lines":["m"],"id":42}],[{"start":{"row":2,"column":36},"end":{"row":2,"column":37},"action":"insert","lines":["o"],"id":43}],[{"start":{"row":2,"column":37},"end":{"row":2,"column":38},"action":"insert","lines":["m"],"id":44}],[{"start":{"row":2,"column":38},"end":{"row":2,"column":39},"action":"insert","lines":["e"],"id":45}],[{"start":{"row":2,"column":39},"end":{"row":2,"column":40},"action":"insert","lines":["n"],"id":46}],[{"start":{"row":2,"column":40},"end":{"row":2,"column":41},"action":"insert","lines":["t"],"id":47}],[{"start":{"row":2,"column":41},"end":{"row":2,"column":42},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":2,"column":42},"end":{"row":2,"column":43},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":2,"column":43},"end":{"row":2,"column":44},"action":"insert","lines":["e"],"id":50}],[{"start":{"row":2,"column":44},"end":{"row":2,"column":45},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":2,"column":45},"end":{"row":2,"column":46},"action":"insert","lines":["p"],"id":52}],[{"start":{"row":2,"column":46},"end":{"row":2,"column":47},"action":"insert","lines":["a"],"id":53}],[{"start":{"row":2,"column":47},"end":{"row":2,"column":48},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":2,"column":48},"end":{"row":2,"column":49},"action":"insert","lines":["s"],"id":55}],[{"start":{"row":2,"column":49},"end":{"row":2,"column":50},"action":"insert","lines":["e"],"id":56}],[{"start":{"row":2,"column":50},"end":{"row":2,"column":51},"action":"insert","lines":["r"],"id":57}],[{"start":{"row":2,"column":51},"end":{"row":2,"column":52},"action":"insert","lines":[" "],"id":58}],[{"start":{"row":2,"column":52},"end":{"row":2,"column":53},"action":"insert","lines":["d"],"id":59}],[{"start":{"row":2,"column":53},"end":{"row":2,"column":54},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":2,"column":54},"end":{"row":2,"column":55},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":2,"column":55},"end":{"row":2,"column":56},"action":"insert","lines":["s"],"id":62}],[{"start":{"row":2,"column":56},"end":{"row":2,"column":57},"action":"insert","lines":[" "],"id":63}],[{"start":{"row":2,"column":57},"end":{"row":2,"column":58},"action":"insert","lines":["l"],"id":64}],[{"start":{"row":2,"column":58},"end":{"row":2,"column":59},"action":"insert","lines":["a"],"id":65}],[{"start":{"row":2,"column":59},"end":{"row":2,"column":60},"action":"insert","lines":[" "],"id":66}],[{"start":{"row":2,"column":60},"end":{"row":2,"column":61},"action":"insert","lines":["l"],"id":67}],[{"start":{"row":2,"column":61},"end":{"row":2,"column":62},"action":"insert","lines":["i"],"id":68}],[{"start":{"row":2,"column":62},"end":{"row":2,"column":63},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":2,"column":63},"end":{"row":2,"column":64},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":2,"column":64},"end":{"row":2,"column":65},"action":"insert","lines":["e"],"id":71}],[{"start":{"row":2,"column":65},"end":{"row":2,"column":66},"action":"insert","lines":[" "],"id":72}],[{"start":{"row":2,"column":66},"end":{"row":2,"column":67},"action":"insert","lines":["["],"id":73}],[{"start":{"row":2,"column":67},"end":{"row":2,"column":68},"action":"insert","lines":["]"],"id":74}],[{"start":{"row":2,"column":67},"end":{"row":2,"column":68},"action":"insert","lines":["e"],"id":75}],[{"start":{"row":2,"column":68},"end":{"row":2,"column":69},"action":"insert","lines":["n"],"id":76}],[{"start":{"row":2,"column":69},"end":{"row":2,"column":70},"action":"insert","lines":[" "],"id":77}],[{"start":{"row":2,"column":70},"end":{"row":2,"column":71},"action":"insert","lines":["m"],"id":78}],[{"start":{"row":2,"column":71},"end":{"row":2,"column":72},"action":"insert","lines":["o"],"id":79}],[{"start":{"row":2,"column":72},"end":{"row":2,"column":73},"action":"insert","lines":["d"],"id":80}],[{"start":{"row":2,"column":73},"end":{"row":2,"column":74},"action":"insert","lines":["e"],"id":81}],[{"start":{"row":2,"column":74},"end":{"row":2,"column":75},"action":"insert","lines":[" "],"id":82}],[{"start":{"row":2,"column":75},"end":{"row":2,"column":76},"action":"insert","lines":["c"],"id":83}],[{"start":{"row":2,"column":76},"end":{"row":2,"column":77},"action":"insert","lines":["l"],"id":84}],[{"start":{"row":2,"column":77},"end":{"row":2,"column":78},"action":"insert","lines":["i"],"id":85}],[{"start":{"row":2,"column":78},"end":{"row":2,"column":79},"action":"insert","lines":["c"],"id":86}],[{"start":{"row":2,"column":79},"end":{"row":2,"column":80},"action":"insert","lines":[" "],"id":87}],[{"start":{"row":2,"column":80},"end":{"row":2,"column":81},"action":"insert","lines":["c"],"id":88}],[{"start":{"row":2,"column":81},"end":{"row":2,"column":82},"action":"insert","lines":["l"],"id":89}],[{"start":{"row":2,"column":82},"end":{"row":2,"column":83},"action":"insert","lines":["i"],"id":90}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"insert","lines":["v"],"id":91}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"remove","lines":["v"],"id":92}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"insert","lines":["c"],"id":93}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":["\""],"id":94}]]},"timestamp":1509111823219}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/README.md b/workspace/.c9/metadata/workspace/README.md
new file mode 100644
index 0000000..8e09f35
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/README.md
@@ -0,0 +1 @@
+{"filter":false,"title":"README.md","tooltip":"/README.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":81,"scrollleft":0,"selection":{"start":{"row":9,"column":32},"end":{"row":9,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":4,"state":"allowBlock","mode":"ace/mode/markdown"}},"timestamp":1504183309000,"hash":"f3c3031057ebac4d81bf6b1fbf69787aae7db358"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/README_SQL b/workspace/.c9/metadata/workspace/README_SQL
new file mode 100644
index 0000000..6ab8029
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/README_SQL
@@ -0,0 +1 @@
+{"filter":false,"title":"README_SQL","tooltip":"/README_SQL","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":[" "],"id":632}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["d"],"id":633}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["e"],"id":634}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["s"],"id":635}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":[" "],"id":636}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["D"],"id":637}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["B"],"id":638}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":[" "],"id":639}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["c"],"id":640}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":["r"],"id":641}],[{"start":{"row":2,"column":17},"end":{"row":2,"column":18},"action":"insert","lines":["é"],"id":642}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["e"],"id":643}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"remove","lines":["e"],"id":644}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["é"],"id":645}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":[" "],"id":646}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["p"],"id":647}],[{"start":{"row":2,"column":21},"end":{"row":2,"column":22},"action":"insert","lines":["o"],"id":648}],[{"start":{"row":2,"column":22},"end":{"row":2,"column":23},"action":"insert","lines":["u"],"id":649}],[{"start":{"row":2,"column":23},"end":{"row":2,"column":24},"action":"insert","lines":["r"],"id":650}],[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"insert","lines":[" "],"id":651}],[{"start":{"row":2,"column":25},"end":{"row":2,"column":26},"action":"insert","lines":["l"],"id":652}],[{"start":{"row":2,"column":26},"end":{"row":2,"column":27},"action":"insert","lines":["e"],"id":653}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":[" "],"id":654}],[{"start":{"row":2,"column":28},"end":{"row":2,"column":29},"action":"insert","lines":["s"],"id":655}],[{"start":{"row":2,"column":29},"end":{"row":2,"column":30},"action":"insert","lines":["i"],"id":656}],[{"start":{"row":2,"column":30},"end":{"row":2,"column":31},"action":"insert","lines":["t"],"id":657}],[{"start":{"row":2,"column":31},"end":{"row":2,"column":32},"action":"insert","lines":["e"],"id":658}],[{"start":{"row":2,"column":32},"end":{"row":2,"column":33},"action":"insert","lines":[" "],"id":659}],[{"start":{"row":2,"column":33},"end":{"row":2,"column":34},"action":"insert","lines":[":"],"id":660}],[{"start":{"row":2,"column":34},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":661}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":[">"],"id":662}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"remove","lines":[">"],"id":663}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["*"],"id":664}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":[" "],"id":665}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["p"],"id":666}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["r"],"id":667}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["o"],"id":668}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["d"],"id":669}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["u"],"id":670}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["c"],"id":671}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["t"],"id":672}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["s"],"id":673}],[{"start":{"row":3,"column":10},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":674}],[{"start":{"row":4,"column":0},"end":{"row":4,"column":1},"action":"insert","lines":["*"],"id":675}],[{"start":{"row":4,"column":1},"end":{"row":4,"column":2},"action":"insert","lines":[" "],"id":676}],[{"start":{"row":4,"column":2},"end":{"row":4,"column":3},"action":"insert","lines":[">"],"id":677}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["S"],"id":678}],[{"start":{"row":4,"column":4},"end":{"row":4,"column":5},"action":"insert","lines":["e"],"id":679}],[{"start":{"row":4,"column":5},"end":{"row":4,"column":6},"action":"insert","lines":["n"],"id":680}],[{"start":{"row":4,"column":6},"end":{"row":4,"column":7},"action":"insert","lines":["s"],"id":681}],[{"start":{"row":4,"column":7},"end":{"row":4,"column":8},"action":"insert","lines":["é"],"id":682}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":[" "],"id":683}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["r"],"id":684}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["e"],"id":685}],[{"start":{"row":4,"column":11},"end":{"row":4,"column":12},"action":"insert","lines":["g"],"id":686}],[{"start":{"row":4,"column":12},"end":{"row":4,"column":13},"action":"insert","lines":["r"],"id":687}],[{"start":{"row":4,"column":13},"end":{"row":4,"column":14},"action":"insert","lines":["o"],"id":688}],[{"start":{"row":4,"column":14},"end":{"row":4,"column":15},"action":"insert","lines":["u"],"id":689}],[{"start":{"row":4,"column":15},"end":{"row":4,"column":16},"action":"insert","lines":["p"],"id":690}],[{"start":{"row":4,"column":16},"end":{"row":4,"column":17},"action":"insert","lines":["e"],"id":691}],[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"insert","lines":["r"],"id":692}],[{"start":{"row":4,"column":18},"end":{"row":4,"column":19},"action":"insert","lines":[" "],"id":693}],[{"start":{"row":4,"column":19},"end":{"row":4,"column":20},"action":"insert","lines":["t"],"id":694}],[{"start":{"row":4,"column":20},"end":{"row":4,"column":21},"action":"insert","lines":["o"],"id":695}],[{"start":{"row":4,"column":21},"end":{"row":4,"column":22},"action":"insert","lines":["u"],"id":696}],[{"start":{"row":4,"column":22},"end":{"row":4,"column":23},"action":"insert","lines":["t"],"id":697}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"insert","lines":["e"],"id":698}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"insert","lines":["s"],"id":699}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"remove","lines":["s"],"id":700}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"remove","lines":["e"],"id":701}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"insert","lines":["s"],"id":702}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"insert","lines":[" "],"id":703}],[{"start":{"row":4,"column":25},"end":{"row":4,"column":26},"action":"insert","lines":["l"],"id":704}],[{"start":{"row":4,"column":26},"end":{"row":4,"column":27},"action":"insert","lines":["e"],"id":705}],[{"start":{"row":4,"column":27},"end":{"row":4,"column":28},"action":"insert","lines":["s"],"id":706}],[{"start":{"row":4,"column":28},"end":{"row":4,"column":29},"action":"insert","lines":[" "],"id":707}],[{"start":{"row":4,"column":29},"end":{"row":4,"column":30},"action":"insert","lines":["p"],"id":708}],[{"start":{"row":4,"column":30},"end":{"row":4,"column":31},"action":"insert","lines":["r"],"id":709}],[{"start":{"row":4,"column":31},"end":{"row":4,"column":32},"action":"insert","lines":["o"],"id":710}],[{"start":{"row":4,"column":32},"end":{"row":4,"column":33},"action":"insert","lines":["d"],"id":711}],[{"start":{"row":4,"column":33},"end":{"row":4,"column":34},"action":"insert","lines":["u"],"id":712}],[{"start":{"row":4,"column":34},"end":{"row":4,"column":35},"action":"insert","lines":["i"],"id":713}],[{"start":{"row":4,"column":35},"end":{"row":4,"column":36},"action":"insert","lines":["t"],"id":714}],[{"start":{"row":4,"column":36},"end":{"row":4,"column":37},"action":"insert","lines":["s"],"id":715}],[{"start":{"row":4,"column":37},"end":{"row":4,"column":38},"action":"insert","lines":[" "],"id":716}],[{"start":{"row":4,"column":38},"end":{"row":4,"column":39},"action":"insert","lines":["e"],"id":717}],[{"start":{"row":4,"column":39},"end":{"row":4,"column":40},"action":"insert","lines":["t"],"id":718}],[{"start":{"row":4,"column":40},"end":{"row":4,"column":41},"action":"insert","lines":[" "],"id":719}],[{"start":{"row":4,"column":41},"end":{"row":4,"column":42},"action":"insert","lines":["l"],"id":720}],[{"start":{"row":4,"column":42},"end":{"row":4,"column":43},"action":"insert","lines":["e"],"id":721}],[{"start":{"row":4,"column":43},"end":{"row":4,"column":44},"action":"insert","lines":["u"],"id":722}],[{"start":{"row":4,"column":44},"end":{"row":4,"column":45},"action":"insert","lines":["r"],"id":723}],[{"start":{"row":4,"column":45},"end":{"row":4,"column":46},"action":"insert","lines":["s"],"id":724}],[{"start":{"row":4,"column":46},"end":{"row":4,"column":47},"action":"insert","lines":[" "],"id":725}],[{"start":{"row":4,"column":47},"end":{"row":4,"column":48},"action":"insert","lines":["i"],"id":726}],[{"start":{"row":4,"column":48},"end":{"row":4,"column":49},"action":"insert","lines":["n"],"id":727}],[{"start":{"row":4,"column":49},"end":{"row":4,"column":50},"action":"insert","lines":["f"],"id":728}],[{"start":{"row":4,"column":50},"end":{"row":4,"column":51},"action":"insert","lines":["o"],"id":729}],[{"start":{"row":4,"column":51},"end":{"row":4,"column":52},"action":"insert","lines":["s"],"id":730}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"remove","lines":["S"],"id":731}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["C"],"id":732}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":3,"column":10},"end":{"row":3,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509115219485,"hash":"ca8a23b88d94f725a3fe7d5b6da378ef09a270df"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/Retro.2.md b/workspace/.c9/metadata/workspace/Retro.2.md
new file mode 100644
index 0000000..b2836cf
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/Retro.2.md
@@ -0,0 +1 @@
+{"filter":false,"title":"Retro.2.md","tooltip":"/Retro.2.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":49,"state":"allowBlock","mode":"ace/mode/markdown"}},"timestamp":1511173322048,"hash":"9125f62036c4325e5fe9cd7311de55a6e12be314"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php b/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php
new file mode 100644
index 0000000..f419a38
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Inspire.php","tooltip":"/app/Console/Commands/Inspire.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":350.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511014315717,"hash":"d52ce9da831ff9d5468a4bc9586db73cd907b5ba"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Console/Kernel.php b/workspace/.c9/metadata/workspace/app/Console/Kernel.php
new file mode 100644
index 0000000..4f03345
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Console/Kernel.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Kernel.php","tooltip":"/app/Console/Kernel.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511012612518,"hash":"647b764dd93381818c5d3e333cd54146ec5a352b"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Events/Event.php b/workspace/.c9/metadata/workspace/app/Events/Event.php
new file mode 100644
index 0000000..891c0db
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Events/Event.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Event.php","tooltip":"/app/Events/Event.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511014308619,"hash":"8bd74fbc098ce1ec94581427dbfb6a2b0c813613"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php b/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php
new file mode 100644
index 0000000..98c7c8a
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Handler.php","tooltip":"/app/Exceptions/Handler.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":490.94445514678955,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1509896002432,"hash":"023548c7411eff12a60b11d6e56e72953a84de2e"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php
new file mode 100644
index 0000000..525a5e3
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"AuthController.php","tooltip":"/app/Http/Controllers/Auth/AuthController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":540,"scrollleft":0,"selection":{"start":{"row":71,"column":5},"end":{"row":71,"column":5},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":33,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1510614841124,"hash":"b6f180dda37977a9eeed05f458458eff67c8b250"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php
new file mode 100644
index 0000000..a3bdd37
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"PasswordController.php","tooltip":"/app/Http/Controllers/Auth/PasswordController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":23,"column":39},"end":{"row":23,"column":39},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"1aa397e58ca70e16a7d8460621aab8c2c2da4d9a"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php
new file mode 100644
index 0000000..13ac66e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Controller.php","tooltip":"/app/Http/Controllers/Controller.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509349910702,"hash":"121135796b2d891d91b9f5a008e3e1970e268f8d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php
new file mode 100644
index 0000000..1bd5d68
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"HomeController.php","tooltip":"/app/Http/Controllers/HomeController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":59,"scrollleft":0,"selection":{"start":{"row":24,"column":27},"end":{"row":24,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509835773216,"hash":"8d862b47ee917a6a61fc6cf8b36a4c8c52b7c328"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php
new file mode 100644
index 0000000..fe9df21
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductRegisterController.php","tooltip":"/app/Http/Controllers/ProductRegisterController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":23,"column":5},"end":{"row":23,"column":5},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510601258198,"hash":"1ce3c5cb1626d4bf8f5a675e388440550b9e35d3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php
new file mode 100644
index 0000000..e7ee0e7
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductsController.php","tooltip":"/app/Http/Controllers/ProductsController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":19,"column":41},"end":{"row":19,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":true,"wrapToView":true},"firstLineState":0},"timestamp":1511140395199,"hash":"3fd9f068454134846d5ecfc62bf670b2ea0a71a5"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php
new file mode 100644
index 0000000..27f2d73
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"RegisterController.php","tooltip":"/app/Http/Controllers/RegisterController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":29,"column":28},"end":{"row":29,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":15,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509403997015,"hash":"94086a5186834fc5d8200d573505bcb95c97e643"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php
new file mode 100644
index 0000000..50cd217
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"UserController.php","tooltip":"/app/Http/Controllers/UserController.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":0,"column":0},"end":{"row":0,"column":1},"action":"insert","lines":["<"],"id":369}],[{"start":{"row":0,"column":1},"end":{"row":0,"column":2},"action":"insert","lines":["?"],"id":370}],[{"start":{"row":0,"column":2},"end":{"row":0,"column":3},"action":"insert","lines":["p"],"id":371}],[{"start":{"row":0,"column":3},"end":{"row":0,"column":4},"action":"insert","lines":["h"],"id":372}],[{"start":{"row":0,"column":4},"end":{"row":0,"column":5},"action":"insert","lines":["p"],"id":373}],[{"start":{"row":0,"column":5},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":374}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":375}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":[">"],"id":376}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":377}],[{"start":{"row":2,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["class ProductsController extends Controller","{"],"id":378}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":13},"action":"remove","lines":["Product"],"id":379}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"remove","lines":["s"],"id":380}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["U"],"id":381}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":["s"],"id":382}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["e"],"id":383}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["r"],"id":384}],[{"start":{"row":3,"column":1},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":385},{"start":{"row":4,"column":0},"end":{"row":4,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":4,"column":4},"end":{"row":5,"column":0},"action":"insert","lines":["",""],"id":386},{"start":{"row":5,"column":0},"end":{"row":5,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":5,"column":4},"end":{"row":5,"column":5},"action":"insert","lines":["}"],"id":387},{"start":{"row":5,"column":0},"end":{"row":5,"column":4},"action":"remove","lines":["    "]}],[{"start":{"row":5,"column":1},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":388}],[{"start":{"row":5,"column":0},"end":{"row":7,"column":0},"action":"insert","lines":["","    ",""],"id":389}],[{"start":{"row":6,"column":4},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":390},{"start":{"row":7,"column":0},"end":{"row":7,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":4,"column":4},"end":{"row":5,"column":5},"action":"insert","lines":["public function index()","    {"],"id":391}],[{"start":{"row":5,"column":5},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":392},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":6,"column":8},"end":{"row":6,"column":9},"action":"insert","lines":["}"],"id":393},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"remove","lines":["        "]},{"start":{"row":6,"column":0},"end":{"row":6,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":5,"column":5},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":394},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":6,"column":8},"end":{"row":6,"column":9},"action":"insert","lines":["r"],"id":395}],[{"start":{"row":6,"column":9},"end":{"row":6,"column":10},"action":"insert","lines":["e"],"id":396}],[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"insert","lines":["t"],"id":397}],[{"start":{"row":6,"column":11},"end":{"row":6,"column":12},"action":"insert","lines":["u"],"id":398}],[{"start":{"row":6,"column":12},"end":{"row":6,"column":13},"action":"insert","lines":["r"],"id":399}],[{"start":{"row":6,"column":13},"end":{"row":6,"column":14},"action":"insert","lines":["n"],"id":400}],[{"start":{"row":6,"column":14},"end":{"row":6,"column":15},"action":"insert","lines":[" "],"id":401}],[{"start":{"row":6,"column":15},"end":{"row":6,"column":16},"action":"insert","lines":["V"],"id":402}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["i"],"id":403}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["e"],"id":404}],[{"start":{"row":6,"column":18},"end":{"row":6,"column":19},"action":"insert","lines":["w"],"id":405}],[{"start":{"row":6,"column":19},"end":{"row":6,"column":20},"action":"insert","lines":[":"],"id":406}],[{"start":{"row":6,"column":20},"end":{"row":6,"column":21},"action":"insert","lines":[":"],"id":407}],[{"start":{"row":6,"column":21},"end":{"row":6,"column":22},"action":"insert","lines":["m"],"id":408}],[{"start":{"row":6,"column":22},"end":{"row":6,"column":23},"action":"insert","lines":["a"],"id":409}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"insert","lines":["k"],"id":410}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"insert","lines":["e"],"id":411}],[{"start":{"row":6,"column":25},"end":{"row":6,"column":27},"action":"insert","lines":["()"],"id":412}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["p"],"id":413}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["o"],"id":414}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":415}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["t"],"id":416}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"remove","lines":["t"],"id":417}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"remove","lines":["s"],"id":418}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"remove","lines":["o"],"id":419}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"remove","lines":["p"],"id":420}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["u"],"id":421}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"remove","lines":["u"],"id":422}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":28},"action":"insert","lines":["''"],"id":423}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["u"],"id":424}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":425}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["e"],"id":426}],[{"start":{"row":6,"column":30},"end":{"row":6,"column":31},"action":"insert","lines":["r"],"id":427}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["s"],"id":428}],[{"start":{"row":6,"column":32},"end":{"row":6,"column":33},"action":"insert","lines":["."],"id":429}],[{"start":{"row":6,"column":33},"end":{"row":6,"column":34},"action":"insert","lines":["i"],"id":430}],[{"start":{"row":6,"column":34},"end":{"row":6,"column":35},"action":"insert","lines":["n"],"id":431}],[{"start":{"row":6,"column":35},"end":{"row":6,"column":36},"action":"insert","lines":["d"],"id":432}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"insert","lines":["e"],"id":433}],[{"start":{"row":6,"column":37},"end":{"row":6,"column":38},"action":"insert","lines":["x"],"id":434}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["u"],"id":435}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":436}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["e"],"id":437}],[{"start":{"row":6,"column":30},"end":{"row":6,"column":31},"action":"insert","lines":["r"],"id":438}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["/"],"id":439}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"remove","lines":["s"],"id":440}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"remove","lines":["."],"id":441}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"insert","lines":["_"],"id":442}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"remove","lines":["/"],"id":443}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["."],"id":444}],[{"start":{"row":0,"column":0},"end":{"row":13,"column":1},"action":"remove","lines":["<?php","","class UserController extends Controller","{","    public function index()","    {","        return View::make('user.user_index')","    }","","    ","    ","}","",">"],"id":445},{"start":{"row":0,"column":0},"end":{"row":86,"column":1},"action":"insert","lines":["<?php","","namespace App\\Http\\Controllers;","","use Illuminate\\Http\\Request;","","use App\\Http\\Requests;","use App\\Http\\Controllers\\Controller;","","class UserController extends Controller","{","    /**","     * Display a listing of the resource.","     *","     * @return \\Illuminate\\Http\\Response","     */","    public function index()","    {","        //","    }","","    /**","     * Show the form for creating a new resource.","     *","     * @return \\Illuminate\\Http\\Response","     */","    public function create()","    {","        //","    }","","    /**","     * Store a newly created resource in storage.","     *","     * @param  \\Illuminate\\Http\\Request  $request","     * @return \\Illuminate\\Http\\Response","     */","    public function store(Request $request)","    {","        //","    }","","    /**","     * Display the specified resource.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function show($id)","    {","        //","    }","","    /**","     * Show the form for editing the specified resource.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function edit($id)","    {","        //","    }","","    /**","     * Update the specified resource in storage.","     *","     * @param  \\Illuminate\\Http\\Request  $request","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function update(Request $request, $id)","    {","        //","    }","","    /**","     * Remove the specified resource from storage.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function destroy($id)","    {","        //","    }","}"]}],[{"start":{"row":0,"column":0},"end":{"row":86,"column":1},"action":"remove","lines":["<?php","","namespace App\\Http\\Controllers;","","use Illuminate\\Http\\Request;","","use App\\Http\\Requests;","use App\\Http\\Controllers\\Controller;","","class UserController extends Controller","{","    /**","     * Display a listing of the resource.","     *","     * @return \\Illuminate\\Http\\Response","     */","    public function index()","    {","        //","    }","","    /**","     * Show the form for creating a new resource.","     *","     * @return \\Illuminate\\Http\\Response","     */","    public function create()","    {","        //","    }","","    /**","     * Store a newly created resource in storage.","     *","     * @param  \\Illuminate\\Http\\Request  $request","     * @return \\Illuminate\\Http\\Response","     */","    public function store(Request $request)","    {","        //","    }","","    /**","     * Display the specified resource.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function show($id)","    {","        //","    }","","    /**","     * Show the form for editing the specified resource.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function edit($id)","    {","        //","    }","","    /**","     * Update the specified resource in storage.","     *","     * @param  \\Illuminate\\Http\\Request  $request","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function update(Request $request, $id)","    {","        //","    }","","    /**","     * Remove the specified resource from storage.","     *","     * @param  int  $id","     * @return \\Illuminate\\Http\\Response","     */","    public function destroy($id)","    {","        //","    }","}"],"id":446},{"start":{"row":0,"column":0},"end":{"row":71,"column":1},"action":"insert","lines":["<?php","","namespace App\\Http\\Controllers;","","use App\\Http\\Requests\\UserCreateRequest;","use App\\Http\\Requests\\UserUpdateRequest;","","use App\\Repositories\\UserRepository;","","use Illuminate\\Http\\Request;","","class UserController extends Controller","{","","    protected $userRepository;","","    protected $nbrPerPage = 4;","","    public function __construct(UserRepository $userRepository)","    {","\t\t$this->userRepository = $userRepository;","\t}","","\tpublic function index()","\t{","\t\t$users = $this->userRepository->getPaginate($this->nbrPerPage);","\t\t$links = $users->render();","","\t\treturn view('index', compact('users', 'links'));","\t}","","\tpublic function create()","\t{","\t\treturn view('create');","\t}","","\tpublic function store(UserCreateRequest $request)","\t{","\t\t$user = $this->userRepository->store($request->all());","","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $user->name . \" a été créé.\");","\t}","","\tpublic function show($id)","\t{","\t\t$user = $this->userRepository->getById($id);","","\t\treturn view('show',  compact('user'));","\t}","","\tpublic function edit($id)","\t{","\t\t$user = $this->userRepository->getById($id);","","\t\treturn view('edit',  compact('user'));","\t}","","\tpublic function update(UserUpdateRequest $request, $id)","\t{","\t\t$this->userRepository->update($id, $request->all());","\t\t","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $request->input('name') . \" a été modifié.\");","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->userRepository->destroy($id);","","\t\treturn back();","\t}","","}"]}],[{"start":{"row":28,"column":15},"end":{"row":28,"column":16},"action":"insert","lines":["u"],"id":447}],[{"start":{"row":28,"column":16},"end":{"row":28,"column":17},"action":"insert","lines":["s"],"id":448}],[{"start":{"row":28,"column":17},"end":{"row":28,"column":18},"action":"insert","lines":["e"],"id":449}],[{"start":{"row":28,"column":18},"end":{"row":28,"column":19},"action":"insert","lines":["r"],"id":450}],[{"start":{"row":28,"column":19},"end":{"row":28,"column":20},"action":"insert","lines":["s"],"id":451}],[{"start":{"row":28,"column":20},"end":{"row":28,"column":21},"action":"insert","lines":["."],"id":452}],[{"start":{"row":28,"column":21},"end":{"row":28,"column":22},"action":"insert","lines":["u"],"id":453}],[{"start":{"row":28,"column":22},"end":{"row":28,"column":23},"action":"insert","lines":["s"],"id":454}],[{"start":{"row":28,"column":23},"end":{"row":28,"column":24},"action":"insert","lines":["e"],"id":455}],[{"start":{"row":28,"column":24},"end":{"row":28,"column":25},"action":"insert","lines":["r"],"id":456}],[{"start":{"row":28,"column":25},"end":{"row":28,"column":26},"action":"insert","lines":["_"],"id":457}],[{"start":{"row":33,"column":15},"end":{"row":33,"column":16},"action":"remove","lines":["c"],"id":458},{"start":{"row":33,"column":15},"end":{"row":33,"column":26},"action":"insert","lines":["users.user_"]}],[{"start":{"row":33,"column":26},"end":{"row":33,"column":27},"action":"insert","lines":["c"],"id":459}],[{"start":{"row":47,"column":15},"end":{"row":47,"column":26},"action":"insert","lines":["users.user_"],"id":460}],[{"start":{"row":54,"column":15},"end":{"row":54,"column":26},"action":"insert","lines":["users.user_"],"id":461}],[{"start":{"row":28,"column":19},"end":{"row":28,"column":20},"action":"remove","lines":["s"],"id":462}],[{"start":{"row":33,"column":19},"end":{"row":33,"column":20},"action":"remove","lines":["s"],"id":463}],[{"start":{"row":47,"column":19},"end":{"row":47,"column":20},"action":"remove","lines":["s"],"id":464}],[{"start":{"row":54,"column":19},"end":{"row":54,"column":20},"action":"remove","lines":["s"],"id":465}],[{"start":{"row":30,"column":0},"end":{"row":41,"column":2},"action":"remove","lines":["","\tpublic function create()","\t{","\t\treturn view('user.user_create');","\t}","","\tpublic function store(UserCreateRequest $request)","\t{","\t\t$user = $this->userRepository->store($request->all());","","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $user->name . \" a été créé.\");","\t}"],"id":466}],[{"start":{"row":29,"column":2},"end":{"row":30,"column":0},"action":"remove","lines":["",""],"id":467}],[{"start":{"row":52,"column":0},"end":{"row":58,"column":0},"action":"remove","lines":["\tpublic function destroy($id)","\t{","\t\t$this->userRepository->destroy($id);","","\t\treturn back();","\t}",""],"id":468}],[{"start":{"row":51,"column":0},"end":{"row":52,"column":0},"action":"remove","lines":["",""],"id":469}]]},"ace":{"folds":[],"scrolltop":500.4996795654297,"scrollleft":0,"selection":{"start":{"row":10,"column":0},"end":{"row":10,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":34,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511145434513,"hash":"763de57f7752ae8b07013f97142d830787248582"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php
new file mode 100644
index 0000000..714a8bc
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php
@@ -0,0 +1 @@
+{"filter":false,"title":"UsersController.php","tooltip":"/app/Http/Controllers/UsersController.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":13,"column":6},"end":{"row":13,"column":14},"action":"remove","lines":["Products"],"id":2},{"start":{"row":13,"column":6},"end":{"row":13,"column":7},"action":"insert","lines":["U"]}],[{"start":{"row":13,"column":7},"end":{"row":13,"column":8},"action":"insert","lines":["s"],"id":3}],[{"start":{"row":13,"column":8},"end":{"row":13,"column":9},"action":"insert","lines":["e"],"id":4}],[{"start":{"row":13,"column":9},"end":{"row":13,"column":10},"action":"insert","lines":["r"],"id":5}],[{"start":{"row":13,"column":10},"end":{"row":13,"column":11},"action":"insert","lines":["s"],"id":6}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":14,"column":1},"end":{"row":14,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511102285167,"hash":"d0001f6bcdf937e6a62e95a2af2297b4e49e80c3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Kernel.php b/workspace/.c9/metadata/workspace/app/Http/Kernel.php
new file mode 100644
index 0000000..1af094c
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Kernel.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Kernel.php","tooltip":"/app/Http/Kernel.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":180,"scrollleft":0,"selection":{"start":{"row":37,"column":0},"end":{"row":37,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":11,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1511142891687,"hash":"cf902993a9a125494a75be581f333f6d538c010f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php b/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php
new file mode 100644
index 0000000..3efcc1f
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Authenticate.php","tooltip":"/app/Http/Middleware/Authenticate.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":23,"column":43},"end":{"row":23,"column":43},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1461762072000,"hash":"a532a368cd6325fe193aabdf759f0890968b7a8b"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php
new file mode 100644
index 0000000..1e653b4
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductCreateRequest.php","tooltip":"/app/Http/Requests/ProductCreateRequest.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":34,"column":24},"end":{"row":34,"column":25},"action":"insert","lines":["/"],"id":301}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":302}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["i"],"id":303}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"remove","lines":["i"],"id":304}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":305}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":306}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":307}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":308}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":309}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":310}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["i"],"id":311}],[{"start":{"row":34,"column":27},"end":{"row":34,"column":28},"action":"insert","lines":["b"],"id":312}],[{"start":{"row":34,"column":28},"end":{"row":34,"column":29},"action":"insert","lines":["r"],"id":313}],[{"start":{"row":34,"column":29},"end":{"row":34,"column":30},"action":"insert","lines":["e"],"id":314}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["C"],"id":315}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["h"],"id":316}],[{"start":{"row":34,"column":27},"end":{"row":34,"column":28},"action":"insert","lines":["a"],"id":317}],[{"start":{"row":34,"column":28},"end":{"row":34,"column":29},"action":"insert","lines":["m"],"id":318}],[{"start":{"row":34,"column":29},"end":{"row":34,"column":30},"action":"insert","lines":["p"],"id":319}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"insert","lines":[" "],"id":320}],[{"start":{"row":34,"column":31},"end":{"row":34,"column":32},"action":"insert","lines":["l"],"id":321}],[{"start":{"row":34,"column":32},"end":{"row":34,"column":33},"action":"insert","lines":["i"],"id":322}],[{"start":{"row":34,"column":33},"end":{"row":34,"column":34},"action":"insert","lines":["b"],"id":323}],[{"start":{"row":34,"column":34},"end":{"row":34,"column":35},"action":"insert","lines":["r"],"id":324}],[{"start":{"row":34,"column":34},"end":{"row":34,"column":35},"action":"remove","lines":["r"],"id":325}],[{"start":{"row":34,"column":33},"end":{"row":34,"column":34},"action":"remove","lines":["b"],"id":326}],[{"start":{"row":34,"column":32},"end":{"row":34,"column":33},"action":"remove","lines":["i"],"id":327}],[{"start":{"row":34,"column":31},"end":{"row":34,"column":32},"action":"remove","lines":["l"],"id":328}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"insert","lines":["s"],"id":329}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"remove","lines":["s"],"id":330}],[{"start":{"row":34,"column":36},"end":{"row":35,"column":0},"action":"insert","lines":["",""],"id":331},{"start":{"row":35,"column":0},"end":{"row":35,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":5},"action":"insert","lines":["\"\""],"id":332}],[{"start":{"row":35,"column":4},"end":{"row":35,"column":5},"action":"remove","lines":["\""],"id":333}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":4},"action":"remove","lines":["\""],"id":334}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":5},"action":"insert","lines":["''"],"id":335}],[{"start":{"row":35,"column":4},"end":{"row":35,"column":5},"action":"insert","lines":["e"],"id":336}],[{"start":{"row":35,"column":5},"end":{"row":35,"column":6},"action":"insert","lines":["x"],"id":337}],[{"start":{"row":35,"column":6},"end":{"row":35,"column":7},"action":"insert","lines":["p"],"id":338}],[{"start":{"row":35,"column":7},"end":{"row":35,"column":8},"action":"insert","lines":["i"],"id":339}],[{"start":{"row":35,"column":8},"end":{"row":35,"column":9},"action":"insert","lines":["r"],"id":340}],[{"start":{"row":35,"column":9},"end":{"row":35,"column":10},"action":"insert","lines":["e"],"id":341}],[{"start":{"row":35,"column":10},"end":{"row":35,"column":11},"action":"insert","lines":["_"],"id":342}],[{"start":{"row":35,"column":11},"end":{"row":35,"column":12},"action":"insert","lines":["a"],"id":343}],[{"start":{"row":35,"column":12},"end":{"row":35,"column":13},"action":"insert","lines":["t"],"id":344}],[{"start":{"row":35,"column":14},"end":{"row":35,"column":15},"action":"insert","lines":[" "],"id":345}],[{"start":{"row":35,"column":15},"end":{"row":35,"column":16},"action":"insert","lines":["="],"id":346}],[{"start":{"row":35,"column":16},"end":{"row":35,"column":17},"action":"insert","lines":[">"],"id":347}],[{"start":{"row":35,"column":17},"end":{"row":35,"column":18},"action":"insert","lines":[" "],"id":348}],[{"start":{"row":35,"column":18},"end":{"row":35,"column":20},"action":"insert","lines":["''"],"id":349}],[{"start":{"row":35,"column":19},"end":{"row":35,"column":20},"action":"insert","lines":["r"],"id":350}],[{"start":{"row":35,"column":20},"end":{"row":35,"column":21},"action":"insert","lines":["e"],"id":351}],[{"start":{"row":35,"column":21},"end":{"row":35,"column":22},"action":"insert","lines":["q"],"id":352}],[{"start":{"row":35,"column":22},"end":{"row":35,"column":23},"action":"insert","lines":["u"],"id":353}],[{"start":{"row":35,"column":23},"end":{"row":35,"column":24},"action":"insert","lines":["i"],"id":354}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"insert","lines":["r"],"id":355}],[{"start":{"row":35,"column":25},"end":{"row":35,"column":26},"action":"insert","lines":["e"],"id":356}],[{"start":{"row":35,"column":26},"end":{"row":35,"column":27},"action":"insert","lines":["d"],"id":357}],[{"start":{"row":35,"column":27},"end":{"row":35,"column":28},"action":"insert","lines":["|"],"id":358}],[{"start":{"row":35,"column":28},"end":{"row":35,"column":29},"action":"insert","lines":["d"],"id":359}],[{"start":{"row":35,"column":29},"end":{"row":35,"column":30},"action":"insert","lines":["a"],"id":360}],[{"start":{"row":35,"column":30},"end":{"row":35,"column":31},"action":"insert","lines":["t"],"id":361}],[{"start":{"row":35,"column":31},"end":{"row":35,"column":32},"action":"insert","lines":["e"],"id":362}],[{"start":{"row":21,"column":67},"end":{"row":23,"column":7},"action":"insert","lines":["","     * ","     * "],"id":363,"ignore":true}],[{"start":{"row":23,"column":7},"end":{"row":23,"column":46},"action":"insert","lines":["https://laravel.com/docs/5.2/validation"],"id":364,"ignore":true}],[{"start":{"row":32,"column":31},"end":{"row":32,"column":34},"action":"remove","lines":["int"],"id":365},{"start":{"row":32,"column":31},"end":{"row":32,"column":32},"action":"insert","lines":["n"]}],[{"start":{"row":32,"column":32},"end":{"row":32,"column":33},"action":"insert","lines":["u"],"id":366}],[{"start":{"row":32,"column":33},"end":{"row":32,"column":34},"action":"insert","lines":["m"],"id":367}],[{"start":{"row":32,"column":34},"end":{"row":32,"column":35},"action":"insert","lines":["e"],"id":368}],[{"start":{"row":32,"column":35},"end":{"row":32,"column":36},"action":"insert","lines":["r"],"id":369}],[{"start":{"row":32,"column":36},"end":{"row":32,"column":37},"action":"insert","lines":["i"],"id":370}],[{"start":{"row":32,"column":37},"end":{"row":32,"column":38},"action":"insert","lines":["c"],"id":371}],[{"start":{"row":37,"column":33},"end":{"row":38,"column":0},"action":"insert","lines":["",""],"id":372},{"start":{"row":38,"column":0},"end":{"row":38,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":38,"column":3},"end":{"row":38,"column":5},"action":"insert","lines":["''"],"id":373}],[{"start":{"row":38,"column":4},"end":{"row":38,"column":5},"action":"insert","lines":["c"],"id":374}],[{"start":{"row":38,"column":5},"end":{"row":38,"column":6},"action":"insert","lines":["a"],"id":375}],[{"start":{"row":38,"column":6},"end":{"row":38,"column":7},"action":"insert","lines":["t"],"id":376}],[{"start":{"row":38,"column":7},"end":{"row":38,"column":8},"action":"insert","lines":["e"],"id":377}],[{"start":{"row":38,"column":8},"end":{"row":38,"column":9},"action":"insert","lines":["g"],"id":378}],[{"start":{"row":38,"column":9},"end":{"row":38,"column":10},"action":"insert","lines":["o"],"id":379}],[{"start":{"row":38,"column":10},"end":{"row":38,"column":11},"action":"insert","lines":["r"],"id":380}],[{"start":{"row":38,"column":11},"end":{"row":38,"column":12},"action":"insert","lines":["y"],"id":381}],[{"start":{"row":38,"column":13},"end":{"row":38,"column":14},"action":"insert","lines":[" "],"id":382}],[{"start":{"row":38,"column":14},"end":{"row":38,"column":15},"action":"insert","lines":["="],"id":383}],[{"start":{"row":38,"column":15},"end":{"row":38,"column":16},"action":"insert","lines":[">"],"id":384}],[{"start":{"row":38,"column":16},"end":{"row":38,"column":17},"action":"insert","lines":[" "],"id":385}],[{"start":{"row":23,"column":7},"end":{"row":23,"column":46},"action":"remove","lines":["https://laravel.com/docs/5.2/validation"],"id":386,"ignore":true},{"start":{"row":23,"column":7},"end":{"row":23,"column":73},"action":"insert","lines":["https://laravel.com/docs/5.2/validation#available-validation-rules"]}],[{"start":{"row":36,"column":3},"end":{"row":36,"column":4},"action":"insert","lines":["/"],"id":387}],[{"start":{"row":36,"column":4},"end":{"row":36,"column":5},"action":"insert","lines":["/"],"id":388}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"remove","lines":["/"],"id":389}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"remove","lines":["/"],"id":390}],[{"start":{"row":38,"column":16},"end":{"row":38,"column":17},"action":"insert","lines":[" "],"id":391}],[{"start":{"row":38,"column":17},"end":{"row":38,"column":19},"action":"insert","lines":["''"],"id":392}],[{"start":{"row":38,"column":18},"end":{"row":38,"column":19},"action":"insert","lines":["r"],"id":393}],[{"start":{"row":38,"column":19},"end":{"row":38,"column":20},"action":"insert","lines":["e"],"id":394}],[{"start":{"row":38,"column":20},"end":{"row":38,"column":21},"action":"insert","lines":["q"],"id":395}],[{"start":{"row":38,"column":21},"end":{"row":38,"column":22},"action":"insert","lines":["u"],"id":396}],[{"start":{"row":38,"column":22},"end":{"row":38,"column":23},"action":"insert","lines":["i"],"id":397}],[{"start":{"row":38,"column":23},"end":{"row":38,"column":24},"action":"insert","lines":["r"],"id":398}],[{"start":{"row":38,"column":24},"end":{"row":38,"column":25},"action":"insert","lines":["e"],"id":399}],[{"start":{"row":38,"column":25},"end":{"row":38,"column":26},"action":"insert","lines":["d"],"id":400}],[{"start":{"row":37,"column":33},"end":{"row":37,"column":34},"action":"insert","lines":[","],"id":401}]]},"ace":{"folds":[],"scrolltop":66,"scrollleft":0,"selection":{"start":{"row":31,"column":29},"end":{"row":31,"column":29},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":4,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510836875010,"hash":"7a697d6987e9ffa480084b53d83debe78c35d2dc"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php
new file mode 100644
index 0000000..88f05a8
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductRegisterRequest.php","tooltip":"/app/Http/Requests/ProductRegisterRequest.php","undoManager":{"mark":99,"position":99,"stack":[[{"start":{"row":15,"column":15},"end":{"row":15,"column":20},"action":"remove","lines":["false"],"id":2},{"start":{"row":15,"column":15},"end":{"row":15,"column":16},"action":"insert","lines":["t"]}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":18},"action":"insert","lines":["u"],"id":4}],[{"start":{"row":15,"column":18},"end":{"row":15,"column":19},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":26,"column":13},"end":{"row":26,"column":14},"action":"remove","lines":["/"],"id":6}],[{"start":{"row":26,"column":12},"end":{"row":26,"column":13},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"remove","lines":["    "],"id":8}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"insert","lines":["    "],"id":9}],[{"start":{"row":26,"column":12},"end":{"row":27,"column":31},"action":"insert","lines":["'nom' => 'required|alpha',","\t\t\t'prenom' => 'required|alpha'"],"id":10}],[{"start":{"row":27,"column":3},"end":{"row":27,"column":31},"action":"remove","lines":["'prenom' => 'required|alpha'"],"id":11},{"start":{"row":27,"column":3},"end":{"row":27,"column":44},"action":"insert","lines":["'email' => 'required|email|unique:users',"]}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"remove","lines":[","],"id":12}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"remove","lines":["r"],"id":13}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"remove","lines":["e"],"id":14}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"insert","lines":["p"],"id":17}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"insert","lines":["r"],"id":18}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"insert","lines":["d"],"id":20}],[{"start":{"row":27,"column":41},"end":{"row":27,"column":42},"action":"insert","lines":["u"],"id":21}],[{"start":{"row":27,"column":42},"end":{"row":27,"column":43},"action":"insert","lines":["c"],"id":22}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"insert","lines":["t"],"id":23}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"insert","lines":["s"],"id":24}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"remove","lines":["m"],"id":26}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"remove","lines":["o"],"id":27}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"insert","lines":["a"],"id":28}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"insert","lines":["m"],"id":29}],[{"start":{"row":26,"column":16},"end":{"row":26,"column":17},"action":"insert","lines":["e"],"id":30}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":[" "],"id":31}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["T"],"id":32}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["O"],"id":33}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["D"],"id":34}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["O"],"id":35}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":[" "],"id":36}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":13},"action":"insert","lines":["e"],"id":37}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["f"],"id":40}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["o"],"id":41}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["n"],"id":42}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":43}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["t"],"id":44}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["i"],"id":45}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["n"],"id":47}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":20,"column":24},"end":{"row":20,"column":25},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":20,"column":25},"end":{"row":20,"column":26},"action":"insert","lines":["u"],"id":50}],[{"start":{"row":20,"column":26},"end":{"row":20,"column":27},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":19,"column":58},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":52},{"start":{"row":20,"column":0},"end":{"row":20,"column":7},"action":"insert","lines":["     * "]}],[{"start":{"row":21,"column":27},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":53},{"start":{"row":22,"column":0},"end":{"row":22,"column":7},"action":"insert","lines":["     * "]}],[{"start":{"row":21,"column":27},"end":{"row":21,"column":28},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":21,"column":28},"end":{"row":21,"column":29},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":21,"column":29},"end":{"row":21,"column":30},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":21,"column":30},"end":{"row":21,"column":31},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":21,"column":31},"end":{"row":21,"column":32},"action":"insert","lines":["u"],"id":58}],[{"start":{"row":21,"column":32},"end":{"row":21,"column":33},"action":"insert","lines":["l"],"id":59}],[{"start":{"row":21,"column":33},"end":{"row":21,"column":34},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":21,"column":34},"end":{"row":21,"column":35},"action":"insert","lines":["i"],"id":61}],[{"start":{"row":21,"column":35},"end":{"row":21,"column":36},"action":"insert","lines":["r"],"id":62}],[{"start":{"row":21,"column":36},"end":{"row":21,"column":37},"action":"insert","lines":["e"],"id":63}],[{"start":{"row":21,"column":37},"end":{"row":21,"column":38},"action":"insert","lines":[" "],"id":64}],[{"start":{"row":21,"column":38},"end":{"row":21,"column":39},"action":"insert","lines":["d"],"id":65}],[{"start":{"row":21,"column":39},"end":{"row":21,"column":40},"action":"insert","lines":["'"],"id":66}],[{"start":{"row":21,"column":40},"end":{"row":21,"column":41},"action":"insert","lines":["e"],"id":67}],[{"start":{"row":21,"column":41},"end":{"row":21,"column":42},"action":"insert","lines":["n"],"id":68}],[{"start":{"row":21,"column":42},"end":{"row":21,"column":43},"action":"insert","lines":["r"],"id":69}],[{"start":{"row":21,"column":43},"end":{"row":21,"column":44},"action":"insert","lines":["e"],"id":70}],[{"start":{"row":21,"column":44},"end":{"row":21,"column":45},"action":"insert","lines":["g"],"id":71}],[{"start":{"row":21,"column":45},"end":{"row":21,"column":46},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":21,"column":46},"end":{"row":21,"column":47},"action":"insert","lines":["s"],"id":73}],[{"start":{"row":21,"column":47},"end":{"row":21,"column":48},"action":"insert","lines":["t"],"id":74}],[{"start":{"row":21,"column":48},"end":{"row":21,"column":49},"action":"insert","lines":["r"],"id":75}],[{"start":{"row":21,"column":49},"end":{"row":21,"column":50},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":21,"column":50},"end":{"row":21,"column":51},"action":"insert","lines":["m"],"id":77}],[{"start":{"row":21,"column":51},"end":{"row":21,"column":52},"action":"insert","lines":["e"],"id":78}],[{"start":{"row":21,"column":52},"end":{"row":21,"column":53},"action":"insert","lines":["n"],"id":79}],[{"start":{"row":21,"column":53},"end":{"row":21,"column":54},"action":"insert","lines":["t"],"id":80}],[{"start":{"row":21,"column":54},"end":{"row":21,"column":55},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":21,"column":55},"end":{"row":21,"column":56},"action":"insert","lines":["d"],"id":82}],[{"start":{"row":21,"column":56},"end":{"row":21,"column":57},"action":"insert","lines":["e"],"id":83}],[{"start":{"row":21,"column":57},"end":{"row":21,"column":58},"action":"insert","lines":[" "],"id":84}],[{"start":{"row":21,"column":58},"end":{"row":21,"column":59},"action":"insert","lines":["l"],"id":85}],[{"start":{"row":21,"column":59},"end":{"row":21,"column":60},"action":"insert","lines":["'"],"id":86}],[{"start":{"row":21,"column":60},"end":{"row":21,"column":61},"action":"insert","lines":["a"],"id":87}],[{"start":{"row":21,"column":61},"end":{"row":21,"column":62},"action":"insert","lines":["n"],"id":88}],[{"start":{"row":21,"column":62},"end":{"row":21,"column":63},"action":"insert","lines":["n"],"id":89}],[{"start":{"row":21,"column":63},"end":{"row":21,"column":64},"action":"insert","lines":["o"],"id":90}],[{"start":{"row":21,"column":64},"end":{"row":21,"column":65},"action":"insert","lines":["n"],"id":91}],[{"start":{"row":21,"column":65},"end":{"row":21,"column":66},"action":"insert","lines":["c"],"id":92}],[{"start":{"row":21,"column":66},"end":{"row":21,"column":67},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":6,"column":13},"end":{"row":6,"column":14},"action":"insert","lines":["R"],"id":94}],[{"start":{"row":6,"column":14},"end":{"row":6,"column":15},"action":"insert","lines":["e"],"id":95}],[{"start":{"row":6,"column":15},"end":{"row":6,"column":16},"action":"insert","lines":["g"],"id":96}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["i"],"id":97}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["s"],"id":98}],[{"start":{"row":6,"column":18},"end":{"row":6,"column":19},"action":"insert","lines":["t"],"id":99}],[{"start":{"row":6,"column":19},"end":{"row":6,"column":20},"action":"insert","lines":["e"],"id":100}],[{"start":{"row":6,"column":20},"end":{"row":6,"column":21},"action":"insert","lines":["r"],"id":101}]]},"ace":{"folds":[],"scrolltop":120,"scrollleft":0,"selection":{"start":{"row":6,"column":21},"end":{"row":6,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":19,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1510599488505,"hash":"477521e3f65f8ba33c97fef4f0cd18e24a1e7882"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php
new file mode 100644
index 0000000..dd01f2c
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductRequest.php","tooltip":"/app/Http/Requests/ProductRequest.php","undoManager":{"mark":91,"position":91,"stack":[[{"start":{"row":15,"column":15},"end":{"row":15,"column":20},"action":"remove","lines":["false"],"id":2},{"start":{"row":15,"column":15},"end":{"row":15,"column":16},"action":"insert","lines":["t"]}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":18},"action":"insert","lines":["u"],"id":4}],[{"start":{"row":15,"column":18},"end":{"row":15,"column":19},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":26,"column":13},"end":{"row":26,"column":14},"action":"remove","lines":["/"],"id":6}],[{"start":{"row":26,"column":12},"end":{"row":26,"column":13},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"remove","lines":["    "],"id":8}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"insert","lines":["    "],"id":9}],[{"start":{"row":26,"column":12},"end":{"row":27,"column":31},"action":"insert","lines":["'nom' => 'required|alpha',","\t\t\t'prenom' => 'required|alpha'"],"id":10}],[{"start":{"row":27,"column":3},"end":{"row":27,"column":31},"action":"remove","lines":["'prenom' => 'required|alpha'"],"id":11},{"start":{"row":27,"column":3},"end":{"row":27,"column":44},"action":"insert","lines":["'email' => 'required|email|unique:users',"]}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"remove","lines":[","],"id":12}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"remove","lines":["r"],"id":13}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"remove","lines":["e"],"id":14}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"insert","lines":["p"],"id":17}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"insert","lines":["r"],"id":18}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"insert","lines":["d"],"id":20}],[{"start":{"row":27,"column":41},"end":{"row":27,"column":42},"action":"insert","lines":["u"],"id":21}],[{"start":{"row":27,"column":42},"end":{"row":27,"column":43},"action":"insert","lines":["c"],"id":22}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"insert","lines":["t"],"id":23}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"insert","lines":["s"],"id":24}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"remove","lines":["m"],"id":26}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"remove","lines":["o"],"id":27}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"insert","lines":["a"],"id":28}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"insert","lines":["m"],"id":29}],[{"start":{"row":26,"column":16},"end":{"row":26,"column":17},"action":"insert","lines":["e"],"id":30}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":[" "],"id":31}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["T"],"id":32}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["O"],"id":33}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["D"],"id":34}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["O"],"id":35}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":[" "],"id":36}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":13},"action":"insert","lines":["e"],"id":37}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["f"],"id":40}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["o"],"id":41}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["n"],"id":42}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":43}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["t"],"id":44}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["i"],"id":45}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["n"],"id":47}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":20,"column":24},"end":{"row":20,"column":25},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":20,"column":25},"end":{"row":20,"column":26},"action":"insert","lines":["u"],"id":50}],[{"start":{"row":20,"column":26},"end":{"row":20,"column":27},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":19,"column":58},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":52},{"start":{"row":20,"column":0},"end":{"row":20,"column":7},"action":"insert","lines":["     * "]}],[{"start":{"row":21,"column":27},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":53},{"start":{"row":22,"column":0},"end":{"row":22,"column":7},"action":"insert","lines":["     * "]}],[{"start":{"row":21,"column":27},"end":{"row":21,"column":28},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":21,"column":28},"end":{"row":21,"column":29},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":21,"column":29},"end":{"row":21,"column":30},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":21,"column":30},"end":{"row":21,"column":31},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":21,"column":31},"end":{"row":21,"column":32},"action":"insert","lines":["u"],"id":58}],[{"start":{"row":21,"column":32},"end":{"row":21,"column":33},"action":"insert","lines":["l"],"id":59}],[{"start":{"row":21,"column":33},"end":{"row":21,"column":34},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":21,"column":34},"end":{"row":21,"column":35},"action":"insert","lines":["i"],"id":61}],[{"start":{"row":21,"column":35},"end":{"row":21,"column":36},"action":"insert","lines":["r"],"id":62}],[{"start":{"row":21,"column":36},"end":{"row":21,"column":37},"action":"insert","lines":["e"],"id":63}],[{"start":{"row":21,"column":37},"end":{"row":21,"column":38},"action":"insert","lines":[" "],"id":64}],[{"start":{"row":21,"column":38},"end":{"row":21,"column":39},"action":"insert","lines":["d"],"id":65}],[{"start":{"row":21,"column":39},"end":{"row":21,"column":40},"action":"insert","lines":["'"],"id":66}],[{"start":{"row":21,"column":40},"end":{"row":21,"column":41},"action":"insert","lines":["e"],"id":67}],[{"start":{"row":21,"column":41},"end":{"row":21,"column":42},"action":"insert","lines":["n"],"id":68}],[{"start":{"row":21,"column":42},"end":{"row":21,"column":43},"action":"insert","lines":["r"],"id":69}],[{"start":{"row":21,"column":43},"end":{"row":21,"column":44},"action":"insert","lines":["e"],"id":70}],[{"start":{"row":21,"column":44},"end":{"row":21,"column":45},"action":"insert","lines":["g"],"id":71}],[{"start":{"row":21,"column":45},"end":{"row":21,"column":46},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":21,"column":46},"end":{"row":21,"column":47},"action":"insert","lines":["s"],"id":73}],[{"start":{"row":21,"column":47},"end":{"row":21,"column":48},"action":"insert","lines":["t"],"id":74}],[{"start":{"row":21,"column":48},"end":{"row":21,"column":49},"action":"insert","lines":["r"],"id":75}],[{"start":{"row":21,"column":49},"end":{"row":21,"column":50},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":21,"column":50},"end":{"row":21,"column":51},"action":"insert","lines":["m"],"id":77}],[{"start":{"row":21,"column":51},"end":{"row":21,"column":52},"action":"insert","lines":["e"],"id":78}],[{"start":{"row":21,"column":52},"end":{"row":21,"column":53},"action":"insert","lines":["n"],"id":79}],[{"start":{"row":21,"column":53},"end":{"row":21,"column":54},"action":"insert","lines":["t"],"id":80}],[{"start":{"row":21,"column":54},"end":{"row":21,"column":55},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":21,"column":55},"end":{"row":21,"column":56},"action":"insert","lines":["d"],"id":82}],[{"start":{"row":21,"column":56},"end":{"row":21,"column":57},"action":"insert","lines":["e"],"id":83}],[{"start":{"row":21,"column":57},"end":{"row":21,"column":58},"action":"insert","lines":[" "],"id":84}],[{"start":{"row":21,"column":58},"end":{"row":21,"column":59},"action":"insert","lines":["l"],"id":85}],[{"start":{"row":21,"column":59},"end":{"row":21,"column":60},"action":"insert","lines":["'"],"id":86}],[{"start":{"row":21,"column":60},"end":{"row":21,"column":61},"action":"insert","lines":["a"],"id":87}],[{"start":{"row":21,"column":61},"end":{"row":21,"column":62},"action":"insert","lines":["n"],"id":88}],[{"start":{"row":21,"column":62},"end":{"row":21,"column":63},"action":"insert","lines":["n"],"id":89}],[{"start":{"row":21,"column":63},"end":{"row":21,"column":64},"action":"insert","lines":["o"],"id":90}],[{"start":{"row":21,"column":64},"end":{"row":21,"column":65},"action":"insert","lines":["n"],"id":91}],[{"start":{"row":21,"column":65},"end":{"row":21,"column":66},"action":"insert","lines":["c"],"id":92}],[{"start":{"row":21,"column":66},"end":{"row":21,"column":67},"action":"insert","lines":["e"],"id":93}]]},"ace":{"folds":[],"scrolltop":60,"scrollleft":0,"selection":{"start":{"row":21,"column":67},"end":{"row":21,"column":67},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510575579651,"hash":"2184a5005cb09babe6237590e0f2e46f50f59e94"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php
new file mode 100644
index 0000000..e39b452
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductUpdateRequest.php","tooltip":"/app/Http/Requests/ProductUpdateRequest.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":269,"scrollleft":0,"selection":{"start":{"row":33,"column":28},"end":{"row":33,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":36,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510837554289,"hash":"e2b60f6b5efb2bd73bd77f716522d261c96290a2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Http/routes.php b/workspace/.c9/metadata/workspace/app/Http/routes.php
new file mode 100644
index 0000000..2906348
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Http/routes.php
@@ -0,0 +1 @@
+{"filter":false,"title":"routes.php","tooltip":"/app/Http/routes.php","undoManager":{"mark":42,"position":42,"stack":[[{"start":{"row":28,"column":1},"end":{"row":28,"column":2},"action":"remove","lines":["/"],"id":3110}],[{"start":{"row":28,"column":0},"end":{"row":28,"column":1},"action":"remove","lines":["/"],"id":3111}],[{"start":{"row":30,"column":0},"end":{"row":30,"column":1},"action":"insert","lines":["/"],"id":3112}],[{"start":{"row":30,"column":1},"end":{"row":30,"column":2},"action":"insert","lines":["*"],"id":3113}],[{"start":{"row":57,"column":4},"end":{"row":57,"column":5},"action":"insert","lines":["*"],"id":3114}],[{"start":{"row":57,"column":5},"end":{"row":57,"column":6},"action":"insert","lines":["/"],"id":3115}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":0},"action":"insert","lines":["",""],"id":3116}],[{"start":{"row":29,"column":0},"end":{"row":29,"column":1},"action":"insert","lines":["R"],"id":3117}],[{"start":{"row":29,"column":1},"end":{"row":29,"column":2},"action":"insert","lines":["o"],"id":3118}],[{"start":{"row":29,"column":2},"end":{"row":29,"column":3},"action":"insert","lines":["u"],"id":3119}],[{"start":{"row":29,"column":3},"end":{"row":29,"column":4},"action":"insert","lines":["t"],"id":3120}],[{"start":{"row":29,"column":4},"end":{"row":29,"column":5},"action":"insert","lines":["e"],"id":3121}],[{"start":{"row":29,"column":5},"end":{"row":29,"column":6},"action":"insert","lines":[":"],"id":3122}],[{"start":{"row":29,"column":6},"end":{"row":29,"column":7},"action":"insert","lines":[":"],"id":3123}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"insert","lines":["g"],"id":3124}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"insert","lines":["e"],"id":3125}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"insert","lines":["t"],"id":3126}],[{"start":{"row":29,"column":10},"end":{"row":29,"column":12},"action":"insert","lines":["()"],"id":3127}],[{"start":{"row":29,"column":11},"end":{"row":29,"column":13},"action":"insert","lines":["''"],"id":3128}],[{"start":{"row":29,"column":12},"end":{"row":29,"column":13},"action":"insert","lines":["r"],"id":3129}],[{"start":{"row":29,"column":13},"end":{"row":29,"column":14},"action":"insert","lines":["e"],"id":3130}],[{"start":{"row":29,"column":14},"end":{"row":29,"column":15},"action":"insert","lines":["s"],"id":3131}],[{"start":{"row":29,"column":15},"end":{"row":29,"column":16},"action":"insert","lines":["e"],"id":3132}],[{"start":{"row":29,"column":16},"end":{"row":29,"column":17},"action":"insert","lines":["a"],"id":3133}],[{"start":{"row":29,"column":17},"end":{"row":29,"column":18},"action":"insert","lines":["r"],"id":3134}],[{"start":{"row":29,"column":18},"end":{"row":29,"column":19},"action":"insert","lines":["c"],"id":3135}],[{"start":{"row":29,"column":19},"end":{"row":29,"column":20},"action":"insert","lines":["h"],"id":3136}],[{"start":{"row":29,"column":20},"end":{"row":29,"column":21},"action":"insert","lines":[","],"id":3137}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"insert","lines":[" "],"id":3138}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"remove","lines":[" "],"id":3139}],[{"start":{"row":29,"column":20},"end":{"row":29,"column":21},"action":"remove","lines":[","],"id":3140}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"insert","lines":[","],"id":3141}],[{"start":{"row":29,"column":22},"end":{"row":29,"column":23},"action":"insert","lines":[" "],"id":3142}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":24},"action":"remove","lines":["","Route::get('research', )"],"id":3143}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":0},"action":"insert","lines":["",""],"id":3144}],[{"start":{"row":29,"column":0},"end":{"row":29,"column":55},"action":"insert","lines":["Route::post('research', 'ProductsController@research');"],"id":3145}],[{"start":{"row":29,"column":10},"end":{"row":29,"column":11},"action":"remove","lines":["t"],"id":3146}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"remove","lines":["s"],"id":3147}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"remove","lines":["o"],"id":3148}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"remove","lines":["p"],"id":3149}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"insert","lines":["g"],"id":3150}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"insert","lines":["e"],"id":3151}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"insert","lines":["t"],"id":3152}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":29,"column":10},"end":{"row":29,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511173613420,"hash":"c18575f06ee60c7749de27d3a56b215ea7d23648"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Product.php b/workspace/.c9/metadata/workspace/app/Product.php
new file mode 100644
index 0000000..bdd15e3
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Product.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Product.php","tooltip":"/app/Product.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":31},"end":{"row":10,"column":31},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511096764538,"hash":"e2c451d7d86c7a3a01a3fb0bdcd2be902c05a55c"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Products.php b/workspace/.c9/metadata/workspace/app/Products.php
new file mode 100644
index 0000000..2029cf4
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Products.php
@@ -0,0 +1 @@
+{"filter":false,"title":"Products.php","tooltip":"/app/Products.php","undoManager":{"mark":10,"position":10,"stack":[[{"start":{"row":8,"column":0},"end":{"row":8,"column":6},"action":"remove","lines":["    //"],"id":2},{"start":{"row":8,"column":0},"end":{"row":10,"column":31},"action":"insert","lines":["    protected $table = 'emails';","    ","    public $timestamps = false;"]}],[{"start":{"row":8,"column":24},"end":{"row":8,"column":30},"action":"remove","lines":["emails"],"id":3},{"start":{"row":8,"column":24},"end":{"row":8,"column":25},"action":"insert","lines":["p"]}],[{"start":{"row":8,"column":25},"end":{"row":8,"column":26},"action":"insert","lines":["r"],"id":4}],[{"start":{"row":8,"column":26},"end":{"row":8,"column":27},"action":"insert","lines":["o"],"id":5}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["t"],"id":6}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"remove","lines":["t"],"id":7}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["d"],"id":8}],[{"start":{"row":8,"column":28},"end":{"row":8,"column":29},"action":"insert","lines":["u"],"id":9}],[{"start":{"row":8,"column":29},"end":{"row":8,"column":30},"action":"insert","lines":["c"],"id":10}],[{"start":{"row":8,"column":30},"end":{"row":8,"column":31},"action":"insert","lines":["t"],"id":11}],[{"start":{"row":8,"column":31},"end":{"row":8,"column":32},"action":"insert","lines":["s"],"id":12}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":8,"column":32},"end":{"row":8,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510574972447,"hash":"d380dceff2020dfdb0677fd13249866c186eeddf"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php b/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php
new file mode 100644
index 0000000..2a053e5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php
@@ -0,0 +1 @@
+{"filter":false,"title":"RouteServiceProvider.php","tooltip":"/app/Providers/RouteServiceProvider.php","undoManager":{"mark":9,"position":9,"stack":[[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"remove","lines":["/"],"id":2}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"insert","lines":["*"],"id":3}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"insert","lines":["/"],"id":4}],[{"start":{"row":39,"column":8},"end":{"row":39,"column":9},"action":"insert","lines":["/"],"id":5}],[{"start":{"row":39,"column":9},"end":{"row":39,"column":10},"action":"insert","lines":["/"],"id":6}],[{"start":{"row":39,"column":9},"end":{"row":39,"column":10},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":39,"column":8},"end":{"row":39,"column":9},"action":"remove","lines":["/"],"id":8}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"remove","lines":["/"],"id":9}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"remove","lines":["*"],"id":10}],[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"insert","lines":["/"],"id":11}]]},"ace":{"folds":[],"scrolltop":660,"scrollleft":0,"selection":{"start":{"row":51,"column":7},"end":{"row":51,"column":7},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":41,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511143310464,"hash":"a75c967dc07e55b3c55016c942375655f6d27381"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php b/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php
new file mode 100644
index 0000000..150792f
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ProductRepository.php","tooltip":"/app/Repositories/ProductRepository.php","undoManager":{"mark":13,"position":13,"stack":[[{"start":{"row":68,"column":28},"end":{"row":68,"column":29},"action":"insert","lines":["'"],"id":1}],[{"start":{"row":68,"column":29},"end":{"row":68,"column":30},"action":"insert","lines":["%"],"id":2}],[{"start":{"row":68,"column":30},"end":{"row":68,"column":31},"action":"insert","lines":["'"],"id":3}],[{"start":{"row":68,"column":31},"end":{"row":68,"column":32},"action":"insert","lines":["."],"id":4}],[{"start":{"row":68,"column":37},"end":{"row":68,"column":38},"action":"insert","lines":["."],"id":5}],[{"start":{"row":68,"column":38},"end":{"row":68,"column":40},"action":"insert","lines":["''"],"id":6}],[{"start":{"row":68,"column":39},"end":{"row":68,"column":40},"action":"insert","lines":["%"],"id":7}],[{"start":{"row":69,"column":36},"end":{"row":69,"column":41},"action":"remove","lines":["$data"],"id":8},{"start":{"row":69,"column":36},"end":{"row":69,"column":49},"action":"insert","lines":["'%'.$data.'%'"]}],[{"start":{"row":68,"column":37},"end":{"row":68,"column":39},"action":"insert","lines":["[]"],"id":9}],[{"start":{"row":68,"column":38},"end":{"row":68,"column":40},"action":"insert","lines":["''"],"id":10}],[{"start":{"row":68,"column":39},"end":{"row":68,"column":40},"action":"insert","lines":["r"],"id":11}],[{"start":{"row":69,"column":45},"end":{"row":69,"column":47},"action":"insert","lines":["[]"],"id":12}],[{"start":{"row":69,"column":46},"end":{"row":69,"column":48},"action":"insert","lines":["''"],"id":13}],[{"start":{"row":69,"column":47},"end":{"row":69,"column":48},"action":"insert","lines":["r"],"id":14}]]},"ace":{"folds":[],"scrolltop":1065.400000000001,"scrollleft":0,"selection":{"start":{"row":79,"column":35},"end":{"row":79,"column":35},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511172546631,"hash":"41de598f9dbfe0ab11d78cc2e83b713e282a71c9"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php b/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php
new file mode 100644
index 0000000..083e395
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php
@@ -0,0 +1 @@
+{"filter":false,"title":"UserRepository.php","tooltip":"/app/Repositories/UserRepository.php","undoManager":{"mark":24,"position":24,"stack":[[{"start":{"row":0,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["<?php","","namespace App\\Repositories;","","use App\\User;","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class UserRepository","{","","    protected $product;","","    public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":13}],[{"start":{"row":0,"column":0},"end":{"row":91,"column":0},"action":"insert","lines":["<?php","","namespace App\\Repositories;","","use App\\Product;","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class ProductRepository","{","","    protected $product;","","    public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","\t/* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */","\tpublic function getByString($data,$n)","\t{","\t\treturn $this->product","\t\t\t->where('title', 'LIKE', $data)","\t\t\t->orwhere('description', 'LIKE', $data)","\t\t\t->paginate($n);","\t}","\t","\t/* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */","\tpublic function getByDate($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":14}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":12},"action":"remove","lines":[" Produc"],"id":15}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"remove","lines":["t"],"id":16}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"remove","lines":["R"],"id":17}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"insert","lines":[" "],"id":18}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"insert","lines":["E"],"id":19}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"insert","lines":["m"],"id":20}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"insert","lines":["a"],"id":21}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"remove","lines":["a"],"id":22}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"remove","lines":["m"],"id":23}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"remove","lines":["E"],"id":24}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"insert","lines":["U"],"id":25}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"insert","lines":["s"],"id":26}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"insert","lines":["e"],"id":27}],[{"start":{"row":12,"column":9},"end":{"row":12,"column":10},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":12,"column":10},"end":{"row":12,"column":11},"action":"insert","lines":["R"],"id":29}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":15},"action":"remove","lines":["roduct"],"id":30}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":[";"],"id":31}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"remove","lines":["P"],"id":32}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":["U"],"id":33}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["s"],"id":34}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["e"],"id":35}],[{"start":{"row":4,"column":11},"end":{"row":4,"column":12},"action":"insert","lines":["r"],"id":36}],[{"start":{"row":0,"column":0},"end":{"row":91,"column":0},"action":"remove","lines":["<?php","","namespace App\\Repositories;","","use App\\User","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class UserRepository","{","","    protected $product;","","    public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","\t/* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */","\tpublic function getByString($data,$n)","\t{","\t\treturn $this->product","\t\t\t->where('title', 'LIKE', $data)","\t\t\t->orwhere('description', 'LIKE', $data)","\t\t\t->paginate($n);","\t}","\t","\t/* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */","\tpublic function getByDate($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":37},{"start":{"row":0,"column":0},"end":{"row":55,"column":1},"action":"insert","lines":["<?php","","namespace App\\Repositories;","","use App\\User;","","class UserRepository","{","","    protected $user;","","    public function __construct(User $user)","\t{","\t\t$this->user = $user;","\t}","","\tprivate function save(User $user, Array $inputs)","\t{","\t\t$user->name = $inputs['name'];","\t\t$user->email = $inputs['email'];\t","\t\t$user->admin = isset($inputs['admin']);\t","","\t\t$user->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->user->paginate($n);","\t}","","\tpublic function store(Array $inputs)","\t{","\t\t$user = new $this->user;\t\t","\t\t$user->password = bcrypt($inputs['password']);","","\t\t$this->save($user, $inputs);","","\t\treturn $user;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->user->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}"]}]]},"ace":{"folds":[],"scrolltop":300,"scrollleft":0,"selection":{"start":{"row":23,"column":2},"end":{"row":23,"column":2},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511143127275,"hash":"87785b12ff48d30d9fc551766422264e50d6ac3f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/app/User.php b/workspace/.c9/metadata/workspace/app/User.php
new file mode 100644
index 0000000..5018e14
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/app/User.php
@@ -0,0 +1 @@
+{"filter":false,"title":"User.php","tooltip":"/app/User.php","undoManager":{"mark":1,"position":1,"stack":[[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"insert","lines":["s"],"id":2}],[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"remove","lines":["s"],"id":3}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":32},"end":{"row":18,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511102724425,"hash":"e892c3a64aa6ba6e436db9ff11a628c2c16fac19"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php b/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php
new file mode 100644
index 0000000..7ae9c58
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php
@@ -0,0 +1 @@
+{"filter":false,"title":"routes.php","tooltip":"/bonsaiie/app/Http/routes.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":1},"end":{"row":6,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508807209434,"hash":"0ec4753bb3feb8afac72c23cdff1f4f12df32ede"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bonsaiie/public/index.php b/workspace/.c9/metadata/workspace/bonsaiie/public/index.php
new file mode 100644
index 0000000..8ceb506
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bonsaiie/public/index.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.php","tooltip":"/bonsaiie/public/index.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"b41f4a5149b9cece436793ffe9b13d3144fa0980"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php
new file mode 100644
index 0000000..cb4338e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header.blade.php","tooltip":"/bonsaiie/resources/views/header.blade.php","ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":11,"column":28},"end":{"row":11,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"97affbb35c5b15e6e071978db7fc6cc60e1fc683","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1508781266821}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php
new file mode 100644
index 0000000..694a38d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.blade.php","tooltip":"/bonsaiie/resources/views/index.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508781266741,"hash":"5c53e72997d59abd63380a610a53941b99952dca"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php
new file mode 100644
index 0000000..1e94b0b
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.php","tooltip":"/bonsaiie/resources/views/index.php","ace":{},"undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1508769387197,"hash":"c8251f6a94a1837f7f90bb18d781e2acfd254f31"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bootstrap/app.php b/workspace/.c9/metadata/workspace/bootstrap/app.php
new file mode 100644
index 0000000..4e35fab
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bootstrap/app.php
@@ -0,0 +1 @@
+{"filter":false,"title":"app.php","tooltip":"/bootstrap/app.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":543.8333745002747,"scrollleft":0,"selection":{"start":{"row":43,"column":2},"end":{"row":43,"column":2},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509143301819,"hash":"3f769f0f6e953fe4f68f488e494accfc9ba91d50"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bootstrap/autoload.php b/workspace/.c9/metadata/workspace/bootstrap/autoload.php
new file mode 100644
index 0000000..b23b7e8
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bootstrap/autoload.php
@@ -0,0 +1 @@
+{"filter":false,"title":"autoload.php","tooltip":"/bootstrap/autoload.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":217.1666922569275,"scrollleft":0,"selection":{"start":{"row":34,"column":0},"end":{"row":34,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509956766612,"hash":"1b3ec5f38f034402338768130af1381b490c2d35"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/bootstrap/cache/services.php b/workspace/.c9/metadata/workspace/bootstrap/cache/services.php
new file mode 100644
index 0000000..6ef63e5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/bootstrap/cache/services.php
@@ -0,0 +1 @@
+{"filter":false,"title":"services.php","tooltip":"/bootstrap/cache/services.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":2678.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":166,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511012733498,"hash":"36044762789ff96d76ae13308a3e2bb1a2f45894"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/composer.json b/workspace/.c9/metadata/workspace/composer.json
new file mode 100644
index 0000000..69bd12b
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/composer.json
@@ -0,0 +1 @@
+{"filter":false,"title":"composer.json","tooltip":"/composer.json","undoManager":{"mark":27,"position":27,"stack":[[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"insert","lines":["",""],"id":11},{"start":{"row":11,"column":0},"end":{"row":11,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":11,"column":8},"end":{"row":11,"column":33},"action":"insert","lines":["\"illuminate/html\": \"5.*\","],"id":12}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":24},"action":"remove","lines":["html"],"id":13},{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"insert","lines":["f"]}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"insert","lines":["o"],"id":14}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["u"],"id":15}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["n"],"id":16}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"insert","lines":["d"],"id":17}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"insert","lines":["t"],"id":19}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"insert","lines":["i"],"id":20}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"insert","lines":["o"],"id":21}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"insert","lines":["n"],"id":22}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"remove","lines":["."],"id":23}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["5"],"id":24}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["*"],"id":25}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"insert","lines":["1"],"id":26}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"insert","lines":["."],"id":27}],[{"start":{"row":11,"column":36},"end":{"row":11,"column":37},"action":"insert","lines":["*"],"id":28}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"insert","lines":["",""],"id":29},{"start":{"row":11,"column":0},"end":{"row":11,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":11,"column":4},"end":{"row":11,"column":8},"action":"remove","lines":["    "],"id":30}],[{"start":{"row":11,"column":0},"end":{"row":11,"column":4},"action":"remove","lines":["    "],"id":31}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"remove","lines":["",""],"id":32}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":29},"action":"remove","lines":["foundatio"],"id":33}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["/"],"id":34}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["n"],"id":35}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"remove","lines":["1"],"id":36}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["5"],"id":37}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":28},"action":"remove","lines":["","        \"illuminate\": \"5.*\","],"id":38}]]},"ace":{"folds":[],"scrolltop":259.9997253417969,"scrollleft":0,"selection":{"start":{"row":31,"column":9},"end":{"row":31,"column":9},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":17,"state":"start","mode":"ace/mode/json"}},"timestamp":1509895305382,"hash":"abf72a736ece2a448a039d7e97e77b3c58060191"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/app.php b/workspace/.c9/metadata/workspace/config/app.php
new file mode 100644
index 0000000..9710f29
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/app.php
@@ -0,0 +1 @@
+{"filter":false,"title":"app.php","tooltip":"/config/app.php","undoManager":{"mark":55,"position":55,"stack":[[{"start":{"row":187,"column":57},"end":{"row":188,"column":0},"action":"insert","lines":["",""],"id":2},{"start":{"row":188,"column":0},"end":{"row":188,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":188,"column":8},"end":{"row":188,"column":59},"action":"insert","lines":["'Input' => Illuminate\\Support\\Facades\\Input::class,"],"id":3}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"insert","lines":["",""],"id":4},{"start":{"row":193,"column":0},"end":{"row":193,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":10},"action":"insert","lines":["''"],"id":5}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"insert","lines":["P"],"id":6}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"insert","lines":["r"],"id":7}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"insert","lines":["o"],"id":8}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"insert","lines":["d"],"id":9}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"insert","lines":["c"],"id":11}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"insert","lines":["t"],"id":12}],[{"start":{"row":193,"column":16},"end":{"row":193,"column":17},"action":"remove","lines":["'"],"id":13}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"remove","lines":["t"],"id":14}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"remove","lines":["c"],"id":15}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"remove","lines":["d"],"id":17}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"remove","lines":["o"],"id":18}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"remove","lines":["r"],"id":19}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"remove","lines":["P"],"id":20}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":9},"action":"remove","lines":["'"],"id":21}],[{"start":{"row":193,"column":4},"end":{"row":193,"column":8},"action":"remove","lines":["    "],"id":22}],[{"start":{"row":193,"column":0},"end":{"row":193,"column":4},"action":"remove","lines":["    "],"id":23}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"remove","lines":["",""],"id":24}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"insert","lines":["",""],"id":25},{"start":{"row":193,"column":0},"end":{"row":193,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":10},"action":"insert","lines":["''"],"id":26}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"insert","lines":["P"],"id":27}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"insert","lines":["o"],"id":29}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"insert","lines":["d"],"id":30}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"insert","lines":["u"],"id":31}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"insert","lines":["c"],"id":32}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"insert","lines":["t"],"id":33}],[{"start":{"row":193,"column":17},"end":{"row":193,"column":18},"action":"insert","lines":[" "],"id":34}],[{"start":{"row":193,"column":18},"end":{"row":193,"column":19},"action":"insert","lines":["="],"id":35}],[{"start":{"row":193,"column":19},"end":{"row":193,"column":20},"action":"insert","lines":[">"],"id":36}],[{"start":{"row":193,"column":20},"end":{"row":193,"column":21},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":193,"column":21},"end":{"row":193,"column":22},"action":"insert","lines":["A"],"id":38}],[{"start":{"row":193,"column":22},"end":{"row":193,"column":23},"action":"insert","lines":["p"],"id":39}],[{"start":{"row":193,"column":23},"end":{"row":193,"column":24},"action":"insert","lines":["p"],"id":40}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"insert","lines":["/"],"id":41}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"remove","lines":["/"],"id":42}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"insert","lines":["\\"],"id":43}],[{"start":{"row":193,"column":25},"end":{"row":193,"column":26},"action":"insert","lines":["P"],"id":44}],[{"start":{"row":193,"column":26},"end":{"row":193,"column":27},"action":"insert","lines":["r"],"id":45}],[{"start":{"row":193,"column":27},"end":{"row":193,"column":28},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":193,"column":25},"end":{"row":193,"column":28},"action":"remove","lines":["Pro"],"id":47},{"start":{"row":193,"column":25},"end":{"row":193,"column":32},"action":"insert","lines":["Product"]}],[{"start":{"row":193,"column":32},"end":{"row":193,"column":33},"action":"insert","lines":[":"],"id":48}],[{"start":{"row":193,"column":33},"end":{"row":193,"column":34},"action":"insert","lines":[":"],"id":49}],[{"start":{"row":193,"column":34},"end":{"row":193,"column":35},"action":"insert","lines":["c"],"id":50}],[{"start":{"row":193,"column":35},"end":{"row":193,"column":36},"action":"insert","lines":["l"],"id":51}],[{"start":{"row":193,"column":36},"end":{"row":193,"column":37},"action":"insert","lines":["a"],"id":52}],[{"start":{"row":193,"column":37},"end":{"row":193,"column":38},"action":"insert","lines":["s"],"id":53}],[{"start":{"row":193,"column":38},"end":{"row":193,"column":39},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"insert","lines":[";"],"id":55}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"remove","lines":[";"],"id":56}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"insert","lines":[","],"id":57}]]},"ace":{"folds":[],"scrolltop":2442.055600166321,"scrollleft":0,"selection":{"start":{"row":188,"column":8},"end":{"row":188,"column":8},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":168,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1511139802389,"hash":"1c7fc3cd50e9f4b0ca97daff86d32e7f34ff8b80"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/auth.php b/workspace/.c9/metadata/workspace/config/auth.php
new file mode 100644
index 0000000..26e8ac3
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/auth.php
@@ -0,0 +1 @@
+{"filter":false,"title":"auth.php","tooltip":"/config/auth.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":1534.5,"scrollleft":0,"selection":{"start":{"row":107,"column":0},"end":{"row":107,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":94,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509439809285,"hash":"176040c90ee997efefaa93c44a9bbb4fe5072891"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/broadcasting.php b/workspace/.c9/metadata/workspace/config/broadcasting.php
new file mode 100644
index 0000000..e0e3465
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/broadcasting.php
@@ -0,0 +1 @@
+{"filter":false,"title":"broadcasting.php","tooltip":"/config/broadcasting.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":479,"scrollleft":0,"selection":{"start":{"row":52,"column":0},"end":{"row":52,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":28,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509439813191,"hash":"0ca9d7946f6a2a030b6cc16cee2b1d23ed7586a2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/cache.php b/workspace/.c9/metadata/workspace/config/cache.php
new file mode 100644
index 0000000..2dfeeff
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/cache.php
@@ -0,0 +1 @@
+{"filter":false,"title":"cache.php","tooltip":"/config/cache.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":287,"scrollleft":0,"selection":{"start":{"row":40,"column":25},"end":{"row":40,"column":25},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":16,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509956949176,"hash":"3796c0515a1a3ba430ecbee3c44688f21cedca4c"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/compile.php b/workspace/.c9/metadata/workspace/config/compile.php
new file mode 100644
index 0000000..f457093
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/compile.php
@@ -0,0 +1 @@
+{"filter":false,"title":"compile.php","tooltip":"/config/compile.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":382.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":22,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1511012761518,"hash":"aa12ac5c487555719e494e35c18bbdba37918956"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/database.php b/workspace/.c9/metadata/workspace/config/database.php
new file mode 100644
index 0000000..b5960e2
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/database.php
@@ -0,0 +1 @@
+{"filter":false,"title":"database.php","tooltip":"/config/database.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":501,"scrollleft":0,"selection":{"start":{"row":59,"column":41},"end":{"row":59,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":37,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1510573362243,"hash":"1af154e2a271ffce23dfc80581b5a17ce07d6250"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/mail.php b/workspace/.c9/metadata/workspace/config/mail.php
new file mode 100644
index 0000000..53caa81
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/mail.php
@@ -0,0 +1 @@
+{"filter":false,"title":"mail.php","tooltip":"/config/mail.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":1597,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":98,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509439820106,"hash":"5948cb5e430f3ea8705b1a19734797eda01f22a7"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/session.php b/workspace/.c9/metadata/workspace/config/session.php
new file mode 100644
index 0000000..38c836c
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/session.php
@@ -0,0 +1 @@
+{"filter":false,"title":"session.php","tooltip":"/config/session.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":2478.5,"scrollleft":0,"selection":{"start":{"row":166,"column":0},"end":{"row":166,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":153,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1461762072000,"hash":"77dafa6dff2a63144bb3fbce260e92c817842a47"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/config/view.php b/workspace/.c9/metadata/workspace/config/view.php
new file mode 100644
index 0000000..140f6e5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/config/view.php
@@ -0,0 +1 @@
+{"filter":false,"title":"view.php","tooltip":"/config/view.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099755624,"hash":"4ddbfd75496ebef2995ab3bd4fe304ce333359b2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php b/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php
new file mode 100644
index 0000000..e53d997
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ModelFactory.php","tooltip":"/database/factories/ModelFactory.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":9,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509726111486,"hash":"7c09ed2522a689bf891a6871c41a7834cc0336b2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php
new file mode 100644
index 0000000..0a6489d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php
@@ -0,0 +1 @@
+{"filter":false,"title":"2014_10_12_000000_create_users_table.php","tooltip":"/database/migrations/2014_10_12_000000_create_users_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":20},"end":{"row":18,"column":20},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510759822615,"hash":"fa1d2e026bb518091c8f816b0ef48b739db17103"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
new file mode 100644
index 0000000..46fb9df
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
@@ -0,0 +1 @@
+{"filter":false,"title":"2014_10_12_100000_create_password_resets_table.php","tooltip":"/database/migrations/2014_10_12_100000_create_password_resets_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":17,"column":44},"end":{"row":17,"column":44},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509832346754,"hash":"1686c1f858a1b0b6c531b4748f2c30e547048690"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php b/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php
new file mode 100644
index 0000000..51b38aa
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php
@@ -0,0 +1 @@
+{"filter":false,"title":"2017_11_08_233536_create_product_table.php","tooltip":"/database/migrations/2017_11_08_233536_create_product_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":121.89973449707031,"scrollleft":0,"selection":{"start":{"row":26,"column":27},"end":{"row":26,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":40,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510841905951,"hash":"f0db76ae206eed9c2842406fd102d222cb611c4f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php b/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php
new file mode 100644
index 0000000..be3359d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php
@@ -0,0 +1 @@
+{"filter":false,"title":"DatabaseSeeder.php","tooltip":"/database/seeds/DatabaseSeeder.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"30c89f0ffab73ca2ebe1789253d1eb6d6e5ad17f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/index.php b/workspace/.c9/metadata/workspace/index.php
new file mode 100644
index 0000000..436f4aa
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/index.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.php","tooltip":"/index.php","undoManager":{"mark":37,"position":37,"stack":[[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"remove","lines":["a"],"id":31,"ignore":true}],[{"start":{"row":6,"column":25},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":32}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":1},"action":"insert","lines":["e"],"id":33}],[{"start":{"row":7,"column":1},"end":{"row":7,"column":2},"action":"insert","lines":["c"],"id":34}],[{"start":{"row":7,"column":2},"end":{"row":7,"column":3},"action":"insert","lines":["h"],"id":35}],[{"start":{"row":7,"column":3},"end":{"row":7,"column":4},"action":"insert","lines":["o"],"id":36}],[{"start":{"row":7,"column":4},"end":{"row":7,"column":5},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":7},"action":"insert","lines":["\"\""],"id":38}],[{"start":{"row":7,"column":6},"end":{"row":7,"column":7},"action":"remove","lines":["\""],"id":39}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":6},"action":"remove","lines":["\""],"id":40}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":7},"action":"insert","lines":["''"],"id":41}],[{"start":{"row":7,"column":6},"end":{"row":7,"column":7},"action":"insert","lines":["Y"],"id":42}],[{"start":{"row":7,"column":7},"end":{"row":7,"column":8},"action":"insert","lines":["o"],"id":43}],[{"start":{"row":7,"column":8},"end":{"row":7,"column":9},"action":"insert","lines":["u"],"id":44}],[{"start":{"row":7,"column":9},"end":{"row":7,"column":10},"action":"insert","lines":[" "],"id":45}],[{"start":{"row":7,"column":10},"end":{"row":7,"column":11},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":7,"column":11},"end":{"row":7,"column":12},"action":"insert","lines":["u"],"id":47}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"insert","lines":["k"],"id":48}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"insert","lines":["e"],"id":49}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"remove","lines":["e"],"id":50}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"remove","lines":["k"],"id":51}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"insert","lines":["c"],"id":52}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"insert","lines":["k"],"id":53}],[{"start":{"row":7,"column":14},"end":{"row":7,"column":15},"action":"insert","lines":[" "],"id":54}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"insert","lines":[":"],"id":55}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"insert","lines":[")"],"id":56}],[{"start":{"row":6,"column":6},"end":{"row":6,"column":7},"action":"insert","lines":["<"],"id":57}],[{"start":{"row":6,"column":7},"end":{"row":6,"column":8},"action":"insert","lines":[">"],"id":58}],[{"start":{"row":6,"column":7},"end":{"row":6,"column":8},"action":"insert","lines":["p"],"id":59}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["<"],"id":60}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":[">"],"id":61}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["/"],"id":62}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["p"],"id":63}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["echo 'You suck :)'",""],"id":64,"ignore":true}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"remove","lines":["d"],"id":65}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"remove","lines":["p"],"id":66}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"insert","lines":["b"],"id":67}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"insert","lines":["g"],"id":68}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":7},"end":{"row":10,"column":7},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508769387197,"hash":"c8251f6a94a1837f7f90bb18d781e2acfd254f31"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/php.ini b/workspace/.c9/metadata/workspace/php.ini
new file mode 100644
index 0000000..b2c6ac8
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/php.ini
@@ -0,0 +1 @@
+{"filter":false,"title":"php.ini","tooltip":"/php.ini","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":19766.5,"scrollleft":0,"selection":{"start":{"row":904,"column":41},"end":{"row":904,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":104,"state":"start","mode":"ace/mode/ini"}},"timestamp":1504183309000,"hash":"c8b4e98be9c31593363822aede534ce905efffee"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/phpunit.xml b/workspace/.c9/metadata/workspace/phpunit.xml
new file mode 100644
index 0000000..0e10b25
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/phpunit.xml
@@ -0,0 +1 @@
+{"filter":false,"title":"phpunit.xml","tooltip":"/phpunit.xml","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099481856,"hash":"020105d25d9ff015368be6bc2988b2cc7b89cfe2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/css/app.css b/workspace/.c9/metadata/workspace/public/css/app.css
new file mode 100644
index 0000000..d25f66f
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/css/app.css
@@ -0,0 +1 @@
+{"filter":false,"title":"app.css","tooltip":"/public/css/app.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012995714,"hash":"9c6b89cc975e88ef85915aa02571906f2561640c"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css b/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css
new file mode 100644
index 0000000..a39fa65
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css
@@ -0,0 +1 @@
+{"filter":false,"title":"bootstrap.min.css","tooltip":"/public/css/bootstrap.min.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":126145.5625,"selection":{"start":{"row":5,"column":22098},"end":{"row":5,"column":22110},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509117639157,"hash":"3e035b1a98c46848c442529af959270bae59471b"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/css/custom.css b/workspace/.c9/metadata/workspace/public/css/custom.css
new file mode 100644
index 0000000..ac837a5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/css/custom.css
@@ -0,0 +1 @@
+{"filter":false,"title":"custom.css","tooltip":"/public/css/custom.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":3097.6986083984375,"scrollleft":0,"selection":{"start":{"row":227,"column":1},"end":{"row":227,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":214,"state":"ruleset","mode":"ace/mode/css"}},"timestamp":1509204328100,"hash":"0428343a5750d1ccdbe41e43c19b863950a8e831"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/css/mdb.min.css b/workspace/.c9/metadata/workspace/public/css/mdb.min.css
new file mode 100644
index 0000000..bf40571
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/css/mdb.min.css
@@ -0,0 +1 @@
+{"filter":false,"title":"mdb.min.css","tooltip":"/public/css/mdb.min.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":94491.8902797699,"scrollleft":0,"selection":{"start":{"row":6563,"column":7},"end":{"row":6563,"column":13},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6540,"state":"ruleset","mode":"ace/mode/css"}},"timestamp":1509113133352,"hash":"d50d66a6d405d21b734a12ad973398c4d275f194"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/favicon.ico b/workspace/.c9/metadata/workspace/public/favicon.ico
new file mode 100644
index 0000000..a29a006
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/favicon.ico
@@ -0,0 +1 @@
+{"filter":false,"title":"favicon.ico","tooltip":"/public/favicon.ico","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgview":{},"timestamp":1509956988265,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/img/arbreRond.png b/workspace/.c9/metadata/workspace/public/img/arbreRond.png
new file mode 100644
index 0000000..a85dc78
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/img/arbreRond.png
@@ -0,0 +1 @@
+{"filter":false,"title":"arbreRond.png","tooltip":"/public/img/arbreRond.png","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgeditor":{},"timestamp":1510791024679,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg b/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg
new file mode 100644
index 0000000..de24774
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg
@@ -0,0 +1 @@
+{"filter":false,"title":"feuillesNav.jpeg","tooltip":"/public/img/feuillesNav.jpeg","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgeditor":{},"timestamp":1509439655895,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/index.php b/workspace/.c9/metadata/workspace/public/index.php
new file mode 100644
index 0000000..cb216ca
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/index.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.php","tooltip":"/public/index.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":49,"column":35},"end":{"row":49,"column":35},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508897998454,"hash":"b41f4a5149b9cece436793ffe9b13d3144fa0980"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js b/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js
new file mode 100644
index 0000000..e68bf8e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js
@@ -0,0 +1 @@
+{"filter":false,"title":"jquery.min.js","tooltip":"/public/jquery/jquery.min.js","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":99008,"selection":{"start":{"row":3,"column":16618},"end":{"row":3,"column":16628},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510649587882,"hash":"1055018c28ab41087ef9ccefe411606893dabea2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/js/app.js b/workspace/.c9/metadata/workspace/public/js/app.js
new file mode 100644
index 0000000..890a87b
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/js/app.js
@@ -0,0 +1 @@
+{"filter":false,"title":"app.js","tooltip":"/public/js/app.js","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511013048938,"hash":"3a1c7402172be81493110e2b49680a533043725d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/js/bootstrap.js b/workspace/.c9/metadata/workspace/public/js/bootstrap.js
new file mode 100644
index 0000000..3b945bd
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/js/bootstrap.js
@@ -0,0 +1 @@
+{"filter":false,"title":"bootstrap.js","tooltip":"/public/js/bootstrap.js","undoManager":{"mark":20,"position":20,"stack":[[{"start":{"row":24,"column":19},"end":{"row":24,"column":24},"action":"remove","lines":["false"],"id":9},{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"insert","lines":["t"]}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"insert","lines":["r"],"id":10}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"insert","lines":["u"],"id":11}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["e"],"id":12}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"remove","lines":["e"],"id":13}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"remove","lines":["u"],"id":14}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"remove","lines":["r"],"id":15}],[{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"remove","lines":["t"],"id":16}],[{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"insert","lines":["f"],"id":17}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"insert","lines":["l"],"id":19}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["e"],"id":20}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"insert","lines":["="],"id":21}],[{"start":{"row":24,"column":24},"end":{"row":24,"column":25},"action":"insert","lines":["s"],"id":22}],[{"start":{"row":24,"column":25},"end":{"row":24,"column":26},"action":"insert","lines":["e"],"id":23}],[{"start":{"row":24,"column":25},"end":{"row":24,"column":26},"action":"remove","lines":["e"],"id":24}],[{"start":{"row":24,"column":24},"end":{"row":24,"column":25},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"remove","lines":["="],"id":26}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"remove","lines":["e"],"id":27}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["s"],"id":28}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"insert","lines":["e"],"id":29}]]},"ace":{"folds":[],"scrolltop":360,"scrollleft":0,"selection":{"start":{"row":24,"column":24},"end":{"row":24,"column":24},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":24,"state":"start","mode":"ace/mode/javascript"}},"timestamp":1510649549467,"hash":"b720f839e87435959fceb77fffb8b03c2304c5c5"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/robots.txt b/workspace/.c9/metadata/workspace/public/robots.txt
new file mode 100644
index 0000000..1a0b03d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/robots.txt
@@ -0,0 +1 @@
+{"filter":false,"title":"robots.txt","tooltip":"/public/robots.txt","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511013021042,"hash":"c47ccf1a49c24cc5842430aa75c72ef491292412"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/public/web.config b/workspace/.c9/metadata/workspace/public/web.config
new file mode 100644
index 0000000..aa124cc
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/public/web.config
@@ -0,0 +1 @@
+{"filter":false,"title":"web.config","tooltip":"/public/web.config","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099524248,"hash":"a74db3869daa64568f2c44afe2a008631109a5c4"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/readme.md b/workspace/.c9/metadata/workspace/readme.md
new file mode 100644
index 0000000..c98a0a5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/readme.md
@@ -0,0 +1 @@
+{"filter":false,"title":"readme.md","tooltip":"/readme.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099482732,"hash":"4d751e090813fea6c14191826c5ee19edc5812c0"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/reports/iteration_2.md b/workspace/.c9/metadata/workspace/reports/iteration_2.md
new file mode 100644
index 0000000..3089254
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/reports/iteration_2.md
@@ -0,0 +1 @@
+{"filter":false,"title":"iteration_2.md","tooltip":"/reports/iteration_2.md","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":58,"column":5},"end":{"row":58,"column":6},"action":"insert","lines":["f"],"id":730}],[{"start":{"row":58,"column":6},"end":{"row":58,"column":7},"action":"insert","lines":["é"],"id":731}],[{"start":{"row":58,"column":7},"end":{"row":58,"column":8},"action":"insert","lines":["r"],"id":732}],[{"start":{"row":58,"column":8},"end":{"row":58,"column":9},"action":"insert","lines":["e"],"id":733}],[{"start":{"row":58,"column":9},"end":{"row":58,"column":10},"action":"insert","lines":["n"],"id":734}],[{"start":{"row":58,"column":10},"end":{"row":58,"column":11},"action":"insert","lines":["c"],"id":735}],[{"start":{"row":58,"column":11},"end":{"row":58,"column":12},"action":"insert","lines":["e"],"id":736}],[{"start":{"row":58,"column":12},"end":{"row":58,"column":13},"action":"insert","lines":[" "],"id":737}],[{"start":{"row":58,"column":13},"end":{"row":58,"column":14},"action":"insert","lines":["c"],"id":738}],[{"start":{"row":58,"column":14},"end":{"row":58,"column":15},"action":"insert","lines":["e"],"id":739}],[{"start":{"row":58,"column":15},"end":{"row":58,"column":16},"action":"insert","lines":[" "],"id":740}],[{"start":{"row":58,"column":16},"end":{"row":58,"column":17},"action":"insert","lines":["m"],"id":741}],[{"start":{"row":58,"column":17},"end":{"row":58,"column":18},"action":"insert","lines":["i"],"id":742}],[{"start":{"row":58,"column":18},"end":{"row":58,"column":19},"action":"insert","lines":["d"],"id":743}],[{"start":{"row":58,"column":19},"end":{"row":58,"column":20},"action":"insert","lines":["i"],"id":744}],[{"start":{"row":58,"column":20},"end":{"row":59,"column":0},"action":"insert","lines":["",""],"id":745}],[{"start":{"row":59,"column":0},"end":{"row":59,"column":1},"action":"insert","lines":[">"],"id":746}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"insert","lines":["C"],"id":747}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"remove","lines":["C"],"id":748}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"insert","lines":[" "],"id":749}],[{"start":{"row":59,"column":2},"end":{"row":59,"column":3},"action":"insert","lines":["C"],"id":750}],[{"start":{"row":59,"column":3},"end":{"row":59,"column":4},"action":"insert","lines":["o"],"id":751}],[{"start":{"row":59,"column":4},"end":{"row":59,"column":5},"action":"insert","lines":["n"],"id":752}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"insert","lines":["f"],"id":753}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"insert","lines":["é"],"id":754}],[{"start":{"row":59,"column":7},"end":{"row":59,"column":8},"action":"insert","lines":["r"],"id":755}],[{"start":{"row":59,"column":8},"end":{"row":59,"column":9},"action":"insert","lines":["e"],"id":756}],[{"start":{"row":59,"column":9},"end":{"row":59,"column":10},"action":"insert","lines":["n"],"id":757}],[{"start":{"row":59,"column":10},"end":{"row":59,"column":11},"action":"insert","lines":["c"],"id":758}],[{"start":{"row":59,"column":11},"end":{"row":59,"column":12},"action":"insert","lines":["e"],"id":759}],[{"start":{"row":59,"column":12},"end":{"row":59,"column":13},"action":"insert","lines":[" "],"id":760}],[{"start":{"row":59,"column":13},"end":{"row":59,"column":14},"action":"insert","lines":["m"],"id":761}],[{"start":{"row":59,"column":14},"end":{"row":59,"column":15},"action":"insert","lines":["a"],"id":762}],[{"start":{"row":59,"column":15},"end":{"row":59,"column":16},"action":"insert","lines":["i"],"id":763}],[{"start":{"row":59,"column":16},"end":{"row":59,"column":17},"action":"insert","lines":["n"],"id":764}],[{"start":{"row":59,"column":17},"end":{"row":59,"column":18},"action":"insert","lines":["t"],"id":765}],[{"start":{"row":59,"column":18},"end":{"row":59,"column":19},"action":"insert","lines":["e"],"id":766}],[{"start":{"row":59,"column":19},"end":{"row":59,"column":20},"action":"insert","lines":["n"],"id":767}],[{"start":{"row":59,"column":20},"end":{"row":59,"column":21},"action":"insert","lines":["a"],"id":768}],[{"start":{"row":59,"column":21},"end":{"row":59,"column":22},"action":"insert","lines":["n"],"id":769}],[{"start":{"row":59,"column":22},"end":{"row":59,"column":23},"action":"insert","lines":["t"],"id":770}],[{"start":{"row":59,"column":23},"end":{"row":60,"column":0},"action":"insert","lines":["",""],"id":771}],[{"start":{"row":60,"column":0},"end":{"row":60,"column":1},"action":"insert","lines":[">"],"id":772}],[{"start":{"row":60,"column":1},"end":{"row":60,"column":2},"action":"insert","lines":[" "],"id":773}],[{"start":{"row":60,"column":2},"end":{"row":60,"column":3},"action":"insert","lines":["C"],"id":774}],[{"start":{"row":60,"column":3},"end":{"row":60,"column":4},"action":"insert","lines":["o"],"id":775}],[{"start":{"row":60,"column":4},"end":{"row":60,"column":5},"action":"insert","lines":["n"],"id":776}],[{"start":{"row":60,"column":5},"end":{"row":60,"column":6},"action":"insert","lines":["f"],"id":777}],[{"start":{"row":60,"column":6},"end":{"row":60,"column":7},"action":"insert","lines":["é"],"id":778}],[{"start":{"row":60,"column":7},"end":{"row":60,"column":8},"action":"insert","lines":["r"],"id":779}],[{"start":{"row":60,"column":8},"end":{"row":60,"column":9},"action":"insert","lines":["e"],"id":780}],[{"start":{"row":60,"column":9},"end":{"row":60,"column":10},"action":"insert","lines":["n"],"id":781}],[{"start":{"row":60,"column":10},"end":{"row":60,"column":11},"action":"insert","lines":["c"],"id":782}],[{"start":{"row":60,"column":11},"end":{"row":60,"column":12},"action":"insert","lines":["e"],"id":783}],[{"start":{"row":60,"column":12},"end":{"row":60,"column":13},"action":"insert","lines":[" "],"id":784}],[{"start":{"row":60,"column":13},"end":{"row":60,"column":14},"action":"insert","lines":["d"],"id":785}],[{"start":{"row":60,"column":14},"end":{"row":60,"column":15},"action":"insert","lines":["a"],"id":786}],[{"start":{"row":60,"column":15},"end":{"row":60,"column":16},"action":"insert","lines":["n"],"id":787}],[{"start":{"row":60,"column":16},"end":{"row":60,"column":17},"action":"insert","lines":["s"],"id":788}],[{"start":{"row":60,"column":17},"end":{"row":60,"column":18},"action":"insert","lines":[" "],"id":789}],[{"start":{"row":60,"column":18},"end":{"row":60,"column":19},"action":"insert","lines":["5"],"id":790}],[{"start":{"row":60,"column":19},"end":{"row":60,"column":20},"action":"insert","lines":[" "],"id":791}],[{"start":{"row":60,"column":20},"end":{"row":60,"column":21},"action":"insert","lines":["m"],"id":792}],[{"start":{"row":60,"column":21},"end":{"row":60,"column":22},"action":"insert","lines":["i"],"id":793}],[{"start":{"row":60,"column":22},"end":{"row":60,"column":23},"action":"insert","lines":["n"],"id":794}],[{"start":{"row":58,"column":0},"end":{"row":61,"column":0},"action":"remove","lines":["> Conférence ce midi","> Conférence maintenant","> Conférence dans 5 min",""],"id":795,"ignore":true}],[{"start":{"row":49,"column":9},"end":{"row":49,"column":10},"action":"remove","lines":[" "],"id":796}],[{"start":{"row":49,"column":8},"end":{"row":49,"column":9},"action":"remove","lines":["-"],"id":797}],[{"start":{"row":49,"column":4},"end":{"row":49,"column":8},"action":"remove","lines":["    "],"id":798}],[{"start":{"row":49,"column":3},"end":{"row":49,"column":4},"action":"remove","lines":[" "],"id":799}],[{"start":{"row":49,"column":2},"end":{"row":49,"column":3},"action":"remove","lines":[" "],"id":800}],[{"start":{"row":49,"column":1},"end":{"row":49,"column":2},"action":"remove","lines":[" "],"id":801}],[{"start":{"row":49,"column":0},"end":{"row":49,"column":1},"action":"remove","lines":[">"],"id":802}],[{"start":{"row":48,"column":41},"end":{"row":49,"column":0},"action":"remove","lines":["",""],"id":803}],[{"start":{"row":62,"column":17},"end":{"row":62,"column":29},"action":"remove","lines":["les annonces"],"id":804,"ignore":true}],[{"start":{"row":62,"column":11},"end":{"row":62,"column":17},"action":"remove","lines":[" dans "],"id":805,"ignore":true}],[{"start":{"row":62,"column":2},"end":{"row":62,"column":11},"action":"remove","lines":["Recherche"],"id":806,"ignore":true}],[{"start":{"row":61,"column":38},"end":{"row":62,"column":2},"action":"remove","lines":["","> "],"id":807,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":["t"],"id":808,"ignore":true}],[{"start":{"row":63,"column":1},"end":{"row":63,"column":2},"action":"insert","lines":[" "],"id":809,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"remove","lines":["t"],"id":810,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":["<"],"id":811,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"remove","lines":["<"],"id":812,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":[">"],"id":813,"ignore":true}],[{"start":{"row":63,"column":2},"end":{"row":63,"column":3},"action":"insert","lines":["D"],"id":814,"ignore":true}],[{"start":{"row":63,"column":3},"end":{"row":63,"column":7},"action":"insert","lines":["eman"],"id":815,"ignore":true}],[{"start":{"row":63,"column":7},"end":{"row":63,"column":13},"action":"insert","lines":["de de "],"id":816,"ignore":true}],[{"start":{"row":63,"column":13},"end":{"row":63,"column":15},"action":"insert","lines":["ré"],"id":817,"ignore":true}],[{"start":{"row":63,"column":15},"end":{"row":63,"column":17},"action":"insert","lines":["se"],"id":818,"ignore":true}],[{"start":{"row":63,"column":17},"end":{"row":63,"column":21},"action":"insert","lines":["rvat"],"id":819,"ignore":true}],[{"start":{"row":63,"column":21},"end":{"row":63,"column":24},"action":"insert","lines":["ion"],"id":820,"ignore":true}],[{"start":{"row":63,"column":24},"end":{"row":64,"column":1},"action":"insert","lines":["",">"],"id":821,"ignore":true}],[{"start":{"row":64,"column":1},"end":{"row":64,"column":2},"action":"insert","lines":[" "],"id":822,"ignore":true}],[{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"insert","lines":["I"],"id":823,"ignore":true}],[{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"remove","lines":["I"],"id":824,"ignore":true},{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"insert","lines":["U"]}],[{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"insert","lines":["o"],"id":825,"ignore":true}],[{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"remove","lines":["o"],"id":826,"ignore":true},{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"insert","lines":["p"]}],[{"start":{"row":64,"column":4},"end":{"row":64,"column":7},"action":"insert","lines":["loa"],"id":827,"ignore":true}],[{"start":{"row":64,"column":7},"end":{"row":64,"column":10},"action":"insert","lines":["d d"],"id":828,"ignore":true}],[{"start":{"row":64,"column":10},"end":{"row":64,"column":13},"action":"insert","lines":["'im"],"id":829,"ignore":true}],[{"start":{"row":64,"column":13},"end":{"row":64,"column":16},"action":"insert","lines":["age"],"id":830,"ignore":true}]]},"ace":{"folds":[],"scrolltop":367,"scrollleft":0,"selection":{"start":{"row":48,"column":41},"end":{"row":48,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"start","mode":"ace/mode/markdown"}},"timestamp":1511174236686,"hash":"6520d4a5949ed2ed2e1bc8b11b965e7e26b1199c"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss b/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss
new file mode 100644
index 0000000..4db5d84
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss
@@ -0,0 +1 @@
+{"filter":false,"title":"app.scss","tooltip":"/resources/assets/sass/app.scss","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509100132443,"hash":"f485929b1b95fed8cf220ad7273c05e393bf405f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/auth.php b/workspace/.c9/metadata/workspace/resources/lang/en/auth.php
new file mode 100644
index 0000000..6d27275
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/en/auth.php
@@ -0,0 +1 @@
+{"filter":false,"title":"auth.php","tooltip":"/resources/lang/en/auth.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508923245562,"hash":"b32d466f3d7ed1c67ddad7770056fdda2f2a367f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php b/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php
new file mode 100644
index 0000000..322ac30
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php
@@ -0,0 +1 @@
+{"filter":false,"title":"passwords.php","tooltip":"/resources/lang/en/passwords.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":81},"end":{"row":15,"column":81},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509896124472,"hash":"5bf9f21385f78c5be29a9a05a8b08cd11fb42874"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/validation.php b/workspace/.c9/metadata/workspace/resources/lang/en/validation.php
new file mode 100644
index 0000000..ff11a85
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/en/validation.php
@@ -0,0 +1 @@
+{"filter":false,"title":"validation.php","tooltip":"/resources/lang/en/validation.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":20,"column":39},"end":{"row":20,"column":39},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509896125353,"hash":"632a7d469effc0274daf8d9b7070c75c8b8795ff"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php b/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php
new file mode 100644
index 0000000..db39f60
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php
@@ -0,0 +1 @@
+{"filter":false,"title":"auth.php","tooltip":"/resources/lang/fr/auth.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":18,"column":20},"end":{"row":18,"column":21},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":18,"column":21},"end":{"row":18,"column":22},"action":"insert","lines":["o"],"id":4}],[{"start":{"row":18,"column":22},"end":{"row":18,"column":23},"action":"insert","lines":["p"],"id":5}],[{"start":{"row":18,"column":23},"end":{"row":18,"column":24},"action":"insert","lines":[" "],"id":6}],[{"start":{"row":18,"column":24},"end":{"row":18,"column":25},"action":"insert","lines":["d"],"id":7}],[{"start":{"row":18,"column":25},"end":{"row":18,"column":26},"action":"insert","lines":["e"],"id":8}],[{"start":{"row":18,"column":26},"end":{"row":18,"column":27},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":18,"column":27},"end":{"row":18,"column":28},"action":"insert","lines":["t"],"id":10}],[{"start":{"row":18,"column":28},"end":{"row":18,"column":29},"action":"insert","lines":["e"],"id":11}],[{"start":{"row":18,"column":29},"end":{"row":18,"column":30},"action":"insert","lines":["n"],"id":12}],[{"start":{"row":18,"column":30},"end":{"row":18,"column":31},"action":"insert","lines":["t"],"id":13}],[{"start":{"row":18,"column":31},"end":{"row":18,"column":32},"action":"insert","lines":["a"],"id":14}],[{"start":{"row":18,"column":32},"end":{"row":18,"column":33},"action":"insert","lines":["t"],"id":15}],[{"start":{"row":18,"column":33},"end":{"row":18,"column":34},"action":"insert","lines":["i"],"id":16}],[{"start":{"row":18,"column":34},"end":{"row":18,"column":35},"action":"insert","lines":["v"],"id":17}],[{"start":{"row":18,"column":35},"end":{"row":18,"column":36},"action":"insert","lines":["e"],"id":18}],[{"start":{"row":18,"column":36},"end":{"row":18,"column":37},"action":"insert","lines":["s"],"id":19}],[{"start":{"row":18,"column":37},"end":{"row":18,"column":38},"action":"insert","lines":[" "],"id":20}],[{"start":{"row":18,"column":38},"end":{"row":18,"column":39},"action":"insert","lines":["d"],"id":21}],[{"start":{"row":18,"column":39},"end":{"row":18,"column":40},"action":"insert","lines":["e"],"id":22}],[{"start":{"row":18,"column":40},"end":{"row":18,"column":41},"action":"insert","lines":[" "],"id":23}],[{"start":{"row":18,"column":41},"end":{"row":18,"column":42},"action":"insert","lines":["c"],"id":24}],[{"start":{"row":18,"column":42},"end":{"row":18,"column":43},"action":"insert","lines":["o"],"id":25}],[{"start":{"row":18,"column":43},"end":{"row":18,"column":44},"action":"insert","lines":["n"],"id":26}],[{"start":{"row":18,"column":44},"end":{"row":18,"column":45},"action":"insert","lines":["n"],"id":27}],[{"start":{"row":18,"column":45},"end":{"row":18,"column":46},"action":"insert","lines":["e"],"id":28}],[{"start":{"row":18,"column":46},"end":{"row":18,"column":47},"action":"insert","lines":["x"],"id":29}],[{"start":{"row":18,"column":47},"end":{"row":18,"column":48},"action":"insert","lines":["i"],"id":30}],[{"start":{"row":18,"column":48},"end":{"row":18,"column":49},"action":"insert","lines":["o"],"id":31}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":["n"],"id":32}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":71},"action":"remove","lines":["Please try again in"],"id":33},{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["R"]}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["é"],"id":34}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":["e"],"id":35}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["s"],"id":36}],[{"start":{"row":18,"column":56},"end":{"row":18,"column":57},"action":"insert","lines":["s"],"id":37}],[{"start":{"row":18,"column":57},"end":{"row":18,"column":58},"action":"insert","lines":["a"],"id":38}],[{"start":{"row":18,"column":58},"end":{"row":18,"column":59},"action":"insert","lines":["y"],"id":39}],[{"start":{"row":18,"column":59},"end":{"row":18,"column":60},"action":"insert","lines":["e"],"id":40}],[{"start":{"row":18,"column":60},"end":{"row":18,"column":61},"action":"insert","lines":["z"],"id":41}],[{"start":{"row":18,"column":61},"end":{"row":18,"column":62},"action":"insert","lines":[" "],"id":42}],[{"start":{"row":18,"column":62},"end":{"row":18,"column":63},"action":"insert","lines":["d"],"id":43}],[{"start":{"row":18,"column":63},"end":{"row":18,"column":64},"action":"insert","lines":["a"],"id":44}],[{"start":{"row":18,"column":64},"end":{"row":18,"column":65},"action":"insert","lines":["n"],"id":45}],[{"start":{"row":18,"column":65},"end":{"row":18,"column":66},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":18,"column":82},"end":{"row":18,"column":83},"action":"insert","lines":["e"],"id":47}],[{"start":{"row":17,"column":17},"end":{"row":17,"column":59},"action":"remove","lines":["These credentials do not match our records"],"id":48},{"start":{"row":17,"column":17},"end":{"row":17,"column":18},"action":"insert","lines":["L"]}],[{"start":{"row":17,"column":18},"end":{"row":17,"column":19},"action":"insert","lines":["e"],"id":49}],[{"start":{"row":17,"column":19},"end":{"row":17,"column":20},"action":"insert","lines":["s"],"id":50}],[{"start":{"row":17,"column":20},"end":{"row":17,"column":21},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":17,"column":21},"end":{"row":17,"column":22},"action":"insert","lines":["i"],"id":52}],[{"start":{"row":17,"column":22},"end":{"row":17,"column":23},"action":"insert","lines":["n"],"id":53}],[{"start":{"row":17,"column":23},"end":{"row":17,"column":24},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":17,"column":24},"end":{"row":17,"column":25},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":17,"column":25},"end":{"row":17,"column":26},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":17,"column":26},"end":{"row":17,"column":27},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":17,"column":27},"end":{"row":17,"column":28},"action":"insert","lines":["a"],"id":58}],[{"start":{"row":17,"column":28},"end":{"row":17,"column":29},"action":"insert","lines":["t"],"id":59}],[{"start":{"row":17,"column":29},"end":{"row":17,"column":30},"action":"insert","lines":["i"],"id":60}],[{"start":{"row":17,"column":30},"end":{"row":17,"column":31},"action":"insert","lines":["o"],"id":61}],[{"start":{"row":17,"column":31},"end":{"row":17,"column":32},"action":"insert","lines":["n"],"id":62}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"insert","lines":["s"],"id":63}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"remove","lines":["s"],"id":64}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"insert","lines":["s"],"id":65}],[{"start":{"row":17,"column":33},"end":{"row":17,"column":34},"action":"insert","lines":[" "],"id":66}],[{"start":{"row":17,"column":34},"end":{"row":17,"column":35},"action":"insert","lines":["r"],"id":67}],[{"start":{"row":17,"column":35},"end":{"row":17,"column":36},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":17,"column":36},"end":{"row":17,"column":37},"action":"insert","lines":["n"],"id":69}],[{"start":{"row":17,"column":37},"end":{"row":17,"column":38},"action":"insert","lines":["s"],"id":70}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"insert","lines":["e"],"id":71}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"insert","lines":["g"],"id":73}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"insert","lines":["n"],"id":74}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"insert","lines":["é"],"id":75}],[{"start":{"row":17,"column":43},"end":{"row":17,"column":44},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":17,"column":44},"end":{"row":17,"column":45},"action":"insert","lines":["s"],"id":77}],[{"start":{"row":17,"column":45},"end":{"row":17,"column":46},"action":"insert","lines":[" "],"id":78}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"insert","lines":["d"],"id":79}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"insert","lines":["e"],"id":80}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"remove","lines":[" "],"id":82}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"remove","lines":["e"],"id":83}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"remove","lines":["d"],"id":84}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"insert","lines":["n"],"id":85}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"insert","lines":["e"],"id":86}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"insert","lines":[" "],"id":87}],[{"start":{"row":17,"column":49},"end":{"row":17,"column":50},"action":"insert","lines":["s"],"id":88}],[{"start":{"row":17,"column":50},"end":{"row":17,"column":51},"action":"insert","lines":["o"],"id":89}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["n"],"id":90}],[{"start":{"row":17,"column":52},"end":{"row":17,"column":53},"action":"insert","lines":["t"],"id":91}],[{"start":{"row":17,"column":53},"end":{"row":17,"column":54},"action":"insert","lines":[" "],"id":92}],[{"start":{"row":17,"column":54},"end":{"row":17,"column":55},"action":"insert","lines":["p"],"id":93}],[{"start":{"row":17,"column":55},"end":{"row":17,"column":56},"action":"insert","lines":["a"],"id":94}],[{"start":{"row":17,"column":56},"end":{"row":17,"column":57},"action":"insert","lines":["s"],"id":95}],[{"start":{"row":17,"column":57},"end":{"row":17,"column":58},"action":"insert","lines":[" "],"id":96}],[{"start":{"row":17,"column":58},"end":{"row":17,"column":59},"action":"insert","lines":["v"],"id":97}],[{"start":{"row":17,"column":59},"end":{"row":17,"column":60},"action":"insert","lines":["a"],"id":98}],[{"start":{"row":17,"column":60},"end":{"row":17,"column":61},"action":"insert","lines":["l"],"id":99}],[{"start":{"row":17,"column":61},"end":{"row":17,"column":62},"action":"insert","lines":["i"],"id":100}],[{"start":{"row":17,"column":62},"end":{"row":17,"column":63},"action":"insert","lines":["d"],"id":101}],[{"start":{"row":17,"column":63},"end":{"row":17,"column":64},"action":"insert","lines":["e"],"id":102}],[{"start":{"row":17,"column":64},"end":{"row":17,"column":65},"action":"insert","lines":["s"],"id":103}]]},"ace":{"folds":[],"scrolltop":56.05556011199951,"scrollleft":0,"selection":{"start":{"row":17,"column":65},"end":{"row":17,"column":65},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511055197762,"hash":"9313132d70dd9e7f5a6effec46077ed20251561d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php b/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php
new file mode 100644
index 0000000..1ae427c
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php
@@ -0,0 +1 @@
+{"filter":false,"title":"pagination.php","tooltip":"/resources/lang/fr/pagination.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":9,"scrollleft":0,"selection":{"start":{"row":15,"column":18},"end":{"row":15,"column":38},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055241624,"hash":"3d09898819dc14f1c5da6b849a4c0bec414f94f4"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php b/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php
new file mode 100644
index 0000000..e7c0f84
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php
@@ -0,0 +1 @@
+{"filter":false,"title":"passwords.php","tooltip":"/resources/lang/fr/passwords.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":18,"column":40},"end":{"row":18,"column":41},"action":"insert","lines":["e"],"id":204}],[{"start":{"row":18,"column":41},"end":{"row":18,"column":42},"action":"insert","lines":[" "],"id":205}],[{"start":{"row":18,"column":42},"end":{"row":18,"column":43},"action":"insert","lines":["m"],"id":206}],[{"start":{"row":18,"column":43},"end":{"row":18,"column":44},"action":"insert","lines":["o"],"id":207}],[{"start":{"row":18,"column":44},"end":{"row":18,"column":45},"action":"insert","lines":["t"],"id":208}],[{"start":{"row":18,"column":45},"end":{"row":18,"column":46},"action":"insert","lines":[" "],"id":209}],[{"start":{"row":18,"column":46},"end":{"row":18,"column":47},"action":"insert","lines":["d"],"id":210}],[{"start":{"row":18,"column":47},"end":{"row":18,"column":48},"action":"insert","lines":["e"],"id":211}],[{"start":{"row":18,"column":48},"end":{"row":18,"column":49},"action":"insert","lines":[" "],"id":212}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":["p"],"id":213}],[{"start":{"row":18,"column":50},"end":{"row":18,"column":51},"action":"insert","lines":["a"],"id":214}],[{"start":{"row":18,"column":51},"end":{"row":18,"column":52},"action":"insert","lines":["s"],"id":215}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["s"],"id":216}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["e"],"id":217}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":[" "],"id":218}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["e"],"id":219}],[{"start":{"row":18,"column":56},"end":{"row":18,"column":57},"action":"insert","lines":["s"],"id":220}],[{"start":{"row":18,"column":57},"end":{"row":18,"column":58},"action":"insert","lines":["t"],"id":221}],[{"start":{"row":18,"column":58},"end":{"row":18,"column":59},"action":"insert","lines":[" "],"id":222}],[{"start":{"row":18,"column":59},"end":{"row":18,"column":60},"action":"insert","lines":["i"],"id":223}],[{"start":{"row":18,"column":60},"end":{"row":18,"column":61},"action":"insert","lines":["n"],"id":224}],[{"start":{"row":18,"column":61},"end":{"row":18,"column":62},"action":"insert","lines":["v"],"id":225}],[{"start":{"row":18,"column":62},"end":{"row":18,"column":63},"action":"insert","lines":["a"],"id":226}],[{"start":{"row":18,"column":63},"end":{"row":18,"column":64},"action":"insert","lines":["l"],"id":227}],[{"start":{"row":18,"column":64},"end":{"row":18,"column":65},"action":"insert","lines":["i"],"id":228}],[{"start":{"row":18,"column":65},"end":{"row":18,"column":66},"action":"insert","lines":["d"],"id":229}],[{"start":{"row":18,"column":66},"end":{"row":18,"column":67},"action":"insert","lines":["e"],"id":230}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":60},"action":"remove","lines":["We can't find a user with that e-mail address"],"id":333},{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["C"]}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"remove","lines":["C"],"id":334}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["N"],"id":335}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"insert","lines":["o"],"id":336}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"insert","lines":["u"],"id":337}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"insert","lines":["s"],"id":338}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"insert","lines":[" "],"id":339}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"insert","lines":["n"],"id":340}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"insert","lines":["e"],"id":341}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"insert","lines":[" "],"id":342}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"insert","lines":["t"],"id":343}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"insert","lines":["r"],"id":344}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"insert","lines":["o"],"id":345}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"insert","lines":["u"],"id":346}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"insert","lines":["v"],"id":347}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"insert","lines":["o"],"id":348}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"insert","lines":["n"],"id":349}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"insert","lines":["s"],"id":350}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"insert","lines":[" "],"id":351}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"insert","lines":["p"],"id":352}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"insert","lines":["a"],"id":353}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"insert","lines":["s"],"id":354}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"insert","lines":[" "],"id":355}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"remove","lines":[" "],"id":356}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"remove","lines":["s"],"id":357}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"remove","lines":["a"],"id":358}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"remove","lines":["p"],"id":359}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"remove","lines":[" "],"id":360}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"remove","lines":["s"],"id":361}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"remove","lines":["n"],"id":362}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"remove","lines":["o"],"id":363}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"remove","lines":["v"],"id":364}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"remove","lines":["u"],"id":365}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"remove","lines":["o"],"id":366}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"remove","lines":["r"],"id":367}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"remove","lines":["t"],"id":368}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"remove","lines":[" "],"id":369}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"remove","lines":["e"],"id":370}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"remove","lines":["n"],"id":371}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"remove","lines":[" "],"id":372}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"remove","lines":["s"],"id":373}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"remove","lines":["u"],"id":374}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"remove","lines":["o"],"id":375}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"remove","lines":["N"],"id":376}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["C"],"id":377}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"insert","lines":["e"],"id":378}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"insert","lines":["t"],"id":379}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"insert","lines":[" "],"id":380}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"insert","lines":["u"],"id":381}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"insert","lines":["t"],"id":382}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"insert","lines":["i"],"id":383}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"insert","lines":["l"],"id":384}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"insert","lines":["i"],"id":385}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"insert","lines":["s"],"id":386}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"insert","lines":["a"],"id":387}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"insert","lines":["t"],"id":388}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"insert","lines":["e"],"id":389}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"insert","lines":["u"],"id":390}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"insert","lines":["r"],"id":391}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"insert","lines":[" "],"id":392}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"insert","lines":["n"],"id":393}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"insert","lines":["'"],"id":394}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"insert","lines":["e"],"id":395}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"insert","lines":["x"],"id":396}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"insert","lines":["i"],"id":397}],[{"start":{"row":19,"column":36},"end":{"row":19,"column":37},"action":"insert","lines":["s"],"id":398}],[{"start":{"row":19,"column":37},"end":{"row":19,"column":38},"action":"insert","lines":["t"],"id":399}],[{"start":{"row":19,"column":38},"end":{"row":19,"column":39},"action":"insert","lines":["e"],"id":400}],[{"start":{"row":19,"column":39},"end":{"row":19,"column":40},"action":"insert","lines":[" "],"id":401}],[{"start":{"row":19,"column":40},"end":{"row":19,"column":41},"action":"insert","lines":["p"],"id":402}],[{"start":{"row":19,"column":41},"end":{"row":19,"column":42},"action":"insert","lines":["a"],"id":403}],[{"start":{"row":19,"column":42},"end":{"row":19,"column":43},"action":"insert","lines":["s"],"id":404}],[{"start":{"row":19,"column":43},"end":{"row":19,"column":44},"action":"insert","lines":["."],"id":405}],[{"start":{"row":19,"column":43},"end":{"row":19,"column":44},"action":"remove","lines":["."],"id":406}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":20,"column":0},"end":{"row":20,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055502538,"hash":"290afe972209e52dbdec82d3bb42d355f75dbfb2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php b/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php
new file mode 100644
index 0000000..e9c918e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php
@@ -0,0 +1 @@
+{"filter":false,"title":"texts.php","tooltip":"/resources/lang/fr/texts.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["r"],"id":34}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["o"],"id":35}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["p"],"id":36}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["o"],"id":37}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["s"],"id":38}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["d"],"id":40}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["e"],"id":41}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":[" "],"id":42}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["n"],"id":43}],[{"start":{"row":15,"column":38},"end":{"row":15,"column":39},"action":"insert","lines":["o"],"id":44}],[{"start":{"row":15,"column":39},"end":{"row":15,"column":40},"action":"insert","lines":["u"],"id":45}],[{"start":{"row":15,"column":40},"end":{"row":15,"column":41},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["à"],"id":47}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["ø"],"id":48}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["ª"],"id":49}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":["æ"],"id":50}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["{"],"id":51}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["↓"],"id":52}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["$"],"id":53}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["N"],"id":54}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["["],"id":55}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["["],"id":56}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["N"],"id":57}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["$"],"id":58}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["↓"],"id":59}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["T"],"id":60}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["U"],"id":61}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["V"],"id":62}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["W"],"id":63}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":["Y"],"id":64}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["Z"],"id":65}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"remove","lines":["Z"],"id":66}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":["Y"],"id":67}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["W"],"id":68}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["V"],"id":69}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["U"],"id":70}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["T"],"id":71}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["["],"id":72}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["\\"],"id":73}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["]"],"id":74}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["^"],"id":75}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":["○"],"id":76}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["`"],"id":77}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["a"],"id":78}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":["b"],"id":79}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["c"],"id":80}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"remove","lines":["c"],"id":81}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"remove","lines":["b"],"id":82}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"remove","lines":["a"],"id":83}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"remove","lines":["`"],"id":84}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":["○"],"id":85}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["^"],"id":86}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["]"],"id":87}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["\\"],"id":88}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["["],"id":89}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":["{"],"id":90}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":["æ"],"id":91}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["ª"],"id":92}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["ø"],"id":93}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["L"],"id":94}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["K"],"id":95}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":[">"],"id":96}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["?"],"id":97}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["@"],"id":98}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["A"],"id":99}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["B"],"id":100}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["B"],"id":101}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["A"],"id":102}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["@"],"id":103}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":["?"],"id":104}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":[">"],"id":105}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["K"],"id":106}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["L"],"id":107}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["<"],"id":108}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["="],"id":109}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":[";"],"id":110}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":[":"],"id":111}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["9"],"id":112}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["8"],"id":113}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["8"],"id":114}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["9"],"id":115}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":[":"],"id":116}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":[";"],"id":117}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["="],"id":118}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["<"],"id":119}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["À"],"id":120}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":42},"action":"remove","lines":["de nous."],"id":121}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":[" "],"id":122}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":[" "],"id":123}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["d"],"id":124}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["e"],"id":125}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":[" "],"id":126}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["B"],"id":127}],[{"start":{"row":15,"column":38},"end":{"row":15,"column":39},"action":"insert","lines":["o"],"id":128}],[{"start":{"row":15,"column":39},"end":{"row":15,"column":40},"action":"insert","lines":["n"],"id":129}],[{"start":{"row":15,"column":40},"end":{"row":15,"column":41},"action":"insert","lines":["s"],"id":130}],[{"start":{"row":15,"column":41},"end":{"row":15,"column":42},"action":"insert","lines":["a"],"id":131}],[{"start":{"row":15,"column":42},"end":{"row":15,"column":43},"action":"insert","lines":["i"],"id":132}],[{"start":{"row":15,"column":43},"end":{"row":15,"column":44},"action":"insert","lines":["i"],"id":133}],[{"start":{"row":15,"column":44},"end":{"row":15,"column":45},"action":"insert","lines":["e"],"id":134}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":45},"end":{"row":15,"column":45},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055968771,"hash":"097aa5d4099a082d05b5ac8a125b048fc0a63fed"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php b/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php
new file mode 100644
index 0000000..b3c1e25
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php
@@ -0,0 +1 @@
+{"filter":false,"title":"validation.php","tooltip":"/resources/lang/fr/validation.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012558771,"hash":"632a7d469effc0274daf8d9b7070c75c8b8795ff"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php b/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php
new file mode 100644
index 0000000..ae7adc2
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ConfirmRegistery.blade.php","tooltip":"/resources/views/ConfirmRegistery.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":19,"column":6},"end":{"row":19,"column":50},"action":"insert","lines":["Votre inscription a bien été prise en compte"],"id":86}],[{"start":{"row":19,"column":50},"end":{"row":19,"column":51},"action":"insert","lines":["."],"id":87}],[{"start":{"row":19,"column":55},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":88},{"start":{"row":20,"column":0},"end":{"row":20,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":20,"column":3},"end":{"row":20,"column":4},"action":"insert","lines":["<"],"id":89}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":5},"action":"insert","lines":["p"],"id":90}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":10},"action":"insert","lines":["></p>"],"id":91}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":["M"],"id":92}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["r"],"id":94}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["i"],"id":95}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":[" "],"id":96}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":["!"],"id":97}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["c"],"id":98}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"insert","lines":[" "],"id":99}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"remove","lines":[" "],"id":100}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":[" "],"id":101}],[{"start":{"row":18,"column":50},"end":{"row":18,"column":51},"action":"insert","lines":["c"],"id":102}],[{"start":{"row":18,"column":51},"end":{"row":18,"column":52},"action":"insert","lines":["e"],"id":103}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["n"],"id":104}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["t"],"id":105}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":["e"],"id":106}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["r"],"id":107}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"insert","lines":[" "],"id":108}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":["c"],"id":109}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["l"],"id":110}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["a"],"id":111}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["s"],"id":112}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["s"],"id":113}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":["="],"id":114}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":14},"action":"insert","lines":["\"\""],"id":115}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["t"],"id":116}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":["e"],"id":117}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["x"],"id":118}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["t"],"id":119}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["-"],"id":120}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":121}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["e"],"id":122}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["n"],"id":123}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["t"],"id":124}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["e"],"id":125}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":["r"],"id":126}],[{"start":{"row":20,"column":37},"end":{"row":21,"column":0},"action":"insert","lines":["",""],"id":127},{"start":{"row":21,"column":0},"end":{"row":21,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":21,"column":3},"end":{"row":21,"column":4},"action":"insert","lines":["<"],"id":128}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"insert","lines":["B"],"id":129}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"insert","lines":["r"],"id":130}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"remove","lines":["r"],"id":131}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"remove","lines":["B"],"id":132}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"insert","lines":["b"],"id":133}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"insert","lines":["r"],"id":134}],[{"start":{"row":21,"column":6},"end":{"row":21,"column":7},"action":"insert","lines":[">"],"id":135}],[{"start":{"row":21,"column":6},"end":{"row":21,"column":7},"action":"insert","lines":["/"],"id":136}],[{"start":{"row":21,"column":8},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":137},{"start":{"row":22,"column":0},"end":{"row":22,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":22,"column":3},"end":{"row":22,"column":4},"action":"insert","lines":["<"],"id":138}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["p"],"id":139}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":10},"action":"insert","lines":["></p>"],"id":140}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"insert","lines":["r"],"id":141}],[{"start":{"row":22,"column":7},"end":{"row":22,"column":8},"action":"insert","lines":["e"],"id":142}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":9},"action":"insert","lines":["t"],"id":143}],[{"start":{"row":22,"column":9},"end":{"row":22,"column":10},"action":"insert","lines":["o"],"id":144}],[{"start":{"row":22,"column":10},"end":{"row":22,"column":11},"action":"insert","lines":["u"],"id":145}],[{"start":{"row":22,"column":11},"end":{"row":22,"column":12},"action":"insert","lines":["r"],"id":146}],[{"start":{"row":22,"column":12},"end":{"row":22,"column":13},"action":"insert","lines":[" "],"id":147}],[{"start":{"row":22,"column":13},"end":{"row":22,"column":14},"action":"insert","lines":["à"],"id":148}],[{"start":{"row":22,"column":14},"end":{"row":22,"column":15},"action":"insert","lines":[" "],"id":149}],[{"start":{"row":22,"column":15},"end":{"row":22,"column":16},"action":"insert","lines":["l"],"id":150}],[{"start":{"row":22,"column":16},"end":{"row":22,"column":17},"action":"insert","lines":["'"],"id":151}],[{"start":{"row":22,"column":17},"end":{"row":22,"column":18},"action":"insert","lines":["a"],"id":152}],[{"start":{"row":22,"column":18},"end":{"row":22,"column":19},"action":"insert","lines":["c"],"id":153}],[{"start":{"row":22,"column":19},"end":{"row":22,"column":20},"action":"insert","lines":["c"],"id":154}],[{"start":{"row":22,"column":20},"end":{"row":22,"column":21},"action":"insert","lines":["u"],"id":155}],[{"start":{"row":22,"column":21},"end":{"row":22,"column":22},"action":"insert","lines":["e"],"id":156}],[{"start":{"row":22,"column":22},"end":{"row":22,"column":23},"action":"insert","lines":["i"],"id":157}],[{"start":{"row":22,"column":23},"end":{"row":22,"column":24},"action":"insert","lines":["l"],"id":158}],[{"start":{"row":22,"column":24},"end":{"row":22,"column":25},"action":"insert","lines":["."],"id":159}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"remove","lines":["r"],"id":160}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"insert","lines":["R"],"id":161}],[{"start":{"row":19,"column":5},"end":{"row":19,"column":6},"action":"insert","lines":[" "],"id":162}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":7},"action":"insert","lines":["c"],"id":163}],[{"start":{"row":19,"column":7},"end":{"row":19,"column":8},"action":"insert","lines":["l"],"id":164}],[{"start":{"row":19,"column":8},"end":{"row":19,"column":9},"action":"insert","lines":["a"],"id":165}],[{"start":{"row":19,"column":9},"end":{"row":19,"column":10},"action":"insert","lines":["s"],"id":166}],[{"start":{"row":19,"column":10},"end":{"row":19,"column":11},"action":"insert","lines":["s"],"id":167}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":11},"action":"remove","lines":["class"],"id":168},{"start":{"row":19,"column":6},"end":{"row":19,"column":25},"action":"insert","lines":["class=\"text-center\""]}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":6},"action":"insert","lines":[" "],"id":169}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":25},"action":"insert","lines":["class=\"text-center\""],"id":170}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"remove","lines":["p"],"id":171}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["a"],"id":172}],[{"start":{"row":22,"column":47},"end":{"row":22,"column":48},"action":"remove","lines":["p"],"id":173}],[{"start":{"row":22,"column":47},"end":{"row":22,"column":48},"action":"insert","lines":["a"],"id":174}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":14},"action":"insert","lines":["href=\"/\""],"id":175}],[{"start":{"row":22,"column":14},"end":{"row":22,"column":15},"action":"insert","lines":[" "],"id":176}],[{"start":{"row":22,"column":3},"end":{"row":22,"column":4},"action":"insert","lines":["<"],"id":177}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["p"],"id":178}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":10},"action":"insert","lines":["></p>"],"id":179}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":10},"action":"remove","lines":["</p>"],"id":180}],[{"start":{"row":22,"column":61},"end":{"row":22,"column":65},"action":"insert","lines":["</p>"],"id":181}],[{"start":{"row":22,"column":18},"end":{"row":22,"column":37},"action":"remove","lines":["class=\"text-center\""],"id":182}],[{"start":{"row":22,"column":17},"end":{"row":22,"column":18},"action":"remove","lines":[" "],"id":183}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":6},"action":"insert","lines":[" "],"id":184}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":25},"action":"insert","lines":["class=\"text-center\""],"id":185}],[{"start":{"row":22,"column":56},"end":{"row":22,"column":57},"action":"remove","lines":["."],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":4},"end":{"row":16,"column":4},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509224790338,"hash":"2598eeb4148e60f18f667dcbde4613571d8935c0"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php
new file mode 100644
index 0000000..dd4c31e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"app.blade.php","tooltip":"/resources/views/OLD/app.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511015526344,"hash":"83079e0169cd77f235b576c998dfec252b206ca6"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php
new file mode 100644
index 0000000..b9b3893
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"head.blade.php","tooltip":"/resources/views/OLD/head.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["e"],"id":225}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":38},"action":"remove","lines":["eee"],"id":227},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["2"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["2"],"id":228}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["8"],"id":229}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["B"],"id":230}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["2"],"id":231}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":232}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":41},"action":"remove","lines":["228B22"],"id":233},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["9"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["a"],"id":234}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["c"],"id":235}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["d"],"id":236}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["3"],"id":237}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":238}],[{"start":{"row":72,"column":13},"end":{"row":73,"column":0},"action":"insert","lines":["",""],"id":245},{"start":{"row":73,"column":0},"end":{"row":73,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":73,"column":12},"end":{"row":74,"column":0},"action":"insert","lines":["",""],"id":246},{"start":{"row":74,"column":0},"end":{"row":74,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["i"],"id":247}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["m"],"id":248}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["g"],"id":249}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["P"],"id":250}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["r"],"id":251}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["o"],"id":252}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["f"],"id":253}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"remove","lines":["f"],"id":254}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["d"],"id":255}],[{"start":{"row":74,"column":19},"end":{"row":74,"column":20},"action":"insert","lines":[" "],"id":256}],[{"start":{"row":74,"column":20},"end":{"row":74,"column":21},"action":"insert","lines":["{"],"id":257}],[{"start":{"row":74,"column":21},"end":{"row":76,"column":13},"action":"insert","lines":["","                ","            }"],"id":258}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["c"],"id":259}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":260}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["n"],"id":261}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":262}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["e"],"id":263}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"remove","lines":["r"],"id":265}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"remove","lines":["e"],"id":266}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"remove","lines":["t"],"id":267}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"remove","lines":["n"],"id":268}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"remove","lines":["e"],"id":269}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"remove","lines":["c"],"id":270}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["t"],"id":271}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":272}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["x"],"id":273}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":274}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["-"],"id":275}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["a"],"id":276}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["l"],"id":277}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":["i"],"id":278}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["g"],"id":279}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["n"],"id":280}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":28},"action":"insert","lines":[":;"],"id":281}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":[" "],"id":282}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["c"],"id":283}],[{"start":{"row":75,"column":29},"end":{"row":75,"column":30},"action":"insert","lines":["e"],"id":284}],[{"start":{"row":75,"column":30},"end":{"row":75,"column":31},"action":"insert","lines":["n"],"id":285}],[{"start":{"row":75,"column":31},"end":{"row":75,"column":32},"action":"insert","lines":["t"],"id":286}],[{"start":{"row":75,"column":32},"end":{"row":75,"column":33},"action":"insert","lines":["e"],"id":287}],[{"start":{"row":75,"column":33},"end":{"row":75,"column":34},"action":"insert","lines":["r"],"id":288}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":289},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["p"],"id":290}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":291}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["d"],"id":292}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["d"],"id":293}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":294}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":295}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["g"],"id":296}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":297}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["="],"id":298}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":[" "],"id":299}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"remove","lines":[" "],"id":300}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"remove","lines":["="],"id":301}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"remove","lines":[" "],"id":302}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":25},"action":"insert","lines":[":;"],"id":303}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":[" "],"id":304}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["a"],"id":305}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["u"],"id":306}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["t"],"id":307}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["o"],"id":308}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":309},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["m"],"id":310}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":311}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["r"],"id":312}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["g"],"id":313}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":314}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":315}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":24},"action":"insert","lines":[":;"],"id":316}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":317}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["a"],"id":318}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["u"],"id":319}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["t"],"id":320}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["o"],"id":321}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":19},"action":"remove","lines":[" imgProd"],"id":322}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":12},"action":"insert","lines":[" "],"id":323}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["c"],"id":324}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["e"],"id":325}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["n"],"id":326}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["t"],"id":327}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["e"],"id":328}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["r"],"id":329}],[{"start":{"row":13,"column":35},"end":{"row":14,"column":103},"action":"remove","lines":["","        <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/bootstrap.min.css\"> -->"],"id":330}],[{"start":{"row":16,"column":42},"end":{"row":17,"column":97},"action":"remove","lines":["","        <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/mdb.min.css\"> -->"],"id":371}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":42},"end":{"row":16,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":16,"state":"start","mode":"ace/mode/php"}},"timestamp":1508956206738,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php
new file mode 100644
index 0000000..5847ccd
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/OLD/header.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":76},"end":{"row":6,"column":76},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508928419579,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php
new file mode 100644
index 0000000..f216752
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.blade.php","tooltip":"/resources/views/OLD/index.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":581.9444589614868,"scrollleft":0,"selection":{"start":{"row":20,"column":27},"end":{"row":20,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":39,"state":"start","mode":"ace/mode/php"}},"timestamp":1508939726362,"hash":"f48bbc05edaa2f89c4da3e8fd7aee90f76c0d51f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php
new file mode 100644
index 0000000..a0fa207
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"register.blade.php","tooltip":"/resources/views/OLD/register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509578248675,"hash":"e40af4a54ad59ab9883dd62c5d6a6aa07d5232d7"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php b/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php
new file mode 100644
index 0000000..7a1d53a
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php
@@ -0,0 +1 @@
+{"changed":true,"filter":false,"title":"Produits_gen.blade.php","tooltip":"/resources/views/Produits_gen.blade.php","value":"@extends('header1')\n\n@section('title')\n\n@endsection\n\n\n@section('body')\n\n<div class=\"container\">\n    <div class=\"container\">\n        <h1 class=\"my-4\">Bienvenue sur Bonsaiie !</h1>\n        \n        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,\n        gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,\n        interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>\n        \n        <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus &raquo;</a></p>\n    </div>\n    \n    \n    <div class=\"row\">\n        \n        <div class=\"col-md-8\">\n            <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">\n                <ol class=\"carousel-indicators\">\n                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>\n                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>\n                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>\n                </ol>\n                \n                <div class=\"carousel-inner\" role=\"listbox\">\n                    <div class=\"carousel-item active\">\n                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">\n                    </div>\n                    <div class=\"carousel-item\">\n                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">\n                    </div>\n                    <div class=\"carousel-item\">\n                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">\n                    </div>\n                </div>\n            \n                <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">\n                    <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n                    <span class=\"sr-only\">Previous</span>\n                </a>\n                \n                <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">\n                  <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n                  <span class=\"sr-only\">Next</span>\n                </a>\n            </div>\n        </div>\n    \n        <div class=\"col-md-4\">\n            <h3 class=\"my-3\">Project Description</h3>\n            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,\n            gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,\n            interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>\n            <h3 class=\"my-3\">Project Details</h3>\n            <ul>\n                <li>Lorem Ipsum</li>\n                <li>Dolor Sit Amet</li>\n                <li>Consectetur</li>\n                <li>Adipiscing Elit</li>\n            </ul>\n        </div>\n\n    </div>\n\n    <h3 class=\"my-4\">Related Projects</h3>\n\n    <div class=\"row\">\n\n        <div class=\"col-md-3 col-sm-6 mb-4\">\n            <a href=\"#\">\n                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n            </a>\n        </div>\n\n        <div class=\"col-md-3 col-sm-6 mb-4\">\n            <a href=\"#\">\n                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n            </a>\n        </div>\n\n        <div class=\"col-md-3 col-sm-6 mb-4\">\n            <a href=\"#\">\n                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n            </a>\n        </div>\n\n        <div class=\"col-md-3 col-sm-6 mb-4\">\n            <a href=\"#\">\n                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n            </a>\n        </div>\n\n    </div>\n</div>\n@endsection","undoManager":{"mark":-2,"position":1,"stack":[[{"start":{"row":0,"column":0},"end":{"row":101,"column":11},"action":"insert","lines":["@extends('header1')","","@section('title')","Accueil","@endsection","","","@section('body')","","<div class=\"container\">","    <div class=\"container\">","        <h1 class=\"my-4\">Bienvenue sur Bonsaiie !</h1>","        ","        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","        gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","        interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","        ","        <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus &raquo;</a></p>","    </div>","    ","    ","    <div class=\"row\">","        ","        <div class=\"col-md-8\">","            <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">","                <ol class=\"carousel-indicators\">","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>","                </ol>","                ","                <div class=\"carousel-inner\" role=\"listbox\">","                    <div class=\"carousel-item active\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">","                    </div>","                </div>","            ","                <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">","                    <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>","                    <span class=\"sr-only\">Previous</span>","                </a>","                ","                <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">","                  <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>","                  <span class=\"sr-only\">Next</span>","                </a>","            </div>","        </div>","    ","        <div class=\"col-md-4\">","            <h3 class=\"my-3\">Project Description</h3>","            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","            gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","            interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","            <h3 class=\"my-3\">Project Details</h3>","            <ul>","                <li>Lorem Ipsum</li>","                <li>Dolor Sit Amet</li>","                <li>Consectetur</li>","                <li>Adipiscing Elit</li>","            </ul>","        </div>","","    </div>","","    <h3 class=\"my-4\">Related Projects</h3>","","    <div class=\"row\">","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","    </div>","</div>","@endsection"],"id":1}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":7},"action":"remove","lines":["Accueil"],"id":2}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":3,"column":0},"end":{"row":3,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509111936980}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php b/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php
new file mode 100644
index 0000000..9548644
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php
@@ -0,0 +1 @@
+{"changed":true,"filter":false,"title":"all_products.blade.php","tooltip":"/resources/views/all_products.blade.php","value":"@extends('layouts.app')\n\n@section('title')\n\tTous les produits\n@endsection\n\n\n@section('content')\n\n<div class=\"container\">\n\t<div class=\"container\">\n\t\t<h1 class=\"my-4\">Tout les produits</h1>\n\t\t\n\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>\n\t\t\n\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>\n\t</div>\n\t\n\t<div class=\"row\">\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t\t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item One</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t\t<!--<h5>$24.99</h5> -->\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<!--\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t\t-->\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Two</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Three</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Four</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Five</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Six</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>\n@endsection","undoManager":{"mark":10,"position":27,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":419}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":420}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":421}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":422}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":423}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":424}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":425}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":24},"action":"remove","lines":["header"],"id":426},{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":427}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":428}],[{"start":{"row":29,"column":10},"end":{"row":30,"column":0},"action":"insert","lines":["",""],"id":429},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":30,"column":4},"end":{"row":30,"column":5},"action":"insert","lines":["<"],"id":430}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["-"],"id":431}],[{"start":{"row":30,"column":6},"end":{"row":30,"column":7},"action":"insert","lines":["-"],"id":432}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["!"],"id":433}],[{"start":{"row":33,"column":10},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":434},{"start":{"row":34,"column":0},"end":{"row":34,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":34,"column":4},"end":{"row":34,"column":5},"action":"insert","lines":["-"],"id":435}],[{"start":{"row":34,"column":5},"end":{"row":34,"column":6},"action":"insert","lines":["-"],"id":436}],[{"start":{"row":34,"column":6},"end":{"row":34,"column":7},"action":"insert","lines":[">"],"id":437}],[{"start":{"row":27,"column":5},"end":{"row":27,"column":6},"action":"insert","lines":["<"],"id":438}],[{"start":{"row":27,"column":6},"end":{"row":27,"column":7},"action":"insert","lines":["!"],"id":439}],[{"start":{"row":27,"column":7},"end":{"row":27,"column":8},"action":"insert","lines":["-"],"id":440}],[{"start":{"row":27,"column":8},"end":{"row":27,"column":9},"action":"insert","lines":["-"],"id":441}],[{"start":{"row":27,"column":24},"end":{"row":27,"column":25},"action":"insert","lines":[" "],"id":442}],[{"start":{"row":27,"column":25},"end":{"row":27,"column":26},"action":"insert","lines":["-"],"id":443}],[{"start":{"row":27,"column":26},"end":{"row":27,"column":27},"action":"insert","lines":["-"],"id":444}],[{"start":{"row":27,"column":27},"end":{"row":27,"column":28},"action":"insert","lines":[">"],"id":445}]]},"ace":{"folds":[],"scrolltop":49.00000000000008,"scrollleft":8.40000000000034,"selection":{"start":{"row":25,"column":18},"end":{"row":25,"column":26},"isBackwards":true},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579407790}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php
new file mode 100644
index 0000000..2b14d03
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"password.blade.php","tooltip":"/resources/views/auth/emails/password.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":1,"column":0},"end":{"row":1,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":32,"mode":"ace/mode/php"}},"timestamp":1509725841732,"hash":"b3545d06fd3c0e9f411d6f92ef1a0d90098921a3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php
new file mode 100644
index 0000000..ebd9dfd
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php
@@ -0,0 +1 @@
+{"filter":false,"title":"login.blade.1.php","tooltip":"/resources/views/auth/login.blade.1.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":22,"column":32},"end":{"row":22,"column":33},"action":"insert","lines":["l"],"id":115}],[{"start":{"row":35,"column":20},"end":{"row":36,"column":0},"action":"insert","lines":["",""],"id":116},{"start":{"row":36,"column":0},"end":{"row":36,"column":20},"action":"insert","lines":["                    "]}],[{"start":{"row":36,"column":20},"end":{"row":36,"column":21},"action":"insert","lines":["<"],"id":117}],[{"start":{"row":36,"column":21},"end":{"row":36,"column":22},"action":"insert","lines":["!"],"id":118}],[{"start":{"row":36,"column":22},"end":{"row":36,"column":23},"action":"insert","lines":["-"],"id":119}],[{"start":{"row":36,"column":23},"end":{"row":36,"column":24},"action":"insert","lines":["-"],"id":120}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":25},"action":"insert","lines":[" "],"id":121}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"insert","lines":["-"],"id":122}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"insert","lines":["-"],"id":123}],[{"start":{"row":36,"column":27},"end":{"row":36,"column":28},"action":"insert","lines":[">"],"id":124}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":25},"action":"insert","lines":[" "],"id":125}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"insert","lines":["V"],"id":126}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"insert","lines":["é"],"id":127}],[{"start":{"row":36,"column":27},"end":{"row":36,"column":28},"action":"insert","lines":["r"],"id":128}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":29},"action":"insert","lines":["i"],"id":129}],[{"start":{"row":36,"column":29},"end":{"row":36,"column":30},"action":"insert","lines":["f"],"id":130}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":[" "],"id":131}],[{"start":{"row":36,"column":31},"end":{"row":36,"column":32},"action":"insert","lines":["d"],"id":132}],[{"start":{"row":36,"column":32},"end":{"row":36,"column":33},"action":"insert","lines":["u"],"id":133}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":34},"action":"insert","lines":[" "],"id":134}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":35},"action":"insert","lines":["m"],"id":135}],[{"start":{"row":36,"column":35},"end":{"row":36,"column":36},"action":"insert","lines":["o"],"id":136}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":37},"action":"insert","lines":["t"],"id":137}],[{"start":{"row":36,"column":37},"end":{"row":36,"column":38},"action":"insert","lines":[" "],"id":138}],[{"start":{"row":36,"column":38},"end":{"row":36,"column":39},"action":"insert","lines":["d"],"id":139}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":[" "],"id":140}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"remove","lines":[" "],"id":141}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":["e"],"id":142}],[{"start":{"row":36,"column":40},"end":{"row":36,"column":41},"action":"insert","lines":[" "],"id":143}],[{"start":{"row":36,"column":41},"end":{"row":36,"column":42},"action":"insert","lines":["p"],"id":144}],[{"start":{"row":36,"column":42},"end":{"row":36,"column":43},"action":"insert","lines":["a"],"id":145}],[{"start":{"row":36,"column":43},"end":{"row":36,"column":44},"action":"insert","lines":["s"],"id":146}],[{"start":{"row":36,"column":44},"end":{"row":36,"column":45},"action":"insert","lines":["s"],"id":147}],[{"start":{"row":36,"column":45},"end":{"row":36,"column":46},"action":"insert","lines":["e"],"id":148}],[{"start":{"row":49,"column":11},"end":{"row":50,"column":0},"action":"insert","lines":["",""],"id":149},{"start":{"row":50,"column":0},"end":{"row":50,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":97,"column":24},"end":{"row":108,"column":30},"action":"remove","lines":["<div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">","","                            <div class=\"col-md-6\">","                                <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">","","                                @if ($errors->has('password'))","                                    <span class=\"help-block\">","                                        <strong>{{ $errors->first('password') }}</strong>","                                    </span>","                                @endif","                            </div>","                        </div>"],"id":150}],[{"start":{"row":97,"column":20},"end":{"row":97,"column":24},"action":"remove","lines":["    "],"id":151}],[{"start":{"row":97,"column":16},"end":{"row":97,"column":20},"action":"remove","lines":["    "],"id":152}],[{"start":{"row":97,"column":12},"end":{"row":97,"column":16},"action":"remove","lines":["    "],"id":153}],[{"start":{"row":97,"column":8},"end":{"row":97,"column":12},"action":"remove","lines":["    "],"id":154}],[{"start":{"row":97,"column":4},"end":{"row":97,"column":8},"action":"remove","lines":["    "],"id":155}],[{"start":{"row":97,"column":0},"end":{"row":97,"column":4},"action":"remove","lines":["    "],"id":156}],[{"start":{"row":96,"column":0},"end":{"row":97,"column":0},"action":"remove","lines":["",""],"id":157}],[{"start":{"row":95,"column":24},"end":{"row":96,"column":0},"action":"remove","lines":["",""],"id":158}],[{"start":{"row":95,"column":20},"end":{"row":95,"column":24},"action":"remove","lines":["    "],"id":159}],[{"start":{"row":95,"column":16},"end":{"row":95,"column":20},"action":"remove","lines":["    "],"id":160}],[{"start":{"row":95,"column":12},"end":{"row":95,"column":16},"action":"remove","lines":["    "],"id":161}],[{"start":{"row":95,"column":8},"end":{"row":95,"column":12},"action":"remove","lines":["    "],"id":162}],[{"start":{"row":95,"column":4},"end":{"row":95,"column":8},"action":"remove","lines":["    "],"id":163}],[{"start":{"row":95,"column":0},"end":{"row":95,"column":4},"action":"remove","lines":["    "],"id":164}],[{"start":{"row":94,"column":0},"end":{"row":95,"column":0},"action":"remove","lines":["",""],"id":165}],[{"start":{"row":96,"column":24},"end":{"row":104,"column":30},"action":"remove","lines":["<div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <div class=\"checkbox\">","                                    <label>","                                        <input type=\"checkbox\" name=\"remember\"> Remember Me","                                    </label>","                                </div>","                            </div>","                        </div>"],"id":166}],[{"start":{"row":49,"column":11},"end":{"row":50,"column":0},"action":"insert","lines":["",""],"id":167},{"start":{"row":50,"column":0},"end":{"row":50,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":50,"column":5},"end":{"row":51,"column":0},"action":"insert","lines":["",""],"id":168},{"start":{"row":51,"column":0},"end":{"row":51,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":51,"column":5},"end":{"row":59,"column":30},"action":"insert","lines":["<div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <div class=\"checkbox\">","                                    <label>","                                        <input type=\"checkbox\" name=\"remember\"> Remember Me","                                    </label>","                                </div>","                            </div>","                        </div>"],"id":169}],[{"start":{"row":59,"column":20},"end":{"row":59,"column":24},"action":"remove","lines":["    "],"id":170}],[{"start":{"row":58,"column":24},"end":{"row":58,"column":28},"action":"remove","lines":["    "],"id":171}],[{"start":{"row":57,"column":28},"end":{"row":57,"column":32},"action":"remove","lines":["    "],"id":172}],[{"start":{"row":52,"column":24},"end":{"row":52,"column":28},"action":"remove","lines":["    "],"id":173}],[{"start":{"row":53,"column":24},"end":{"row":53,"column":28},"action":"remove","lines":["    "],"id":174}],[{"start":{"row":54,"column":28},"end":{"row":54,"column":32},"action":"remove","lines":["    "],"id":175}],[{"start":{"row":55,"column":28},"end":{"row":55,"column":32},"action":"remove","lines":["    "],"id":176}],[{"start":{"row":56,"column":28},"end":{"row":56,"column":32},"action":"remove","lines":["    "],"id":177}],[{"start":{"row":37,"column":94},"end":{"row":40,"column":32},"action":"remove","lines":["","","                            <div class=\"col-md-6\">","                                "],"id":178}],[{"start":{"row":37,"column":94},"end":{"row":38,"column":24},"action":"insert","lines":["","                        "],"id":179}],[{"start":{"row":38,"column":24},"end":{"row":39,"column":0},"action":"insert","lines":["",""],"id":180},{"start":{"row":39,"column":0},"end":{"row":39,"column":24},"action":"insert","lines":["                        "]}],[{"start":{"row":45,"column":28},"end":{"row":45,"column":32},"action":"remove","lines":["    "],"id":181}],[{"start":{"row":44,"column":32},"end":{"row":44,"column":36},"action":"remove","lines":["    "],"id":182}],[{"start":{"row":43,"column":36},"end":{"row":43,"column":40},"action":"remove","lines":["    "],"id":183}],[{"start":{"row":42,"column":32},"end":{"row":42,"column":36},"action":"remove","lines":["    "],"id":184}],[{"start":{"row":41,"column":28},"end":{"row":41,"column":32},"action":"remove","lines":["    "],"id":185}],[{"start":{"row":46,"column":24},"end":{"row":46,"column":28},"action":"remove","lines":["    "],"id":186}],[{"start":{"row":46,"column":30},"end":{"row":47,"column":30},"action":"remove","lines":["","                        </div>"],"id":187}],[{"start":{"row":46,"column":30},"end":{"row":47,"column":11},"action":"remove","lines":["","\t\t\t\t\t</div>"],"id":188}],[{"start":{"row":46,"column":20},"end":{"row":46,"column":24},"action":"remove","lines":["    "],"id":189}],[{"start":{"row":41,"column":26},"end":{"row":41,"column":27},"action":"remove","lines":[" "],"id":190}],[{"start":{"row":41,"column":26},"end":{"row":41,"column":27},"action":"remove","lines":[" "],"id":191}],[{"start":{"row":41,"column":25},"end":{"row":41,"column":26},"action":"remove","lines":[" "],"id":192}],[{"start":{"row":41,"column":24},"end":{"row":41,"column":25},"action":"remove","lines":[" "],"id":193}],[{"start":{"row":42,"column":24},"end":{"row":42,"column":28},"action":"remove","lines":["    "],"id":194}],[{"start":{"row":43,"column":24},"end":{"row":43,"column":28},"action":"remove","lines":["    "],"id":195}],[{"start":{"row":44,"column":24},"end":{"row":44,"column":28},"action":"remove","lines":["    "],"id":196}],[{"start":{"row":45,"column":24},"end":{"row":45,"column":28},"action":"remove","lines":["    "],"id":197}],[{"start":{"row":58,"column":5},"end":{"row":77,"column":11},"action":"remove","lines":["<!-- Prénom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!}","\t\t\t\t\t\t{!! $errors->first('prenom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Pseudo utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!}","\t\t\t\t\t\t{!! $errors->first('pseudo', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Email utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}","\t\t\t\t\t\t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pass') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('pass', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>"],"id":198}],[{"start":{"row":59,"column":5},"end":{"row":70,"column":11},"action":"remove","lines":["<!-- Confirmation Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('passValid', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Vérif CGU utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5\">","\t\t\t\t\t\t{!! Form::checkbox('cgu') !!}","\t\t\t\t\t\t<span class=\"ml-3\">J'accepte les <a href=\"cgu\" target=\"_blank\">CGU</a>.</span>","\t\t\t\t\t\t<!-- <input class=\"field\" name=\"agree\" type=\"checkbox\" value=\"1\"> -->","\t\t\t\t\t\t{!! $errors->first('cgu', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>"],"id":199}],[{"start":{"row":75,"column":24},"end":{"row":83,"column":30},"action":"remove","lines":["<div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <button type=\"submit\" class=\"btn btn-primary\">","                                    <i class=\"fa fa-btn fa-sign-in\"></i> Login","                                </button>","","                                <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Forgot Your Password?</a>","                            </div>","                        </div>"],"id":200}],[{"start":{"row":57,"column":5},"end":{"row":58,"column":0},"action":"insert","lines":["",""],"id":201},{"start":{"row":58,"column":0},"end":{"row":58,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":58,"column":5},"end":{"row":66,"column":30},"action":"insert","lines":["<div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <button type=\"submit\" class=\"btn btn-primary\">","                                    <i class=\"fa fa-btn fa-sign-in\"></i> Login","                                </button>","","                                <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Forgot Your Password?</a>","                            </div>","                        </div>"],"id":202}],[{"start":{"row":59,"column":24},"end":{"row":59,"column":28},"action":"remove","lines":["    "],"id":203}],[{"start":{"row":60,"column":28},"end":{"row":60,"column":32},"action":"remove","lines":["    "],"id":204}],[{"start":{"row":61,"column":28},"end":{"row":61,"column":32},"action":"remove","lines":["    "],"id":205}],[{"start":{"row":62,"column":28},"end":{"row":62,"column":32},"action":"remove","lines":["    "],"id":206}],[{"start":{"row":64,"column":28},"end":{"row":64,"column":32},"action":"remove","lines":["    "],"id":207}],[{"start":{"row":65,"column":24},"end":{"row":65,"column":28},"action":"remove","lines":["    "],"id":208}],[{"start":{"row":66,"column":20},"end":{"row":66,"column":24},"action":"remove","lines":["    "],"id":209}],[{"start":{"row":85,"column":20},"end":{"row":85,"column":27},"action":"remove","lines":["</form>"],"id":210}],[{"start":{"row":68,"column":5},"end":{"row":68,"column":12},"action":"insert","lines":["</form>"],"id":211}],[{"start":{"row":68,"column":4},"end":{"row":68,"column":5},"action":"remove","lines":["\t"],"id":212}],[{"start":{"row":68,"column":11},"end":{"row":73,"column":25},"action":"remove","lines":["","\t\t\t\t\t<!-- Bouton confirmation -->","\t\t\t\t\t<div class=\"form-group mb-0\">","\t\t\t\t\t\t{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}","\t\t\t\t\t</div>","\t\t\t\t{!! Form::close() !!}"],"id":213}],[{"start":{"row":75,"column":0},"end":{"row":85,"column":6},"action":"remove","lines":["","","                        ","","                        ","                    ","                </div>","            </div>","        </div>","    </div>","</div>"],"id":214}],[{"start":{"row":74,"column":0},"end":{"row":75,"column":0},"action":"remove","lines":["",""],"id":215}]]},"ace":{"folds":[],"scrolltop":774,"scrollleft":0,"selection":{"start":{"row":74,"column":0},"end":{"row":74,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":54,"state":"start","mode":"ace/mode/php"}},"timestamp":1509577303017,"hash":"7f4f10ed16595eda53f283c8c48499d5b9ebd858"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php
new file mode 100644
index 0000000..d8bfb8a
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"login.blade.php","tooltip":"/resources/views/auth/login.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":886.0556130409241,"scrollleft":0,"selection":{"start":{"row":20,"column":36},"end":{"row":20,"column":36},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510615176718,"hash":"e639aff65866fbba665ab471cf9fddf3280389af"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php
new file mode 100644
index 0000000..3fc6be7
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"email.blade.php","tooltip":"/resources/views/auth/passwords/email.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["o"],"id":182}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["y"],"id":183}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":184}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["z"],"id":185}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":186}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["m"],"id":187}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["o"],"id":188}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":["i"],"id":189}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":[" "],"id":190}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["u"],"id":191}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["n"],"id":192}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":[" "],"id":193}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":["e"],"id":194}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"insert","lines":["m"],"id":195}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"insert","lines":["a"],"id":196}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"insert","lines":["i"],"id":197}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"insert","lines":["l"],"id":198}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"remove","lines":["l"],"id":199}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"remove","lines":["i"],"id":200}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"remove","lines":["a"],"id":201}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"remove","lines":["m"],"id":202}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"remove","lines":["e"],"id":203}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"remove","lines":[" "],"id":204}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"remove","lines":["n"],"id":205}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"remove","lines":["u"],"id":206}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"remove","lines":[" "],"id":207}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"remove","lines":["i"],"id":208}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"remove","lines":["o"],"id":209}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"remove","lines":["m"],"id":210}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"remove","lines":[" "],"id":211}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"remove","lines":["z"],"id":212}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"remove","lines":["e"],"id":213}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"remove","lines":["y"],"id":214}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"remove","lines":["o"],"id":215}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"remove","lines":["v"],"id":216}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"remove","lines":["n"],"id":217}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"remove","lines":["E"],"id":218}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"insert","lines":["E"],"id":219}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"insert","lines":["n"],"id":220}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"insert","lines":["v"],"id":221}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["o"],"id":222}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["y"],"id":223}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":224}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["r"],"id":225}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":226}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["u"],"id":227}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["n"],"id":228}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":[" "],"id":229}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":["e"],"id":230}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["m"],"id":231}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["a"],"id":232}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":["i"],"id":233}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":["l"],"id":234}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":90},"action":"remove","lines":["Envoyer un email"],"id":235},{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"insert","lines":["C"]}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"insert","lines":["h"],"id":236}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"insert","lines":["a"],"id":237}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["n"],"id":238}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["g"],"id":239}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":240}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["r"],"id":241}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":242}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["m"],"id":243}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["o"],"id":244}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":["n"],"id":245}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":[" "],"id":246}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["m"],"id":247}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["o"],"id":248}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":["t"],"id":249}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":[" "],"id":250}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"insert","lines":["d"],"id":251}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"insert","lines":["e"],"id":252}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"insert","lines":[" "],"id":253}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"insert","lines":["p"],"id":254}],[{"start":{"row":46,"column":94},"end":{"row":46,"column":95},"action":"insert","lines":["a"],"id":255}],[{"start":{"row":46,"column":95},"end":{"row":46,"column":96},"action":"insert","lines":["s"],"id":256}],[{"start":{"row":46,"column":96},"end":{"row":46,"column":97},"action":"insert","lines":["s"],"id":257}],[{"start":{"row":46,"column":97},"end":{"row":46,"column":98},"action":"insert","lines":["e"],"id":258}],[{"start":{"row":54,"column":4},"end":{"row":104,"column":23},"action":"remove","lines":["<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/register') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">","                        <input id=\"name\" type=\"text\" class=\"form-control\" name=\"name\" value=\"{{ old('name') }}\" placeholder=\"Pseudo\">","","                        @if ($errors->has('name'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('name') }}</strong>","                            </span>","                        @endif","                    </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">","","                           @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('email') }}</strong>","                            </span>","                        @endif","                    </div>","","                    <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">","                        <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">","","                        @if ($errors->has('password'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('password') }}</strong>","                            </span>","                        @endif","                    </div>","","                    <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">","                        <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\" placeholder=\"Confirmez votre mot de passe\">","","                        @if ($errors->has('password_confirmation'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('password_confirmation') }}</strong>","                            </span>","                        @endif","                    </div>","\t\t\t\t","\t\t\t\t    <div class=\"form-group mt-5\">","                        <div class=\"col-md-6 col-md-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary\">","                                <i class=\"fa fa-btn fa-user\"></i> S'inscrire","                            </button>","                        </div>","                    </div>","                </form>"],"id":259}],[{"start":{"row":52,"column":7},"end":{"row":54,"column":4},"action":"remove","lines":["","\t\t\t    ","\t\t\t\t"],"id":260}],[{"start":{"row":52,"column":6},"end":{"row":52,"column":7},"action":"remove","lines":[" "],"id":261}],[{"start":{"row":52,"column":5},"end":{"row":52,"column":6},"action":"remove","lines":[" "],"id":262}],[{"start":{"row":52,"column":4},"end":{"row":52,"column":5},"action":"remove","lines":[" "],"id":263}],[{"start":{"row":52,"column":3},"end":{"row":52,"column":4},"action":"remove","lines":[" "],"id":264}],[{"start":{"row":52,"column":2},"end":{"row":52,"column":3},"action":"remove","lines":["\t"],"id":265}],[{"start":{"row":52,"column":1},"end":{"row":52,"column":2},"action":"remove","lines":["\t"],"id":266}],[{"start":{"row":52,"column":0},"end":{"row":52,"column":1},"action":"remove","lines":["\t"],"id":267}],[{"start":{"row":51,"column":7},"end":{"row":52,"column":0},"action":"remove","lines":["",""],"id":268}],[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"remove","lines":[" "],"id":269}],[{"start":{"row":51,"column":5},"end":{"row":51,"column":6},"action":"remove","lines":[" "],"id":270}],[{"start":{"row":51,"column":4},"end":{"row":51,"column":5},"action":"remove","lines":[" "],"id":271}],[{"start":{"row":51,"column":3},"end":{"row":51,"column":4},"action":"remove","lines":[" "],"id":272}],[{"start":{"row":51,"column":2},"end":{"row":51,"column":3},"action":"remove","lines":["\t"],"id":273}],[{"start":{"row":51,"column":1},"end":{"row":51,"column":2},"action":"remove","lines":["\t"],"id":274}],[{"start":{"row":51,"column":0},"end":{"row":51,"column":1},"action":"remove","lines":["\t"],"id":275}],[{"start":{"row":50,"column":27},"end":{"row":51,"column":0},"action":"remove","lines":["",""],"id":276}],[{"start":{"row":22,"column":0},"end":{"row":22,"column":4},"action":"remove","lines":["    "],"id":277},{"start":{"row":23,"column":0},"end":{"row":23,"column":4},"action":"remove","lines":["    "]},{"start":{"row":24,"column":0},"end":{"row":24,"column":4},"action":"remove","lines":["    "]},{"start":{"row":25,"column":0},"end":{"row":25,"column":4},"action":"remove","lines":["    "]},{"start":{"row":27,"column":0},"end":{"row":27,"column":4},"action":"remove","lines":["    "]},{"start":{"row":28,"column":0},"end":{"row":28,"column":4},"action":"remove","lines":["    "]},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"remove","lines":["    "]},{"start":{"row":32,"column":0},"end":{"row":32,"column":4},"action":"remove","lines":["    "]},{"start":{"row":33,"column":0},"end":{"row":33,"column":4},"action":"remove","lines":["    "]},{"start":{"row":35,"column":0},"end":{"row":35,"column":4},"action":"remove","lines":["    "]},{"start":{"row":36,"column":0},"end":{"row":36,"column":4},"action":"remove","lines":["    "]},{"start":{"row":37,"column":0},"end":{"row":37,"column":4},"action":"remove","lines":["    "]},{"start":{"row":38,"column":0},"end":{"row":38,"column":4},"action":"remove","lines":["    "]},{"start":{"row":39,"column":0},"end":{"row":39,"column":4},"action":"remove","lines":["    "]},{"start":{"row":40,"column":0},"end":{"row":40,"column":4},"action":"remove","lines":["    "]},{"start":{"row":41,"column":0},"end":{"row":41,"column":4},"action":"remove","lines":["    "]},{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"remove","lines":["    "]},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"remove","lines":["    "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"remove","lines":["    "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"remove","lines":["    "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"remove","lines":["    "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"remove","lines":["    "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"remove","lines":["    "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"remove","lines":["    "]}],[{"start":{"row":58,"column":0},"end":{"row":99,"column":6},"action":"remove","lines":["<div class=\"container mt-5\">","    <div class=\"row\">","        <div class=\"col-md-8 col-md-offset-2\">","            <div class=\"panel panel-default\">","                <div class=\"panel-heading\">Reset Password</div>","                <div class=\"panel-body\">","                    @if (session('status'))","                        <div class=\"alert alert-success\">","                            {{ session('status') }}","                        </div>","                    @endif","","                    <form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/password/email') }}\">","                        {{ csrf_field() }}","","                        <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                            <label for=\"email\" class=\"col-md-4 control-label\">E-Mail Address</label>","","                            <div class=\"col-md-6\">","                                <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\">","","                                @if ($errors->has('email'))","                                    <span class=\"help-block\">","                                        <strong>{{ $errors->first('email') }}</strong>","                                    </span>","                                @endif","                            </div>","                        </div>","","                        <div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <button type=\"submit\" class=\"btn btn-primary\">","                                    <i class=\"fa fa-btn fa-envelope\"></i> Send Password Reset Link","                                </button>","                            </div>","                        </div>","                    </form>","                </div>","            </div>","        </div>","    </div>","</div>"],"id":278}],[{"start":{"row":57,"column":0},"end":{"row":58,"column":0},"action":"remove","lines":["",""],"id":279}],[{"start":{"row":56,"column":0},"end":{"row":57,"column":0},"action":"remove","lines":["",""],"id":280}],[{"start":{"row":33,"column":133},"end":{"row":33,"column":134},"action":"remove","lines":["e"],"id":281}],[{"start":{"row":33,"column":133},"end":{"row":33,"column":134},"action":"insert","lines":["E"],"id":282}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":33,"column":134},"end":{"row":33,"column":134},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509890432454,"hash":"fec23a3f946baf3f3b2210b8a06618df0bc725e2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php
new file mode 100644
index 0000000..48fb0a4
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"reset.blade.php","tooltip":"/resources/views/auth/passwords/reset.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"insert","lines":["d"],"id":136}],[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"remove","lines":["d"],"id":137}],[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"insert","lines":["t"],"id":138}],[{"start":{"row":43,"column":118},"end":{"row":43,"column":119},"action":"insert","lines":[" "],"id":139}],[{"start":{"row":43,"column":119},"end":{"row":43,"column":120},"action":"insert","lines":["d"],"id":140}],[{"start":{"row":43,"column":120},"end":{"row":43,"column":121},"action":"insert","lines":["e"],"id":141}],[{"start":{"row":43,"column":121},"end":{"row":43,"column":122},"action":"insert","lines":[" "],"id":142}],[{"start":{"row":43,"column":122},"end":{"row":43,"column":123},"action":"insert","lines":["p"],"id":143}],[{"start":{"row":43,"column":123},"end":{"row":43,"column":124},"action":"insert","lines":["a"],"id":144}],[{"start":{"row":43,"column":124},"end":{"row":43,"column":125},"action":"insert","lines":["s"],"id":145}],[{"start":{"row":43,"column":125},"end":{"row":43,"column":126},"action":"insert","lines":["s"],"id":146}],[{"start":{"row":43,"column":126},"end":{"row":43,"column":127},"action":"insert","lines":["e"],"id":147}],[{"start":{"row":29,"column":143},"end":{"row":29,"column":144},"action":"remove","lines":["e"],"id":148}],[{"start":{"row":29,"column":143},"end":{"row":29,"column":144},"action":"insert","lines":["E"],"id":149}],[{"start":{"row":39,"column":94},"end":{"row":40,"column":93},"action":"remove","lines":["","                        <label for=\"password\" class=\"col-md-4 control-label\">Password</label>"],"id":150}],[{"start":{"row":55,"column":122},"end":{"row":55,"column":123},"action":"insert","lines":[" "],"id":151}],[{"start":{"row":55,"column":123},"end":{"row":55,"column":124},"action":"insert","lines":["p"],"id":152}],[{"start":{"row":55,"column":124},"end":{"row":55,"column":125},"action":"insert","lines":["l"],"id":153}],[{"start":{"row":55,"column":125},"end":{"row":55,"column":126},"action":"insert","lines":["a"],"id":154}],[{"start":{"row":55,"column":126},"end":{"row":55,"column":127},"action":"insert","lines":["c"],"id":155}],[{"start":{"row":55,"column":127},"end":{"row":55,"column":128},"action":"insert","lines":["e"],"id":156}],[{"start":{"row":55,"column":128},"end":{"row":55,"column":129},"action":"insert","lines":["h"],"id":157}],[{"start":{"row":55,"column":129},"end":{"row":55,"column":130},"action":"insert","lines":["o"],"id":158}],[{"start":{"row":55,"column":123},"end":{"row":55,"column":130},"action":"remove","lines":["placeho"],"id":159},{"start":{"row":55,"column":123},"end":{"row":55,"column":134},"action":"insert","lines":["placeholder"]}],[{"start":{"row":55,"column":134},"end":{"row":55,"column":135},"action":"insert","lines":["="],"id":160}],[{"start":{"row":55,"column":135},"end":{"row":55,"column":137},"action":"insert","lines":["\"\""],"id":161}],[{"start":{"row":55,"column":136},"end":{"row":55,"column":137},"action":"insert","lines":["C"],"id":162}],[{"start":{"row":55,"column":137},"end":{"row":55,"column":138},"action":"insert","lines":["o"],"id":163}],[{"start":{"row":55,"column":138},"end":{"row":55,"column":139},"action":"insert","lines":["n"],"id":164}],[{"start":{"row":55,"column":139},"end":{"row":55,"column":140},"action":"insert","lines":["f"],"id":165}],[{"start":{"row":55,"column":140},"end":{"row":55,"column":141},"action":"insert","lines":["i"],"id":166}],[{"start":{"row":55,"column":141},"end":{"row":55,"column":142},"action":"insert","lines":["r"],"id":167}],[{"start":{"row":55,"column":142},"end":{"row":55,"column":143},"action":"insert","lines":["m"],"id":168}],[{"start":{"row":55,"column":143},"end":{"row":55,"column":144},"action":"insert","lines":["e"],"id":169}],[{"start":{"row":55,"column":144},"end":{"row":55,"column":145},"action":"insert","lines":["z"],"id":170}],[{"start":{"row":55,"column":145},"end":{"row":55,"column":146},"action":"insert","lines":[" "],"id":171}],[{"start":{"row":55,"column":146},"end":{"row":55,"column":147},"action":"insert","lines":["v"],"id":172}],[{"start":{"row":55,"column":147},"end":{"row":55,"column":148},"action":"insert","lines":["o"],"id":173}],[{"start":{"row":55,"column":148},"end":{"row":55,"column":149},"action":"insert","lines":["t"],"id":174}],[{"start":{"row":55,"column":149},"end":{"row":55,"column":150},"action":"insert","lines":["r"],"id":175}],[{"start":{"row":55,"column":150},"end":{"row":55,"column":151},"action":"insert","lines":["e"],"id":176}],[{"start":{"row":55,"column":151},"end":{"row":55,"column":152},"action":"insert","lines":[" "],"id":177}],[{"start":{"row":55,"column":152},"end":{"row":55,"column":153},"action":"insert","lines":["m"],"id":178}],[{"start":{"row":55,"column":153},"end":{"row":55,"column":154},"action":"insert","lines":["o"],"id":179}],[{"start":{"row":55,"column":154},"end":{"row":55,"column":155},"action":"insert","lines":["t"],"id":180}],[{"start":{"row":55,"column":155},"end":{"row":55,"column":156},"action":"insert","lines":[" "],"id":181}],[{"start":{"row":55,"column":156},"end":{"row":55,"column":157},"action":"insert","lines":["d"],"id":182}],[{"start":{"row":55,"column":157},"end":{"row":55,"column":158},"action":"insert","lines":["e"],"id":183}],[{"start":{"row":55,"column":158},"end":{"row":55,"column":159},"action":"insert","lines":[" "],"id":184}],[{"start":{"row":55,"column":159},"end":{"row":55,"column":160},"action":"insert","lines":["p"],"id":185}],[{"start":{"row":55,"column":160},"end":{"row":55,"column":161},"action":"insert","lines":["a"],"id":186}],[{"start":{"row":55,"column":161},"end":{"row":55,"column":162},"action":"insert","lines":["s"],"id":187}],[{"start":{"row":55,"column":162},"end":{"row":55,"column":163},"action":"insert","lines":["s"],"id":188}],[{"start":{"row":55,"column":163},"end":{"row":55,"column":164},"action":"insert","lines":["e"],"id":189}],[{"start":{"row":52,"column":107},"end":{"row":53,"column":109},"action":"remove","lines":["","                        <label for=\"password-confirm\" class=\"col-md-4 control-label\">Confirm Password</label>"],"id":190}],[{"start":{"row":39,"column":94},"end":{"row":40,"column":0},"action":"remove","lines":["",""],"id":191}],[{"start":{"row":26,"column":91},"end":{"row":27,"column":0},"action":"remove","lines":["",""],"id":192}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":83},"action":"remove","lines":["Reset Password"],"id":193},{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["C"]}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"remove","lines":["C"],"id":194}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["M"],"id":195}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"insert","lines":["o"],"id":196}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"insert","lines":["d"],"id":197}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"insert","lines":["i"],"id":198}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"remove","lines":["i"],"id":199}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"remove","lines":["d"],"id":200}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"remove","lines":["o"],"id":201}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"remove","lines":["M"],"id":202}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["C"],"id":203}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"insert","lines":["h"],"id":204}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"insert","lines":["a"],"id":205}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"insert","lines":["n"],"id":206}],[{"start":{"row":65,"column":73},"end":{"row":65,"column":74},"action":"insert","lines":["g"],"id":207}],[{"start":{"row":65,"column":74},"end":{"row":65,"column":75},"action":"insert","lines":["e"],"id":208}],[{"start":{"row":65,"column":75},"end":{"row":65,"column":76},"action":"insert","lines":["r"],"id":209}],[{"start":{"row":65,"column":76},"end":{"row":65,"column":77},"action":"insert","lines":[" "],"id":210}],[{"start":{"row":65,"column":77},"end":{"row":65,"column":78},"action":"insert","lines":["m"],"id":211}],[{"start":{"row":65,"column":78},"end":{"row":65,"column":79},"action":"insert","lines":["o"],"id":212}],[{"start":{"row":65,"column":79},"end":{"row":65,"column":80},"action":"insert","lines":["n"],"id":213}],[{"start":{"row":65,"column":80},"end":{"row":65,"column":81},"action":"insert","lines":[" "],"id":214}],[{"start":{"row":65,"column":81},"end":{"row":65,"column":82},"action":"insert","lines":["m"],"id":215}],[{"start":{"row":65,"column":82},"end":{"row":65,"column":83},"action":"insert","lines":["o"],"id":216}],[{"start":{"row":65,"column":83},"end":{"row":65,"column":84},"action":"insert","lines":["t"],"id":217}],[{"start":{"row":65,"column":84},"end":{"row":65,"column":85},"action":"insert","lines":[" "],"id":218}],[{"start":{"row":65,"column":85},"end":{"row":65,"column":86},"action":"insert","lines":["d"],"id":219}],[{"start":{"row":65,"column":86},"end":{"row":65,"column":87},"action":"insert","lines":["e"],"id":220}],[{"start":{"row":65,"column":87},"end":{"row":65,"column":88},"action":"insert","lines":[" "],"id":221}],[{"start":{"row":65,"column":88},"end":{"row":65,"column":89},"action":"insert","lines":["p"],"id":222}],[{"start":{"row":65,"column":89},"end":{"row":65,"column":90},"action":"insert","lines":["a"],"id":223}],[{"start":{"row":65,"column":90},"end":{"row":65,"column":91},"action":"insert","lines":["s"],"id":224}],[{"start":{"row":65,"column":91},"end":{"row":65,"column":92},"action":"insert","lines":["s"],"id":225}],[{"start":{"row":65,"column":92},"end":{"row":65,"column":93},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":71,"column":4},"end":{"row":121,"column":23},"action":"remove","lines":["<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/register') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">","                        <input id=\"name\" type=\"text\" class=\"form-control\" name=\"name\" value=\"{{ old('name') }}\" placeholder=\"Pseudo\">","","                        @if ($errors->has('name'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('name') }}</strong>","                            </span>","                        @endif","                    </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">","","                           @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('email') }}</strong>","                            </span>","                        @endif","                    </div>","","                    <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">","                        <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">","","                        @if ($errors->has('password'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('password') }}</strong>","                            </span>","                        @endif","                    </div>","","                    <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">","                        <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\" placeholder=\"Confirmez votre mot de passe\">","","                        @if ($errors->has('password_confirmation'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('password_confirmation') }}</strong>","                            </span>","                        @endif","                    </div>","\t\t\t\t","\t\t\t\t    <div class=\"form-group mt-5\">","                        <div class=\"col-md-6 col-md-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary\">","                                <i class=\"fa fa-btn fa-user\"></i> S'inscrire","                            </button>","                        </div>","                    </div>","                </form>"],"id":227}],[{"start":{"row":69,"column":23},"end":{"row":71,"column":4},"action":"remove","lines":["","\t\t\t    ","\t\t\t\t"],"id":228}],[{"start":{"row":79,"column":0},"end":{"row":144,"column":6},"action":"remove","lines":["<div class=\"container\">","    <div class=\"row\">","        <div class=\"col-md-8 col-md-offset-2\">","            <div class=\"panel panel-default\">","                <div class=\"panel-heading\">Reset Password</div>","","                <div class=\"panel-body\">","                    <form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/password/reset') }}\">","                        {{ csrf_field() }}","","                        <input type=\"hidden\" name=\"token\" value=\"{{ $token }}\">","","                        <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                            <label for=\"email\" class=\"col-md-4 control-label\">E-Mail Address</label>","","                            <div class=\"col-md-6\">","                                <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ $email or old('email') }}\">","","                                @if ($errors->has('email'))","                                    <span class=\"help-block\">","                                        <strong>{{ $errors->first('email') }}</strong>","                                    </span>","                                @endif","                            </div>","                        </div>","","                        <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">","                            <label for=\"password\" class=\"col-md-4 control-label\">Password</label>","","                            <div class=\"col-md-6\">","                                <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\">","","                                @if ($errors->has('password'))","                                    <span class=\"help-block\">","                                        <strong>{{ $errors->first('password') }}</strong>","                                    </span>","                                @endif","                            </div>","                        </div>","","                        <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">","                            <label for=\"password-confirm\" class=\"col-md-4 control-label\">Confirm Password</label>","                            <div class=\"col-md-6\">","                                <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\">","","                                @if ($errors->has('password_confirmation'))","                                    <span class=\"help-block\">","                                        <strong>{{ $errors->first('password_confirmation') }}</strong>","                                    </span>","                                @endif","                            </div>","                        </div>","","                        <div class=\"form-group\">","                            <div class=\"col-md-6 col-md-offset-4\">","                                <button type=\"submit\" class=\"btn btn-primary\">","                                    <i class=\"fa fa-btn fa-refresh\"></i> Reset Password","                                </button>","                            </div>","                        </div>","                    </form>","                </div>","            </div>","        </div>","    </div>","</div>"],"id":229}],[{"start":{"row":78,"column":0},"end":{"row":79,"column":0},"action":"remove","lines":["",""],"id":230}],[{"start":{"row":77,"column":0},"end":{"row":78,"column":0},"action":"remove","lines":["",""],"id":231}],[{"start":{"row":76,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["",""],"id":232}],[{"start":{"row":75,"column":0},"end":{"row":76,"column":0},"action":"remove","lines":["",""],"id":233}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":234}],[{"start":{"row":6,"column":19},"end":{"row":7,"column":0},"action":"remove","lines":["",""],"id":235}],[{"start":{"row":6,"column":19},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":236}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":0},"end":{"row":7,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509890824758,"hash":"0adf11b1e7f84afc4c2d4f3a6d990d9f3c339989"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php
new file mode 100644
index 0000000..c210c16
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php
@@ -0,0 +1 @@
+{"filter":false,"title":"register.blade.1.php","tooltip":"/resources/views/auth/register.blade.1.php","undoManager":{"mark":2,"position":2,"stack":[[{"start":{"row":2,"column":19},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":2}],[{"start":{"row":3,"column":0},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":3}],[{"start":{"row":3,"column":0},"end":{"row":62,"column":6},"action":"insert","lines":["<div class=\"container mb-5\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Inscription</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<!-- Formulaire d'inscription puis connexion en cours de création TODO -->","\t\t\t\t{!! Form::open(['url' => 'register']) !!}","\t\t\t\t\t<!-- Nom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('nom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Votre nom']) !!}","\t\t\t\t\t\t{!! $errors->first('nom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Prénom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!}","\t\t\t\t\t\t{!! $errors->first('prenom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Pseudo utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!}","\t\t\t\t\t\t{!! $errors->first('pseudo', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Email utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}","\t\t\t\t\t\t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pass') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('pass', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Confirmation Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('passValid', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Vérif CGU utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5\">","\t\t\t\t\t\t{!! Form::checkbox('cgu') !!}","\t\t\t\t\t\t<span class=\"ml-3\">J'accepte les <a href=\"cgu\" target=\"_blank\">CGU</a>.</span>","\t\t\t\t\t\t<!-- <input class=\"field\" name=\"agree\" type=\"checkbox\" value=\"1\"> -->","\t\t\t\t\t\t{!! $errors->first('cgu', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Bouton confirmation -->","\t\t\t\t\t<div class=\"form-group mb-0\">","\t\t\t\t\t\t{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}","\t\t\t\t\t</div>","\t\t\t\t{!! Form::close() !!}","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>"],"id":4}]]},"ace":{"folds":[],"scrolltop":108,"scrollleft":0,"selection":{"start":{"row":62,"column":6},"end":{"row":62,"column":6},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"start","mode":"ace/mode/php"}},"timestamp":1509578284478,"hash":"9e57398e3ae2c026600e3a26db07de01736b2e4c"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php
new file mode 100644
index 0000000..a231c86
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"register.blade.php","tooltip":"/resources/views/auth/register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":2},"end":{"row":15,"column":30},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510335880517,"hash":"735cf1d00a16cfe9a322e75641db0d65907954e9"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php
new file mode 100644
index 0000000..33f5a7e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"user_register.blade.php","tooltip":"/resources/views/auth/user_register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":0},"end":{"row":5,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509897366081,"hash":"735cf1d00a16cfe9a322e75641db0d65907954e9"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php b/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php
new file mode 100644
index 0000000..162885e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"cgu.blade.php","tooltip":"/resources/views/cgu.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509579414660,"hash":"cdb5f87eab99ad8fa91a757b7da6a4185874ec7d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php b/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php
new file mode 100644
index 0000000..badf9e8
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"confirmRegistery.blade.php","tooltip":"/resources/views/confirmRegistery.blade.php","undoManager":{"mark":12,"position":12,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":16},"action":"remove","lines":["header"],"id":10},{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"remove","lines":["a"],"id":11}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":12}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":13}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":14}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":16}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":17}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":18}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":19}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"],"id":20}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":21}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":22}]]},"ace":{"folds":[],"scrolltop":293.3998260498047,"scrollleft":0,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":18,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579440581,"hash":"c305f079154d10fb123df1ecd02e06dce8b6faf8"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php b/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php
new file mode 100644
index 0000000..307439d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"503.blade.php","tooltip":"/resources/views/errors/503.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":57},"end":{"row":5,"column":57},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509725465723,"hash":"b54074b983d30efa766b1d6cc805588b9652f985"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/function/announce.php b/workspace/.c9/metadata/workspace/resources/views/function/announce.php
new file mode 100644
index 0000000..bd88b90
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/function/announce.php
@@ -0,0 +1 @@
+{"filter":false,"title":"announce.php","tooltip":"/resources/views/function/announce.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509725458983,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php b/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php
new file mode 100644
index 0000000..f295d3f
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"cgu.blade.php","tooltip":"/resources/views/guide/cgu.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510840091024,"hash":"cdb5f87eab99ad8fa91a757b7da6a4185874ec7d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php
new file mode 100644
index 0000000..ce80673
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php
@@ -0,0 +1 @@
+{"filter":false,"title":"head.blade.1.php","tooltip":"/resources/views/head.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508957221926,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/head.blade.php b/workspace/.c9/metadata/workspace/resources/views/head.blade.php
new file mode 100644
index 0000000..664b4b9
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/head.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"head.blade.php","tooltip":"/resources/views/head.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["e"],"id":225}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":38},"action":"remove","lines":["eee"],"id":227},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["2"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["2"],"id":228}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["8"],"id":229}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["B"],"id":230}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["2"],"id":231}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":232}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":41},"action":"remove","lines":["228B22"],"id":233},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["9"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["a"],"id":234}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["c"],"id":235}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["d"],"id":236}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["3"],"id":237}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":238}],[{"start":{"row":72,"column":13},"end":{"row":73,"column":0},"action":"insert","lines":["",""],"id":245},{"start":{"row":73,"column":0},"end":{"row":73,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":73,"column":12},"end":{"row":74,"column":0},"action":"insert","lines":["",""],"id":246},{"start":{"row":74,"column":0},"end":{"row":74,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["i"],"id":247}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["m"],"id":248}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["g"],"id":249}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["P"],"id":250}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["r"],"id":251}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["o"],"id":252}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["f"],"id":253}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"remove","lines":["f"],"id":254}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["d"],"id":255}],[{"start":{"row":74,"column":19},"end":{"row":74,"column":20},"action":"insert","lines":[" "],"id":256}],[{"start":{"row":74,"column":20},"end":{"row":74,"column":21},"action":"insert","lines":["{"],"id":257}],[{"start":{"row":74,"column":21},"end":{"row":76,"column":13},"action":"insert","lines":["","                ","            }"],"id":258}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["c"],"id":259}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":260}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["n"],"id":261}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":262}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["e"],"id":263}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"remove","lines":["r"],"id":265}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"remove","lines":["e"],"id":266}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"remove","lines":["t"],"id":267}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"remove","lines":["n"],"id":268}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"remove","lines":["e"],"id":269}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"remove","lines":["c"],"id":270}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["t"],"id":271}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":272}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["x"],"id":273}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":274}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["-"],"id":275}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["a"],"id":276}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["l"],"id":277}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":["i"],"id":278}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["g"],"id":279}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["n"],"id":280}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":28},"action":"insert","lines":[":;"],"id":281}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":[" "],"id":282}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["c"],"id":283}],[{"start":{"row":75,"column":29},"end":{"row":75,"column":30},"action":"insert","lines":["e"],"id":284}],[{"start":{"row":75,"column":30},"end":{"row":75,"column":31},"action":"insert","lines":["n"],"id":285}],[{"start":{"row":75,"column":31},"end":{"row":75,"column":32},"action":"insert","lines":["t"],"id":286}],[{"start":{"row":75,"column":32},"end":{"row":75,"column":33},"action":"insert","lines":["e"],"id":287}],[{"start":{"row":75,"column":33},"end":{"row":75,"column":34},"action":"insert","lines":["r"],"id":288}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":289},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["p"],"id":290}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":291}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["d"],"id":292}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["d"],"id":293}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":294}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":295}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["g"],"id":296}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":297}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["="],"id":298}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":[" "],"id":299}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"remove","lines":[" "],"id":300}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"remove","lines":["="],"id":301}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"remove","lines":[" "],"id":302}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":25},"action":"insert","lines":[":;"],"id":303}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":[" "],"id":304}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["a"],"id":305}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["u"],"id":306}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["t"],"id":307}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["o"],"id":308}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":309},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["m"],"id":310}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":311}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["r"],"id":312}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["g"],"id":313}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":314}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":315}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":24},"action":"insert","lines":[":;"],"id":316}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":317}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["a"],"id":318}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["u"],"id":319}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["t"],"id":320}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["o"],"id":321}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":19},"action":"remove","lines":[" imgProd"],"id":322}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":12},"action":"insert","lines":[" "],"id":323}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["c"],"id":324}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["e"],"id":325}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["n"],"id":326}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["t"],"id":327}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["e"],"id":328}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["r"],"id":329}],[{"start":{"row":13,"column":35},"end":{"row":14,"column":103},"action":"remove","lines":["","        <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/bootstrap.min.css\"> -->"],"id":330}],[{"start":{"row":16,"column":42},"end":{"row":17,"column":97},"action":"remove","lines":["","        <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/mdb.min.css\"> -->"],"id":371}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":42},"end":{"row":16,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508956206738,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/head1.blade.php b/workspace/.c9/metadata/workspace/resources/views/head1.blade.php
new file mode 100644
index 0000000..b694de3
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/head1.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"head1.blade.php","tooltip":"/resources/views/head1.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":141,"column":65},"end":{"row":142,"column":0},"action":"insert","lines":["",""],"id":149},{"start":{"row":142,"column":0},"end":{"row":142,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":142,"column":4},"end":{"row":143,"column":0},"action":"insert","lines":["",""],"id":150},{"start":{"row":143,"column":0},"end":{"row":143,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":143,"column":4},"end":{"row":145,"column":71},"action":"insert","lines":["<!-- Bootstrap core JavaScript -->","    <script src=\"vendor/jquery/jquery.min.js\"></script>","    <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>"],"id":151}],[{"start":{"row":142,"column":4},"end":{"row":144,"column":55},"action":"remove","lines":["","    <!-- Bootstrap core JavaScript -->","    <script src=\"vendor/jquery/jquery.min.js\"></script>"],"id":152}],[{"start":{"row":142,"column":4},"end":{"row":143,"column":71},"action":"remove","lines":["","    <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>"],"id":153}],[{"start":{"row":142,"column":0},"end":{"row":142,"column":4},"action":"remove","lines":["    "],"id":154}],[{"start":{"row":141,"column":65},"end":{"row":142,"column":0},"action":"remove","lines":["",""],"id":155}],[{"start":{"row":47,"column":13},"end":{"row":48,"column":0},"action":"insert","lines":["",""],"id":156},{"start":{"row":48,"column":0},"end":{"row":48,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":48,"column":12},"end":{"row":58,"column":1},"action":"insert","lines":["","","body {","  padding-top: 54px;","}","","@media (min-width: 992px) {","  body {","    padding-top: 56px;","  }","}"],"id":157}],[{"start":{"row":49,"column":0},"end":{"row":59,"column":12},"action":"remove","lines":["","body {","  padding-top: 54px;","}","","@media (min-width: 992px) {","  body {","    padding-top: 56px;","  }","}","            "],"id":158}],[{"start":{"row":48,"column":12},"end":{"row":49,"column":0},"action":"remove","lines":["",""],"id":159}],[{"start":{"row":16,"column":8},"end":{"row":17,"column":55},"action":"remove","lines":["<!-- Material Design Bootstrap -->","        <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"],"id":161}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":8},"action":"remove","lines":["    "],"id":162}],[{"start":{"row":16,"column":0},"end":{"row":16,"column":4},"action":"remove","lines":["    "],"id":163}],[{"start":{"row":15,"column":8},"end":{"row":16,"column":0},"action":"remove","lines":["",""],"id":164}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":8},"action":"remove","lines":["    "],"id":165}],[{"start":{"row":15,"column":0},"end":{"row":15,"column":4},"action":"remove","lines":["    "],"id":166}],[{"start":{"row":14,"column":61},"end":{"row":15,"column":0},"action":"remove","lines":["",""],"id":167}],[{"start":{"row":11,"column":114},"end":{"row":12,"column":0},"action":"insert","lines":["",""],"id":168},{"start":{"row":12,"column":0},"end":{"row":12,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":12,"column":8},"end":{"row":13,"column":0},"action":"insert","lines":["",""],"id":169},{"start":{"row":13,"column":0},"end":{"row":13,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":13,"column":8},"end":{"row":14,"column":0},"action":"insert","lines":["",""],"id":170},{"start":{"row":14,"column":0},"end":{"row":14,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":14,"column":8},"end":{"row":15,"column":55},"action":"insert","lines":["<!-- Material Design Bootstrap -->","        <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"],"id":171}],[{"start":{"row":11,"column":114},"end":{"row":12,"column":8},"action":"remove","lines":["","        "],"id":172}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":42},"action":"remove","lines":["-->"],"id":173}],[{"start":{"row":14,"column":55},"end":{"row":14,"column":56},"action":"insert","lines":[" "],"id":174}],[{"start":{"row":14,"column":56},"end":{"row":14,"column":57},"action":"insert","lines":["-"],"id":175}],[{"start":{"row":14,"column":57},"end":{"row":14,"column":58},"action":"insert","lines":["-"],"id":176}],[{"start":{"row":14,"column":58},"end":{"row":14,"column":59},"action":"insert","lines":[">"],"id":177}],[{"start":{"row":14,"column":56},"end":{"row":14,"column":59},"action":"remove","lines":["-->"],"id":178}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":42},"action":"insert","lines":["-->"],"id":179}],[{"start":{"row":14,"column":55},"end":{"row":14,"column":56},"action":"remove","lines":[" "],"id":181}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":11},"action":"insert","lines":["qsd"],"id":188,"ignore":true}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":11},"action":"remove","lines":["qsd"],"id":189,"ignore":true}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":9},"action":"insert","lines":["M"],"id":190,"ignore":true}],[{"start":{"row":15,"column":9},"end":{"row":15,"column":13},"action":"insert","lines":["atte"],"id":191,"ignore":true}],[{"start":{"row":15,"column":13},"end":{"row":15,"column":16},"action":"insert","lines":[" le"],"id":192,"ignore":true}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":[" "],"id":193,"ignore":true}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":20},"action":"insert","lines":["cha"],"id":194,"ignore":true}],[{"start":{"row":15,"column":20},"end":{"row":15,"column":21},"action":"insert","lines":["t"],"id":195,"ignore":true}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":21},"action":"remove","lines":["    Matte le chat"],"id":196,"ignore":true}],[{"start":{"row":15,"column":0},"end":{"row":15,"column":4},"action":"remove","lines":["    "],"id":197,"ignore":true}],[{"start":{"row":14,"column":55},"end":{"row":15,"column":0},"action":"remove","lines":["",""],"id":198,"ignore":true}],[{"start":{"row":14,"column":55},"end":{"row":15,"column":8},"action":"insert","lines":["","        "],"id":199,"ignore":true}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":49},"action":"remove","lines":["mdb.min"],"id":206},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["c"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["u"],"id":207}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["s"],"id":208}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["t"],"id":209}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["o"],"id":210}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["m"],"id":211}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":48},"action":"remove","lines":["custom"],"id":212},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["m"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["d"],"id":213}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["b"],"id":214}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["."],"id":215}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["m"],"id":216}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["i"],"id":217}],[{"start":{"row":14,"column":48},"end":{"row":14,"column":49},"action":"insert","lines":["n"],"id":218}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":49},"action":"remove","lines":["mdb.min"],"id":219},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["c"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["u"],"id":220}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["s"],"id":221}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["t"],"id":222}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["o"],"id":223}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["m"],"id":224}],[{"start":{"row":59,"column":35},"end":{"row":59,"column":41},"action":"remove","lines":["9acd32"],"id":225},{"start":{"row":59,"column":35},"end":{"row":59,"column":41},"action":"insert","lines":["004400"]}],[{"start":{"row":60,"column":13},"end":{"row":61,"column":0},"action":"insert","lines":["",""],"id":226},{"start":{"row":61,"column":0},"end":{"row":61,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":61,"column":12},"end":{"row":62,"column":0},"action":"insert","lines":["",""],"id":227},{"start":{"row":62,"column":0},"end":{"row":62,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":13},"action":"insert","lines":["n"],"id":228}],[{"start":{"row":62,"column":13},"end":{"row":62,"column":14},"action":"insert","lines":["a"],"id":229}],[{"start":{"row":62,"column":14},"end":{"row":62,"column":15},"action":"insert","lines":["v"],"id":230}],[{"start":{"row":62,"column":15},"end":{"row":62,"column":16},"action":"insert","lines":["-"],"id":231}],[{"start":{"row":62,"column":16},"end":{"row":62,"column":17},"action":"insert","lines":["b"],"id":232}],[{"start":{"row":62,"column":17},"end":{"row":62,"column":18},"action":"insert","lines":["a"],"id":233}],[{"start":{"row":62,"column":18},"end":{"row":62,"column":19},"action":"insert","lines":["r"],"id":234}],[{"start":{"row":62,"column":19},"end":{"row":62,"column":20},"action":"insert","lines":[" "],"id":235}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":20},"action":"remove","lines":["nav-bar "],"id":236},{"start":{"row":62,"column":12},"end":{"row":62,"column":20},"action":"insert","lines":["nav-item"]}],[{"start":{"row":62,"column":20},"end":{"row":62,"column":21},"action":"insert","lines":["."],"id":237}],[{"start":{"row":62,"column":21},"end":{"row":62,"column":22},"action":"insert","lines":["f"],"id":238}],[{"start":{"row":62,"column":22},"end":{"row":62,"column":23},"action":"insert","lines":["o"],"id":239}],[{"start":{"row":62,"column":23},"end":{"row":62,"column":24},"action":"insert","lines":["r"],"id":240}],[{"start":{"row":62,"column":24},"end":{"row":62,"column":25},"action":"insert","lines":["m"],"id":241}],[{"start":{"row":62,"column":25},"end":{"row":62,"column":26},"action":"insert","lines":["-"],"id":242}],[{"start":{"row":62,"column":20},"end":{"row":62,"column":21},"action":"insert","lines":[" "],"id":243}],[{"start":{"row":62,"column":27},"end":{"row":62,"column":28},"action":"insert","lines":["c"],"id":244}],[{"start":{"row":62,"column":28},"end":{"row":62,"column":29},"action":"insert","lines":["o"],"id":245}],[{"start":{"row":62,"column":29},"end":{"row":62,"column":30},"action":"insert","lines":["n"],"id":246}],[{"start":{"row":62,"column":30},"end":{"row":62,"column":31},"action":"insert","lines":["t"],"id":247}],[{"start":{"row":62,"column":31},"end":{"row":62,"column":32},"action":"insert","lines":["r"],"id":248}],[{"start":{"row":62,"column":32},"end":{"row":62,"column":33},"action":"insert","lines":["o"],"id":249}],[{"start":{"row":62,"column":33},"end":{"row":62,"column":34},"action":"insert","lines":["l"],"id":250}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":34},"action":"remove","lines":["nav-item .form-control"],"id":251}],[{"start":{"row":58,"column":28},"end":{"row":58,"column":29},"action":"insert","lines":[","],"id":252}],[{"start":{"row":58,"column":29},"end":{"row":58,"column":30},"action":"insert","lines":[" "],"id":253}],[{"start":{"row":58,"column":30},"end":{"row":58,"column":52},"action":"insert","lines":["nav-item .form-control"],"id":254}],[{"start":{"row":61,"column":12},"end":{"row":62,"column":12},"action":"remove","lines":["","            "],"id":255}],[{"start":{"row":61,"column":8},"end":{"row":61,"column":12},"action":"remove","lines":["    "],"id":256}],[{"start":{"row":61,"column":4},"end":{"row":61,"column":8},"action":"remove","lines":["    "],"id":257}],[{"start":{"row":61,"column":0},"end":{"row":61,"column":4},"action":"remove","lines":["    "],"id":258}],[{"start":{"row":60,"column":13},"end":{"row":61,"column":0},"action":"remove","lines":["",""],"id":259}],[{"start":{"row":58,"column":39},"end":{"row":58,"column":40},"action":"insert","lines":["."],"id":260}],[{"start":{"row":58,"column":40},"end":{"row":58,"column":51},"action":"insert","lines":["form-inline"],"id":261}],[{"start":{"row":58,"column":38},"end":{"row":58,"column":39},"action":"remove","lines":[" "],"id":262}],[{"start":{"row":58,"column":28},"end":{"row":58,"column":63},"action":"remove","lines":[", nav-item.form-inline.form-control"],"id":263}],[{"start":{"row":14,"column":48},"end":{"row":14,"column":49},"action":"insert","lines":["n"],"id":270}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["i"],"id":269}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["m"],"id":268}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["."],"id":267}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["b"],"id":266}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["d"],"id":265}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":48},"action":"remove","lines":["custom"],"id":264},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["m"]}]]},"ace":{"folds":[],"scrolltop":1086.777808189392,"scrollleft":0,"selection":{"start":{"row":59,"column":41},"end":{"row":59,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":74,"state":"css-ruleset","mode":"ace/mode/php"}},"timestamp":1509118861139,"hash":"05c52dcf18522522e20884b282be028f3d720545"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php
new file mode 100644
index 0000000..4f9ff17
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header.blade.1.php","tooltip":"/resources/views/header.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508957222475,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/header.blade.php
new file mode 100644
index 0000000..4d78a03
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/header.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/header.blade.php","undoManager":{"mark":90,"position":90,"stack":[[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["3"],"id":1}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"remove","lines":["3"],"id":2}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["4"],"id":3}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["a"],"id":4}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["a"],"id":5}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["f"],"id":6}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":112},"action":"remove","lines":["4f"],"id":7},{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["5"]}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["f"],"id":8}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["f"],"id":9}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"remove","lines":["5"],"id":10}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["4"],"id":11}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["a"],"id":12}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"remove","lines":["0"],"id":13}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"remove","lines":["0"],"id":14}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["2"],"id":15}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["2"],"id":16}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["0"],"id":17}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["0"],"id":18}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["2"],"id":19}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["2"],"id":20}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":110},"action":"remove","lines":["22"],"id":21},{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["4"]}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["4"],"id":22}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["2"],"id":23}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["2"],"id":24}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["4"],"id":25}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["4"],"id":26}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["4"],"id":27}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["4"],"id":28}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["1"],"id":29}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["1"],"id":30}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"remove","lines":["4"],"id":31}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"remove","lines":["4"],"id":32}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["1"],"id":33}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["1"],"id":34}],[{"start":{"row":4,"column":82},"end":{"row":4,"column":115},"action":"remove","lines":["style='background-color: #114a11'"],"id":35}],[{"start":{"row":4,"column":81},"end":{"row":4,"column":82},"action":"remove","lines":[" "],"id":36}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"insert","lines":["a"],"id":39}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["v"],"id":40}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["v"],"id":41}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"remove","lines":["a"],"id":42}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"remove","lines":["n"],"id":43}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"remove","lines":[" "],"id":44}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"insert","lines":[" "],"id":45}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"insert","lines":["b"],"id":46}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"insert","lines":["o"],"id":47}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["l"],"id":48}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"insert","lines":[" "],"id":50}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"insert","lines":["b"],"id":51}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"insert","lines":["o"],"id":52}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"insert","lines":["l"],"id":53}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"insert","lines":["d"],"id":54}],[{"start":{"row":20,"column":38},"end":{"row":20,"column":39},"action":"insert","lines":[" "],"id":55}],[{"start":{"row":20,"column":39},"end":{"row":20,"column":40},"action":"insert","lines":["b"],"id":56}],[{"start":{"row":20,"column":40},"end":{"row":20,"column":41},"action":"insert","lines":["o"],"id":57}],[{"start":{"row":20,"column":41},"end":{"row":20,"column":42},"action":"insert","lines":["l"],"id":58}],[{"start":{"row":20,"column":42},"end":{"row":20,"column":43},"action":"insert","lines":["d"],"id":59}],[{"start":{"row":23,"column":38},"end":{"row":23,"column":39},"action":"insert","lines":[" "],"id":60}],[{"start":{"row":23,"column":39},"end":{"row":23,"column":40},"action":"insert","lines":["b"],"id":61}],[{"start":{"row":23,"column":40},"end":{"row":23,"column":41},"action":"insert","lines":["o"],"id":62}],[{"start":{"row":23,"column":41},"end":{"row":23,"column":42},"action":"insert","lines":["l"],"id":63}],[{"start":{"row":23,"column":42},"end":{"row":23,"column":43},"action":"insert","lines":["d"],"id":64}],[{"start":{"row":23,"column":42},"end":{"row":23,"column":43},"action":"remove","lines":["d"],"id":65}],[{"start":{"row":23,"column":41},"end":{"row":23,"column":42},"action":"remove","lines":["l"],"id":66}],[{"start":{"row":23,"column":40},"end":{"row":23,"column":41},"action":"remove","lines":["o"],"id":67}],[{"start":{"row":23,"column":39},"end":{"row":23,"column":40},"action":"remove","lines":["b"],"id":68}],[{"start":{"row":23,"column":38},"end":{"row":23,"column":39},"action":"remove","lines":[" "],"id":69}],[{"start":{"row":20,"column":42},"end":{"row":20,"column":43},"action":"remove","lines":["d"],"id":70}],[{"start":{"row":20,"column":41},"end":{"row":20,"column":42},"action":"remove","lines":["l"],"id":71}],[{"start":{"row":20,"column":40},"end":{"row":20,"column":41},"action":"remove","lines":["o"],"id":72}],[{"start":{"row":20,"column":39},"end":{"row":20,"column":40},"action":"remove","lines":["b"],"id":73}],[{"start":{"row":20,"column":38},"end":{"row":20,"column":39},"action":"remove","lines":[" "],"id":74}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"remove","lines":["d"],"id":75}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"remove","lines":["l"],"id":76}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"remove","lines":["o"],"id":77}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"remove","lines":["b"],"id":78}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"remove","lines":[" "],"id":79}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"remove","lines":["d"],"id":80}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["l"],"id":81}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"remove","lines":["o"],"id":82}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"remove","lines":["b"],"id":83}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"remove","lines":[" "],"id":84}],[{"start":{"row":4,"column":63},"end":{"row":4,"column":70},"action":"remove","lines":["inverse"],"id":85},{"start":{"row":4,"column":63},"end":{"row":4,"column":64},"action":"insert","lines":["l"]}],[{"start":{"row":4,"column":64},"end":{"row":4,"column":65},"action":"insert","lines":["i"],"id":86}],[{"start":{"row":4,"column":65},"end":{"row":4,"column":66},"action":"insert","lines":["g"],"id":87}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"insert","lines":["t"],"id":88}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"remove","lines":["t"],"id":89}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"insert","lines":["h"],"id":90}],[{"start":{"row":4,"column":67},"end":{"row":4,"column":68},"action":"insert","lines":["t"],"id":91}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":43},"end":{"row":7,"column":43},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":44,"state":"comment","mode":"ace/mode/php"}},"timestamp":1508921218731,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/header1.blade.php b/workspace/.c9/metadata/workspace/resources/views/header1.blade.php
new file mode 100644
index 0000000..afea4e3
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/header1.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header1.blade.php","tooltip":"/resources/views/header1.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":24,"column":47},"end":{"row":24,"column":47},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509350415504,"hash":"c09b03dba212d036b48a700e06e50266eab63026"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/home.blade.php b/workspace/.c9/metadata/workspace/resources/views/home.blade.php
new file mode 100644
index 0000000..b5d09a5
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/home.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"home.blade.php","tooltip":"/resources/views/home.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":28},"end":{"row":7,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"091bcfa479d81f89bbe8697f80b45339a477bc22"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php
new file mode 100644
index 0000000..417ae70
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.blade.1.php","tooltip":"/resources/views/index.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":130.4000000000002,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":8,"state":"start","mode":"ace/mode/php"}},"timestamp":1508957223264,"hash":"f48bbc05edaa2f89c4da3e8fd7aee90f76c0d51f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/index.blade.php b/workspace/.c9/metadata/workspace/resources/views/index.blade.php
new file mode 100644
index 0000000..885fccc
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/index.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index.blade.php","tooltip":"/resources/views/index.blade.php","ace":{"folds":[],"scrolltop":1078,"scrollleft":0,"selection":{"start":{"row":69,"column":0},"end":{"row":69,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":66,"state":"start","mode":"ace/mode/php"}},"hash":"3b47b1d1bf64f139d75b2768692e1b4c49ed36fa","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1509897482913}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/index1.blade.php b/workspace/.c9/metadata/workspace/resources/views/index1.blade.php
new file mode 100644
index 0000000..2be9dab
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/index1.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"index1.blade.php","tooltip":"/resources/views/index1.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":35,"column":15},"end":{"row":35,"column":16},"action":"remove","lines":["-"],"id":445}],[{"start":{"row":35,"column":14},"end":{"row":35,"column":15},"action":"remove","lines":["-"],"id":446}],[{"start":{"row":35,"column":13},"end":{"row":35,"column":14},"action":"remove","lines":["!"],"id":447}],[{"start":{"row":35,"column":12},"end":{"row":35,"column":13},"action":"remove","lines":["<"],"id":448}],[{"start":{"row":44,"column":18},"end":{"row":44,"column":19},"action":"remove","lines":[">"],"id":449}],[{"start":{"row":44,"column":17},"end":{"row":44,"column":18},"action":"remove","lines":["-"],"id":450}],[{"start":{"row":44,"column":16},"end":{"row":44,"column":17},"action":"remove","lines":["-"],"id":451}],[{"start":{"row":45,"column":12},"end":{"row":53,"column":16},"action":"remove","lines":["","            <a class=\"carousel-control-prev\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"prev\">","                <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>","                <span class=\"sr-only\">Previous</span>","            </a>","            <a class=\"carousel-control-next\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"next\">","                <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>","                <span class=\"sr-only\">Next</span>","            </a>"],"id":452}],[{"start":{"row":45,"column":8},"end":{"row":45,"column":12},"action":"remove","lines":["    "],"id":453}],[{"start":{"row":45,"column":4},"end":{"row":45,"column":8},"action":"remove","lines":["    "],"id":454}],[{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"remove","lines":["    "],"id":455}],[{"start":{"row":44,"column":16},"end":{"row":45,"column":0},"action":"remove","lines":["",""],"id":456}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":457}],[{"start":{"row":2,"column":0},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":458}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":459}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["@"],"id":460}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["s"],"id":461}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":["e"],"id":462}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["c"],"id":463}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":4},"action":"remove","lines":["sec"],"id":464},{"start":{"row":2,"column":1},"end":{"row":2,"column":8},"action":"insert","lines":["section"]}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["("],"id":465}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["'"],"id":466}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["t"],"id":467}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["i"],"id":468}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["t"],"id":469}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["l"],"id":470}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["e"],"id":471}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["'"],"id":472}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":[")"],"id":473}],[{"start":{"row":2,"column":17},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":474}],[{"start":{"row":3,"column":0},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":475}],[{"start":{"row":4,"column":0},"end":{"row":4,"column":1},"action":"insert","lines":["@"],"id":476}],[{"start":{"row":4,"column":1},"end":{"row":4,"column":2},"action":"insert","lines":["e"],"id":477}],[{"start":{"row":4,"column":2},"end":{"row":4,"column":3},"action":"insert","lines":["n"],"id":478}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["d"],"id":479}],[{"start":{"row":4,"column":4},"end":{"row":4,"column":5},"action":"insert","lines":["s"],"id":480}],[{"start":{"row":4,"column":5},"end":{"row":4,"column":6},"action":"insert","lines":["e"],"id":481}],[{"start":{"row":4,"column":6},"end":{"row":4,"column":7},"action":"insert","lines":["c"],"id":482}],[{"start":{"row":4,"column":7},"end":{"row":4,"column":8},"action":"insert","lines":["t"],"id":483}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":["i"],"id":484}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["o"],"id":485}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["n"],"id":486}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["A"],"id":487}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["c"],"id":488}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["c"],"id":489}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["u"],"id":490}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["e"],"id":491}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["i"],"id":492}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["l"],"id":493}],[{"start":{"row":52,"column":14},"end":{"row":52,"column":15},"action":"insert","lines":["-"],"id":494}],[{"start":{"row":52,"column":15},"end":{"row":52,"column":16},"action":"insert","lines":["-"],"id":495}],[{"start":{"row":52,"column":16},"end":{"row":52,"column":17},"action":"insert","lines":[">"],"id":496}],[{"start":{"row":20,"column":21},"end":{"row":21,"column":8},"action":"insert","lines":["","        "],"id":497}],[{"start":{"row":21,"column":8},"end":{"row":21,"column":9},"action":"insert","lines":["<"],"id":498}],[{"start":{"row":21,"column":9},"end":{"row":21,"column":10},"action":"insert","lines":["!"],"id":499}],[{"start":{"row":21,"column":10},"end":{"row":21,"column":11},"action":"insert","lines":["-"],"id":500}],[{"start":{"row":21,"column":11},"end":{"row":21,"column":12},"action":"insert","lines":["-"],"id":501}],[{"start":{"row":53,"column":14},"end":{"row":53,"column":17},"action":"remove","lines":["-->"],"id":502}],[{"start":{"row":69,"column":10},"end":{"row":69,"column":11},"action":"insert","lines":["-"],"id":503}],[{"start":{"row":69,"column":11},"end":{"row":69,"column":12},"action":"insert","lines":["-"],"id":504}],[{"start":{"row":69,"column":12},"end":{"row":69,"column":13},"action":"insert","lines":[">"],"id":505}],[{"start":{"row":21,"column":8},"end":{"row":21,"column":12},"action":"remove","lines":["<!--"],"id":506}],[{"start":{"row":19,"column":4},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":507},{"start":{"row":20,"column":0},"end":{"row":20,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":8},"action":"insert","lines":["<!--"],"id":508}],[{"start":{"row":70,"column":13},"end":{"row":71,"column":0},"action":"insert","lines":["",""],"id":509},{"start":{"row":71,"column":0},"end":{"row":71,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":71,"column":4},"end":{"row":72,"column":0},"action":"insert","lines":["",""],"id":510},{"start":{"row":72,"column":0},"end":{"row":72,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":72,"column":0},"end":{"row":72,"column":4},"action":"remove","lines":["    "],"id":513}],[{"start":{"row":71,"column":4},"end":{"row":72,"column":0},"action":"remove","lines":["",""],"id":514}],[{"start":{"row":71,"column":0},"end":{"row":71,"column":4},"action":"remove","lines":["    "],"id":515}],[{"start":{"row":70,"column":13},"end":{"row":71,"column":0},"action":"remove","lines":["",""],"id":516}],[{"start":{"row":70,"column":12},"end":{"row":70,"column":13},"action":"remove","lines":[">"],"id":517}],[{"start":{"row":70,"column":11},"end":{"row":70,"column":12},"action":"remove","lines":["-"],"id":518}],[{"start":{"row":70,"column":10},"end":{"row":70,"column":11},"action":"remove","lines":["-"],"id":519}],[{"start":{"row":68,"column":14},"end":{"row":68,"column":15},"action":"insert","lines":["-"],"id":520}],[{"start":{"row":68,"column":15},"end":{"row":68,"column":16},"action":"insert","lines":["-"],"id":521}],[{"start":{"row":68,"column":16},"end":{"row":68,"column":17},"action":"insert","lines":[">"],"id":522}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":8},"action":"remove","lines":["<!--"],"id":523}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":12},"action":"insert","lines":["<!--"],"id":524}],[{"start":{"row":68,"column":17},"end":{"row":69,"column":0},"action":"insert","lines":["",""],"id":525},{"start":{"row":69,"column":0},"end":{"row":69,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":69,"column":8},"end":{"row":70,"column":0},"action":"insert","lines":["",""],"id":526},{"start":{"row":70,"column":0},"end":{"row":70,"column":8},"action":"insert","lines":["        "]}],[{"start":{"row":70,"column":4},"end":{"row":70,"column":8},"action":"remove","lines":["    "],"id":528}],[{"start":{"row":70,"column":0},"end":{"row":70,"column":4},"action":"remove","lines":["    "],"id":529}],[{"start":{"row":69,"column":8},"end":{"row":70,"column":0},"action":"remove","lines":["",""],"id":530}],[{"start":{"row":69,"column":4},"end":{"row":69,"column":8},"action":"remove","lines":["    "],"id":531}],[{"start":{"row":69,"column":0},"end":{"row":69,"column":4},"action":"remove","lines":["    "],"id":532}],[{"start":{"row":68,"column":17},"end":{"row":69,"column":0},"action":"remove","lines":["",""],"id":533}],[{"start":{"row":68,"column":16},"end":{"row":68,"column":17},"action":"remove","lines":[">"],"id":534}],[{"start":{"row":68,"column":15},"end":{"row":68,"column":16},"action":"remove","lines":["-"],"id":535}],[{"start":{"row":68,"column":14},"end":{"row":68,"column":15},"action":"remove","lines":["-"],"id":536}],[{"start":{"row":22,"column":11},"end":{"row":22,"column":12},"action":"remove","lines":["-"],"id":537}],[{"start":{"row":22,"column":10},"end":{"row":22,"column":11},"action":"remove","lines":["-"],"id":538}],[{"start":{"row":22,"column":9},"end":{"row":22,"column":10},"action":"remove","lines":["!"],"id":539}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":9},"action":"remove","lines":["<"],"id":546}],[{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"insert","lines":["    "],"id":547},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"insert","lines":["    "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"insert","lines":["    "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"insert","lines":["    "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"insert","lines":["    "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"insert","lines":["    "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"insert","lines":["    "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"insert","lines":["    "]},{"start":{"row":51,"column":0},"end":{"row":51,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":51,"column":20},"end":{"row":52,"column":12},"action":"remove","lines":["","            "],"id":548},{"start":{"row":51,"column":20},"end":{"row":51,"column":21},"action":"insert","lines":["*"]}],[{"start":{"row":51,"column":20},"end":{"row":51,"column":21},"action":"remove","lines":["*"],"id":549}],[{"start":{"row":52,"column":18},"end":{"row":53,"column":0},"action":"insert","lines":["",""],"id":550},{"start":{"row":53,"column":0},"end":{"row":53,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":52,"column":18},"end":{"row":53,"column":12},"action":"remove","lines":["","            "],"id":551}],[{"start":{"row":71,"column":21},"end":{"row":71,"column":37},"action":"remove","lines":["Related Projects"],"id":552,"ignore":true},{"start":{"row":71,"column":21},"end":{"row":71,"column":35},"action":"insert","lines":["Périme bientôt"]}],[{"start":{"row":71,"column":27},"end":{"row":71,"column":28},"action":"insert","lines":["n"],"id":553}],[{"start":{"row":71,"column":28},"end":{"row":71,"column":29},"action":"insert","lines":["t"],"id":554}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":0},"end":{"row":5,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"start","mode":"ace/mode/php"}},"timestamp":1509113523828,"hash":"16be330121771162d4aaa10834220db2fb83f122"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php
new file mode 100644
index 0000000..f321f40
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"app.blade.php","tooltip":"/resources/views/layouts/app.blade.php","ace":{"folds":[],"scrolltop":360,"scrollleft":0,"selection":{"start":{"row":36,"column":28},"end":{"row":36,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":13,"state":"start","mode":"ace/mode/php"}},"hash":"22e40d1b15375054715cc2d6087edd656384d0b2","undoManager":{"mark":93,"position":93,"stack":[[{"start":{"row":20,"column":53},"end":{"row":20,"column":60},"action":"remove","lines":["accueil"],"id":183,"ignore":true},{"start":{"row":20,"column":53},"end":{"row":20,"column":54},"action":"insert","lines":["/"]}],[{"start":{"row":66,"column":63},"end":{"row":66,"column":64},"action":"remove","lines":["#"],"id":184}],[{"start":{"row":66,"column":63},"end":{"row":66,"column":64},"action":"insert","lines":["{"],"id":185}],[{"start":{"row":66,"column":64},"end":{"row":66,"column":65},"action":"insert","lines":["{"],"id":186}],[{"start":{"row":66,"column":65},"end":{"row":66,"column":66},"action":"insert","lines":["u"],"id":187}],[{"start":{"row":66,"column":66},"end":{"row":66,"column":67},"action":"insert","lines":["r"],"id":188}],[{"start":{"row":66,"column":67},"end":{"row":66,"column":68},"action":"insert","lines":["l"],"id":189}],[{"start":{"row":66,"column":68},"end":{"row":66,"column":69},"action":"insert","lines":["("],"id":190}],[{"start":{"row":66,"column":69},"end":{"row":66,"column":70},"action":"insert","lines":["'"],"id":191}],[{"start":{"row":66,"column":70},"end":{"row":66,"column":71},"action":"insert","lines":["p"],"id":192}],[{"start":{"row":66,"column":71},"end":{"row":66,"column":72},"action":"insert","lines":["r"],"id":193}],[{"start":{"row":66,"column":72},"end":{"row":66,"column":73},"action":"insert","lines":["o"],"id":194}],[{"start":{"row":66,"column":73},"end":{"row":66,"column":74},"action":"insert","lines":["d"],"id":195}],[{"start":{"row":66,"column":74},"end":{"row":66,"column":75},"action":"insert","lines":["u"],"id":196}],[{"start":{"row":66,"column":75},"end":{"row":66,"column":76},"action":"insert","lines":["c"],"id":197}],[{"start":{"row":66,"column":76},"end":{"row":66,"column":77},"action":"insert","lines":["t"],"id":198}],[{"start":{"row":66,"column":77},"end":{"row":66,"column":78},"action":"insert","lines":["s"],"id":199}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["'"],"id":200}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":[")"],"id":201}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["}"],"id":202}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["}"],"id":203}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["/"],"id":204}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":205}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":206}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":207}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":208}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":209}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":210}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":85},"action":"remove","lines":["alimen"],"id":211},{"start":{"row":66,"column":79},"end":{"row":66,"column":87},"action":"insert","lines":["aliments"]}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["s"],"id":212}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":213}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":214}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":215}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":216}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":217}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":218}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":219}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":220}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":221}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":222}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":223}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":224}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":225}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"insert","lines":["t"],"id":226}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["a"],"id":227}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"insert","lines":["r"],"id":228}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"insert","lines":["y"],"id":229}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"remove","lines":["y"],"id":230}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"remove","lines":["r"],"id":231}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["a"],"id":232}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":233}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":234}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":235}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":236}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":237}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":238}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":239}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["c"],"id":240}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["r"],"id":241}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["e"],"id":242}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["a"],"id":243}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["t"],"id":244}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["e"],"id":245}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["e"],"id":246}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["t"],"id":247}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["a"],"id":248}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["e"],"id":249}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["r"],"id":250}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["c"],"id":251}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"remove","lines":["/"],"id":252}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["/"],"id":253}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":254}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":255}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":256}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":257}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":258}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":259}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"insert","lines":["t"],"id":260}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["s"],"id":261}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["s"],"id":262}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["a"],"id":263}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"insert","lines":["y"],"id":265}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"remove","lines":["y"],"id":266}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"remove","lines":["r"],"id":267}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["a"],"id":268}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":269}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":270}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":271}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":272}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":273}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":274}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":275}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"remove","lines":["/"],"id":276}]]},"timestamp":1511149767193}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php
new file mode 100644
index 0000000..d3ae407
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/layouts/header.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":26,"column":21},"end":{"row":26,"column":22},"action":"insert","lines":["!"],"id":774}],[{"start":{"row":26,"column":22},"end":{"row":26,"column":23},"action":"insert","lines":["-"],"id":775}],[{"start":{"row":26,"column":23},"end":{"row":26,"column":24},"action":"insert","lines":["-"],"id":776}],[{"start":{"row":29,"column":25},"end":{"row":29,"column":26},"action":"insert","lines":[" "],"id":777}],[{"start":{"row":29,"column":26},"end":{"row":29,"column":27},"action":"insert","lines":["-"],"id":778}],[{"start":{"row":29,"column":27},"end":{"row":29,"column":28},"action":"insert","lines":["-"],"id":779}],[{"start":{"row":29,"column":28},"end":{"row":29,"column":29},"action":"insert","lines":[">"],"id":780}],[{"start":{"row":24,"column":71},"end":{"row":24,"column":76},"action":"remove","lines":["Login"],"id":781},{"start":{"row":24,"column":71},"end":{"row":24,"column":72},"action":"insert","lines":["C"]}],[{"start":{"row":24,"column":72},"end":{"row":24,"column":73},"action":"insert","lines":["o"],"id":782}],[{"start":{"row":24,"column":73},"end":{"row":24,"column":74},"action":"insert","lines":["n"],"id":783}],[{"start":{"row":24,"column":74},"end":{"row":24,"column":75},"action":"insert","lines":["n"],"id":784}],[{"start":{"row":24,"column":75},"end":{"row":24,"column":76},"action":"insert","lines":["e"],"id":785}],[{"start":{"row":24,"column":76},"end":{"row":24,"column":77},"action":"insert","lines":["x"],"id":786}],[{"start":{"row":24,"column":77},"end":{"row":24,"column":78},"action":"insert","lines":["i"],"id":787}],[{"start":{"row":24,"column":78},"end":{"row":24,"column":79},"action":"insert","lines":["o"],"id":788}],[{"start":{"row":24,"column":79},"end":{"row":24,"column":80},"action":"insert","lines":["n"],"id":789}],[{"start":{"row":33,"column":73},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":790},{"start":{"row":34,"column":0},"end":{"row":34,"column":24},"action":"insert","lines":["                        "]}],[{"start":{"row":34,"column":24},"end":{"row":51,"column":26},"action":"insert","lines":["<div class=\"dropdown\" >","                        <a class=\"nav-link dropdown-toggle\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\" aria-haspopup=\"true\" ","                        aria-expanded=\"false\" href=\"#\">Produits</a>","                        <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">","                            ","                            <!-- Lance directement une recher générale -->","                            <a class=\"dropdown-item\" href=\"/produits\">Tous les produits</a>","                            ","                            <!-- Lance diirect une recherche sur des aliments bios -->","                            <a class=\"dropdown-item\" href=\"#\">Le Bio</a>","                            ","                            <!-- Lance directement une recher sur des plantes décoratives -->","                            <a class=\"dropdown-item\" href=\"#\">Décos</a>","                            ","                            <!-- Lance directement une recher sur des recettes de cuisine -->","                            <a class=\"dropdown-item\" href=\"#\">recettes</a>","                        </div>","                    </div>"],"id":791}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"insert","lines":["²"],"id":792}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"remove","lines":["²"],"id":793}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":28},"action":"insert","lines":["    "],"id":794}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":28},"action":"insert","lines":["    "],"id":795}],[{"start":{"row":37,"column":24},"end":{"row":37,"column":28},"action":"insert","lines":["    "],"id":796}],[{"start":{"row":38,"column":0},"end":{"row":38,"column":4},"action":"insert","lines":["    "],"id":797},{"start":{"row":39,"column":0},"end":{"row":39,"column":4},"action":"insert","lines":["    "]},{"start":{"row":40,"column":0},"end":{"row":40,"column":4},"action":"insert","lines":["    "]},{"start":{"row":41,"column":0},"end":{"row":41,"column":4},"action":"insert","lines":["    "]},{"start":{"row":42,"column":0},"end":{"row":42,"column":4},"action":"insert","lines":["    "]},{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"insert","lines":["    "]},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"insert","lines":["    "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"insert","lines":["    "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"insert","lines":["    "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"insert","lines":["    "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"insert","lines":["    "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"insert","lines":["    "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":36,"column":71},"end":{"row":36,"column":72},"action":"insert","lines":["*"],"id":798}],[{"start":{"row":36,"column":72},"end":{"row":37,"column":0},"action":"insert","lines":["",""],"id":799},{"start":{"row":37,"column":0},"end":{"row":37,"column":28},"action":"insert","lines":["                            "]}],[{"start":{"row":36,"column":71},"end":{"row":36,"column":72},"action":"remove","lines":["*"],"id":800}],[{"start":{"row":36,"column":59},"end":{"row":36,"column":67},"action":"remove","lines":["Produits"],"id":801},{"start":{"row":36,"column":59},"end":{"row":36,"column":60},"action":"insert","lines":["M"]}],[{"start":{"row":36,"column":60},"end":{"row":36,"column":61},"action":"insert","lines":["o"],"id":802}],[{"start":{"row":36,"column":61},"end":{"row":36,"column":62},"action":"insert","lines":["n"],"id":803}],[{"start":{"row":36,"column":62},"end":{"row":36,"column":63},"action":"insert","lines":[" "],"id":804}],[{"start":{"row":36,"column":63},"end":{"row":36,"column":64},"action":"insert","lines":["c"],"id":805}],[{"start":{"row":36,"column":64},"end":{"row":36,"column":65},"action":"insert","lines":["o"],"id":806}],[{"start":{"row":36,"column":65},"end":{"row":36,"column":66},"action":"insert","lines":["m"],"id":807}],[{"start":{"row":36,"column":66},"end":{"row":36,"column":67},"action":"insert","lines":["p"],"id":808}],[{"start":{"row":36,"column":67},"end":{"row":36,"column":68},"action":"insert","lines":["t"],"id":809}],[{"start":{"row":36,"column":68},"end":{"row":36,"column":69},"action":"insert","lines":["e"],"id":810}],[{"start":{"row":41,"column":89},"end":{"row":41,"column":90},"action":"remove","lines":["t"],"id":811}],[{"start":{"row":41,"column":88},"end":{"row":41,"column":89},"action":"remove","lines":["i"],"id":812}],[{"start":{"row":41,"column":87},"end":{"row":41,"column":88},"action":"remove","lines":["u"],"id":813}],[{"start":{"row":41,"column":86},"end":{"row":41,"column":87},"action":"remove","lines":["d"],"id":814}],[{"start":{"row":41,"column":85},"end":{"row":41,"column":86},"action":"remove","lines":["o"],"id":815}],[{"start":{"row":41,"column":84},"end":{"row":41,"column":85},"action":"remove","lines":["r"],"id":816}],[{"start":{"row":41,"column":84},"end":{"row":41,"column":85},"action":"remove","lines":["s"],"id":817}],[{"start":{"row":41,"column":83},"end":{"row":41,"column":84},"action":"remove","lines":["p"],"id":818}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"remove","lines":[" "],"id":819}],[{"start":{"row":41,"column":81},"end":{"row":41,"column":82},"action":"remove","lines":["s"],"id":820}],[{"start":{"row":41,"column":80},"end":{"row":41,"column":81},"action":"remove","lines":["e"],"id":821}],[{"start":{"row":41,"column":79},"end":{"row":41,"column":80},"action":"remove","lines":["l"],"id":822}],[{"start":{"row":41,"column":78},"end":{"row":41,"column":79},"action":"remove","lines":[" "],"id":823}],[{"start":{"row":41,"column":77},"end":{"row":41,"column":78},"action":"remove","lines":["s"],"id":824}],[{"start":{"row":41,"column":76},"end":{"row":41,"column":77},"action":"remove","lines":["u"],"id":825}],[{"start":{"row":41,"column":75},"end":{"row":41,"column":76},"action":"remove","lines":["o"],"id":826}],[{"start":{"row":41,"column":74},"end":{"row":41,"column":75},"action":"remove","lines":["T"],"id":827}],[{"start":{"row":41,"column":74},"end":{"row":41,"column":75},"action":"insert","lines":["o"],"id":828}],[{"start":{"row":41,"column":75},"end":{"row":41,"column":76},"action":"insert","lines":["p"],"id":829}],[{"start":{"row":41,"column":76},"end":{"row":41,"column":77},"action":"insert","lines":["t"],"id":830}],[{"start":{"row":41,"column":77},"end":{"row":41,"column":78},"action":"insert","lines":["i"],"id":831}],[{"start":{"row":41,"column":78},"end":{"row":41,"column":79},"action":"insert","lines":["o"],"id":832}],[{"start":{"row":41,"column":79},"end":{"row":41,"column":80},"action":"insert","lines":["n"],"id":833}],[{"start":{"row":41,"column":80},"end":{"row":41,"column":81},"action":"insert","lines":["1"],"id":834}],[{"start":{"row":44,"column":66},"end":{"row":44,"column":72},"action":"remove","lines":["Le Bio"],"id":835},{"start":{"row":44,"column":66},"end":{"row":44,"column":67},"action":"insert","lines":["o"]}],[{"start":{"row":44,"column":67},"end":{"row":44,"column":68},"action":"insert","lines":["p"],"id":836}],[{"start":{"row":44,"column":68},"end":{"row":44,"column":69},"action":"insert","lines":["t"],"id":837}],[{"start":{"row":44,"column":69},"end":{"row":44,"column":70},"action":"insert","lines":["i"],"id":838}],[{"start":{"row":44,"column":70},"end":{"row":44,"column":71},"action":"insert","lines":["o"],"id":839}],[{"start":{"row":44,"column":71},"end":{"row":44,"column":72},"action":"insert","lines":["n"],"id":840}],[{"start":{"row":44,"column":72},"end":{"row":44,"column":73},"action":"insert","lines":["2"],"id":841}],[{"start":{"row":41,"column":64},"end":{"row":41,"column":72},"action":"remove","lines":["produits"],"id":842}],[{"start":{"row":41,"column":63},"end":{"row":41,"column":64},"action":"remove","lines":["/"],"id":843}],[{"start":{"row":41,"column":63},"end":{"row":41,"column":64},"action":"insert","lines":["#"],"id":844}],[{"start":{"row":47,"column":66},"end":{"row":47,"column":71},"action":"remove","lines":["Décos"],"id":845},{"start":{"row":47,"column":66},"end":{"row":47,"column":67},"action":"insert","lines":["o"]}],[{"start":{"row":47,"column":67},"end":{"row":47,"column":68},"action":"insert","lines":["p"],"id":846}],[{"start":{"row":47,"column":68},"end":{"row":47,"column":69},"action":"insert","lines":["t"],"id":847}],[{"start":{"row":47,"column":69},"end":{"row":47,"column":70},"action":"insert","lines":["i"],"id":848}],[{"start":{"row":47,"column":70},"end":{"row":47,"column":71},"action":"insert","lines":["o"],"id":849}],[{"start":{"row":47,"column":71},"end":{"row":47,"column":72},"action":"insert","lines":["n"],"id":850}],[{"start":{"row":47,"column":72},"end":{"row":47,"column":73},"action":"insert","lines":["3"],"id":851}],[{"start":{"row":36,"column":73},"end":{"row":37,"column":0},"action":"insert","lines":["",""],"id":852},{"start":{"row":37,"column":0},"end":{"row":37,"column":28},"action":"insert","lines":["                            "]}],[{"start":{"row":37,"column":28},"end":{"row":38,"column":0},"action":"insert","lines":["",""],"id":853},{"start":{"row":38,"column":0},"end":{"row":38,"column":28},"action":"insert","lines":["                            "]}],[{"start":{"row":38,"column":28},"end":{"row":40,"column":32},"action":"insert","lines":["<a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\">","                                {{ Auth::user()->name }} <span class=\"caret\"></span>","                            </a>"],"id":854}],[{"start":{"row":54,"column":78},"end":{"row":55,"column":0},"action":"insert","lines":["",""],"id":855},{"start":{"row":55,"column":0},"end":{"row":55,"column":32},"action":"insert","lines":["                                "]}],[{"start":{"row":55,"column":32},"end":{"row":55,"column":119},"action":"insert","lines":["<li><a href=\"{{ url('/logout') }}\"><i class=\"fa fa-btn fa-sign-out\"></i>Logout</a></li>"],"id":856}],[{"start":{"row":54,"column":78},"end":{"row":55,"column":0},"action":"insert","lines":["",""],"id":857},{"start":{"row":55,"column":0},"end":{"row":55,"column":32},"action":"insert","lines":["                                "]}],[{"start":{"row":55,"column":32},"end":{"row":56,"column":36},"action":"remove","lines":["","                                <li>"],"id":858}],[{"start":{"row":55,"column":32},"end":{"row":56,"column":0},"action":"insert","lines":["",""],"id":859},{"start":{"row":56,"column":0},"end":{"row":56,"column":32},"action":"insert","lines":["                                "]}],[{"start":{"row":56,"column":110},"end":{"row":56,"column":115},"action":"remove","lines":["</li>"],"id":860}],[{"start":{"row":38,"column":47},"end":{"row":38,"column":48},"action":"insert","lines":[" "],"id":861}],[{"start":{"row":38,"column":48},"end":{"row":38,"column":56},"action":"insert","lines":["nav-link"],"id":862}],[{"start":{"row":38,"column":47},"end":{"row":38,"column":48},"action":"remove","lines":[" "],"id":863}],[{"start":{"row":38,"column":55},"end":{"row":38,"column":56},"action":"insert","lines":[" "],"id":864}],[{"start":{"row":34,"column":47},"end":{"row":36,"column":73},"action":"remove","lines":["","                            <a class=\"nav-link dropdown-toggle\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\" aria-haspopup=\"true\" ","                            aria-expanded=\"false\" href=\"#\">Mon compte</a>"],"id":865}],[{"start":{"row":34,"column":47},"end":{"row":35,"column":28},"action":"remove","lines":["","                            "],"id":866}],[{"start":{"row":34,"column":45},"end":{"row":34,"column":46},"action":"remove","lines":[" "],"id":867}],[{"start":{"row":4,"column":73},"end":{"row":4,"column":74},"action":"insert","lines":[" "],"id":868}],[{"start":{"row":4,"column":74},"end":{"row":4,"column":75},"action":"insert","lines":["m"],"id":869}],[{"start":{"row":4,"column":75},"end":{"row":4,"column":76},"action":"insert","lines":["b"],"id":870}],[{"start":{"row":4,"column":76},"end":{"row":4,"column":77},"action":"insert","lines":["-"],"id":871}],[{"start":{"row":4,"column":77},"end":{"row":4,"column":78},"action":"insert","lines":["5"],"id":872}],[{"start":{"row":4,"column":74},"end":{"row":4,"column":78},"action":"remove","lines":["mb-5"],"id":873}],[{"start":{"row":4,"column":73},"end":{"row":4,"column":74},"action":"remove","lines":[" "],"id":874}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":4,"column":73},"end":{"row":4,"column":73},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509579163483,"hash":"b3edb723934b71ddc3fbaf745c1a049b07679138"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php
new file mode 100644
index 0000000..ed84140
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"meta.blade.php","tooltip":"/resources/views/layouts/meta.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":164,"column":13},"end":{"row":164,"column":13},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511094900569,"hash":"c1591a014be24be82385f45a22aad5a75f4c6ab5"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php b/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php
new file mode 100644
index 0000000..287912d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"let_ad.blade.php","tooltip":"/resources/views/let_ad.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":630.0995330810547,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":39,"state":"start","mode":"ace/mode/php"}},"timestamp":1511107156040,"hash":"a915e1459276eaa882a961450cce30e8af03db24"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/meta.blade.php b/workspace/.c9/metadata/workspace/resources/views/meta.blade.php
new file mode 100644
index 0000000..4e96080
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/meta.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"meta.blade.php","tooltip":"/resources/views/meta.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":100,"column":29},"end":{"row":100,"column":30},"action":"insert","lines":["0"],"id":408}],[{"start":{"row":100,"column":27},"end":{"row":100,"column":29},"action":"remove","lines":["60"],"id":409},{"start":{"row":100,"column":27},"end":{"row":100,"column":28},"action":"insert","lines":["8"]}],[{"start":{"row":100,"column":28},"end":{"row":100,"column":29},"action":"insert","lines":["0"],"id":410}],[{"start":{"row":101,"column":23},"end":{"row":101,"column":24},"action":"insert","lines":["-"],"id":413}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"insert","lines":["r"],"id":414}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["i"],"id":415}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["i"],"id":416}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"remove","lines":["r"],"id":417}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["e"],"id":419}],[{"start":{"row":101,"column":16},"end":{"row":101,"column":26},"action":"remove","lines":["padding-le"],"id":420},{"start":{"row":101,"column":16},"end":{"row":101,"column":30},"action":"insert","lines":["padding-left: "]}],[{"start":{"row":101,"column":30},"end":{"row":101,"column":31},"action":"remove","lines":[":"],"id":421}],[{"start":{"row":101,"column":29},"end":{"row":101,"column":30},"action":"remove","lines":[" "],"id":422}],[{"start":{"row":101,"column":23},"end":{"row":101,"column":28},"action":"remove","lines":["-left"],"id":423}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["4"],"id":424}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["2"],"id":425}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["2"],"id":426}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["1"],"id":427}],[{"start":{"row":92,"column":29},"end":{"row":93,"column":0},"action":"insert","lines":["",""],"id":428},{"start":{"row":93,"column":0},"end":{"row":93,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":93,"column":16},"end":{"row":93,"column":17},"action":"insert","lines":["p"],"id":429}],[{"start":{"row":93,"column":17},"end":{"row":93,"column":18},"action":"insert","lines":["a"],"id":430}],[{"start":{"row":93,"column":18},"end":{"row":93,"column":19},"action":"insert","lines":["d"],"id":431}],[{"start":{"row":93,"column":19},"end":{"row":93,"column":20},"action":"insert","lines":["d"],"id":432}],[{"start":{"row":93,"column":20},"end":{"row":93,"column":21},"action":"insert","lines":["i"],"id":433}],[{"start":{"row":93,"column":21},"end":{"row":93,"column":22},"action":"insert","lines":["n"],"id":434}],[{"start":{"row":93,"column":16},"end":{"row":93,"column":22},"action":"remove","lines":["paddin"],"id":435},{"start":{"row":93,"column":16},"end":{"row":93,"column":23},"action":"insert","lines":["padding"]}],[{"start":{"row":93,"column":23},"end":{"row":93,"column":25},"action":"insert","lines":[":;"],"id":436}],[{"start":{"row":93,"column":24},"end":{"row":93,"column":25},"action":"insert","lines":[" "],"id":437}],[{"start":{"row":93,"column":25},"end":{"row":93,"column":26},"action":"insert","lines":["a"],"id":438}],[{"start":{"row":93,"column":26},"end":{"row":93,"column":27},"action":"insert","lines":["u"],"id":439}],[{"start":{"row":93,"column":25},"end":{"row":93,"column":27},"action":"remove","lines":["au"],"id":440},{"start":{"row":93,"column":25},"end":{"row":93,"column":29},"action":"insert","lines":["auto"]}],[{"start":{"row":93,"column":30},"end":{"row":94,"column":0},"action":"insert","lines":["",""],"id":441},{"start":{"row":94,"column":0},"end":{"row":94,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":94,"column":16},"end":{"row":94,"column":36},"action":"insert","lines":["align-items: center;"],"id":442}],[{"start":{"row":99,"column":16},"end":{"row":103,"column":30},"action":"remove","lines":["width: 50%; ","                height: 80%;","                min-width: 200px;","                max-width: 800px;","                padding: 10px;"],"id":444}],[{"start":{"row":95,"column":53},"end":{"row":96,"column":0},"action":"insert","lines":["",""],"id":445},{"start":{"row":96,"column":0},"end":{"row":96,"column":16},"action":"insert","lines":["                "]}],[{"start":{"row":96,"column":16},"end":{"row":100,"column":30},"action":"insert","lines":["width: 50%; ","                height: 80%;","                min-width: 200px;","                max-width: 800px;","                padding: 10px;"],"id":446}],[{"start":{"row":102,"column":0},"end":{"row":105,"column":13},"action":"remove","lines":["","            .Absolute-Center.is-Responsive {","                ","            }"],"id":447}],[{"start":{"row":101,"column":13},"end":{"row":102,"column":0},"action":"remove","lines":["",""],"id":448}],[{"start":{"row":96,"column":27},"end":{"row":96,"column":28},"action":"remove","lines":[" "],"id":449}],[{"start":{"row":97,"column":28},"end":{"row":99,"column":33},"action":"remove","lines":["","                min-width: 200px;","                max-width: 800px;"],"id":452}],[{"start":{"row":96,"column":27},"end":{"row":97,"column":28},"action":"remove","lines":["","                height: 80%;"],"id":453}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":56},"action":"remove","lines":[".min."],"id":475}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["."],"id":476}],[{"start":{"row":70,"column":59},"end":{"row":70,"column":65},"action":"remove","lines":["dadada"],"id":477},{"start":{"row":70,"column":59},"end":{"row":70,"column":65},"action":"insert","lines":["004400"]}],[{"start":{"row":70,"column":92},"end":{"row":70,"column":98},"action":"remove","lines":["dadada"],"id":478},{"start":{"row":70,"column":92},"end":{"row":70,"column":98},"action":"insert","lines":["004400"]}],[{"start":{"row":71,"column":62},"end":{"row":71,"column":68},"action":"remove","lines":["dadada"],"id":479},{"start":{"row":71,"column":62},"end":{"row":71,"column":68},"action":"insert","lines":["004400"]}],[{"start":{"row":71,"column":95},"end":{"row":71,"column":101},"action":"remove","lines":["dadada"],"id":480},{"start":{"row":71,"column":95},"end":{"row":71,"column":101},"action":"insert","lines":["004400"]}],[{"start":{"row":72,"column":58},"end":{"row":72,"column":64},"action":"remove","lines":["dadada"],"id":481},{"start":{"row":72,"column":58},"end":{"row":72,"column":64},"action":"insert","lines":["004400"]}],[{"start":{"row":72,"column":91},"end":{"row":72,"column":97},"action":"remove","lines":["dadada"],"id":482},{"start":{"row":72,"column":91},"end":{"row":72,"column":97},"action":"insert","lines":["004400"]}],[{"start":{"row":73,"column":57},"end":{"row":73,"column":63},"action":"remove","lines":["dadada"],"id":483},{"start":{"row":73,"column":57},"end":{"row":73,"column":63},"action":"insert","lines":["004400"]}],[{"start":{"row":73,"column":90},"end":{"row":73,"column":96},"action":"remove","lines":["dadada"],"id":484},{"start":{"row":73,"column":90},"end":{"row":73,"column":96},"action":"insert","lines":["004400"]}],[{"start":{"row":74,"column":54},"end":{"row":74,"column":60},"action":"remove","lines":["dadada"],"id":485},{"start":{"row":74,"column":54},"end":{"row":74,"column":60},"action":"insert","lines":["004400"]}],[{"start":{"row":74,"column":87},"end":{"row":74,"column":93},"action":"remove","lines":["dadada"],"id":486},{"start":{"row":74,"column":87},"end":{"row":74,"column":93},"action":"insert","lines":["004400"]}],[{"start":{"row":76,"column":13},"end":{"row":77,"column":0},"action":"insert","lines":["",""],"id":487},{"start":{"row":77,"column":0},"end":{"row":77,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":77,"column":12},"end":{"row":78,"column":0},"action":"insert","lines":["",""],"id":488},{"start":{"row":78,"column":0},"end":{"row":78,"column":12},"action":"insert","lines":["            "]}],[{"start":{"row":78,"column":12},"end":{"row":87,"column":13},"action":"insert","lines":["nav .nav-item a:hover,","            nav .nav-item a:focus {","                background-color: #3E3E3E;","                background: -moz-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;","                background: -webkit-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;","                background: -ms-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;","                background: -o-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;","                background: linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;","                text-shadow: -1px -1px 0 #666;","            }"],"id":489}],[{"start":{"row":78,"column":25},"end":{"row":78,"column":26},"action":"insert","lines":["."],"id":490}],[{"start":{"row":78,"column":26},"end":{"row":78,"column":27},"action":"insert","lines":["d"],"id":491}],[{"start":{"row":78,"column":27},"end":{"row":78,"column":28},"action":"insert","lines":["r"],"id":492}],[{"start":{"row":78,"column":28},"end":{"row":78,"column":29},"action":"insert","lines":["o"],"id":493}],[{"start":{"row":78,"column":29},"end":{"row":78,"column":30},"action":"insert","lines":["p"],"id":494}],[{"start":{"row":78,"column":30},"end":{"row":78,"column":31},"action":"insert","lines":["d"],"id":495}],[{"start":{"row":78,"column":31},"end":{"row":78,"column":32},"action":"insert","lines":["o"],"id":496}],[{"start":{"row":78,"column":32},"end":{"row":78,"column":33},"action":"insert","lines":["w"],"id":497}],[{"start":{"row":78,"column":33},"end":{"row":78,"column":34},"action":"insert","lines":["n"],"id":498}],[{"start":{"row":78,"column":34},"end":{"row":78,"column":35},"action":"insert","lines":["-"],"id":499}],[{"start":{"row":78,"column":35},"end":{"row":78,"column":36},"action":"insert","lines":["i"],"id":500}],[{"start":{"row":78,"column":36},"end":{"row":78,"column":37},"action":"insert","lines":["t"],"id":501}],[{"start":{"row":78,"column":37},"end":{"row":78,"column":38},"action":"insert","lines":["e"],"id":502}],[{"start":{"row":78,"column":38},"end":{"row":78,"column":39},"action":"insert","lines":["m"],"id":503}],[{"start":{"row":78,"column":25},"end":{"row":78,"column":26},"action":"insert","lines":[" "],"id":504}],[{"start":{"row":79,"column":25},"end":{"row":79,"column":26},"action":"insert","lines":[" "],"id":505}],[{"start":{"row":79,"column":26},"end":{"row":79,"column":40},"action":"insert","lines":[".dropdown-item"],"id":506}],[{"start":{"row":81,"column":59},"end":{"row":81,"column":65},"action":"remove","lines":["004400"],"id":507},{"start":{"row":81,"column":59},"end":{"row":81,"column":65},"action":"insert","lines":["dadada"]}],[{"start":{"row":81,"column":92},"end":{"row":81,"column":98},"action":"remove","lines":["004400"],"id":508},{"start":{"row":81,"column":92},"end":{"row":81,"column":98},"action":"insert","lines":["dadada"]}],[{"start":{"row":82,"column":62},"end":{"row":82,"column":68},"action":"remove","lines":["004400"],"id":509},{"start":{"row":82,"column":62},"end":{"row":82,"column":68},"action":"insert","lines":["dadada"]}],[{"start":{"row":82,"column":95},"end":{"row":82,"column":101},"action":"remove","lines":["004400"],"id":510},{"start":{"row":82,"column":95},"end":{"row":82,"column":101},"action":"insert","lines":["dadada"]}],[{"start":{"row":83,"column":58},"end":{"row":83,"column":64},"action":"remove","lines":["004400"],"id":511},{"start":{"row":83,"column":58},"end":{"row":83,"column":64},"action":"insert","lines":["dadada"]}],[{"start":{"row":83,"column":91},"end":{"row":83,"column":97},"action":"remove","lines":["004400"],"id":512},{"start":{"row":83,"column":91},"end":{"row":83,"column":97},"action":"insert","lines":["dadada"]}],[{"start":{"row":84,"column":57},"end":{"row":84,"column":63},"action":"remove","lines":["004400"],"id":513},{"start":{"row":84,"column":57},"end":{"row":84,"column":63},"action":"insert","lines":["dadada"]}],[{"start":{"row":84,"column":90},"end":{"row":84,"column":96},"action":"remove","lines":["004400"],"id":514},{"start":{"row":84,"column":90},"end":{"row":84,"column":96},"action":"insert","lines":["dadada"]}],[{"start":{"row":85,"column":54},"end":{"row":85,"column":60},"action":"remove","lines":["004400"],"id":515},{"start":{"row":85,"column":54},"end":{"row":85,"column":60},"action":"insert","lines":["dadada"]}],[{"start":{"row":85,"column":87},"end":{"row":85,"column":93},"action":"remove","lines":["004400"],"id":516},{"start":{"row":85,"column":87},"end":{"row":85,"column":93},"action":"insert","lines":["dadada"]}],[{"start":{"row":78,"column":41},"end":{"row":78,"column":42},"action":"remove","lines":["a"],"id":517}],[{"start":{"row":78,"column":40},"end":{"row":78,"column":41},"action":"remove","lines":[" "],"id":518}],[{"start":{"row":79,"column":41},"end":{"row":79,"column":42},"action":"remove","lines":["a"],"id":519}],[{"start":{"row":79,"column":40},"end":{"row":79,"column":41},"action":"remove","lines":[" "],"id":520}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["."],"id":521}],[{"start":{"row":17,"column":52},"end":{"row":17,"column":53},"action":"insert","lines":["m"],"id":522}],[{"start":{"row":17,"column":53},"end":{"row":17,"column":54},"action":"insert","lines":["i"],"id":523}],[{"start":{"row":17,"column":54},"end":{"row":17,"column":55},"action":"insert","lines":["n"],"id":524}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"remove","lines":[">"],"id":525}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"remove","lines":["-"],"id":526}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"remove","lines":["-"],"id":527}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"insert","lines":["-"],"id":528}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"insert","lines":["-"],"id":529}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"insert","lines":[">"],"id":530}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"insert","lines":["3"],"id":531}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"insert","lines":["."],"id":532}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"remove","lines":["."],"id":533}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"remove","lines":["3"],"id":534}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":42},"end":{"row":13,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509350771070,"hash":"fbb410fe732717f967a2be6314c916a1dd9daf71"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php
new file mode 100644
index 0000000..c083556
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php
@@ -0,0 +1 @@
+{"changed":true,"filter":false,"title":"all_products.blade.php","tooltip":"/resources/views/products/all_products.blade.php","value":"@extends('layouts.app')\n\n@section('title')\n\tTous les produits\n@endsection\n\n\n@section('content')\n\n<div class=\"container\">\n\t<div class=\"container\">\n\t\t<h1 class=\"my-4\">Tout les produits</h1>\n\t\t\n\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>\n\t\t\n\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>\n\t</div>\n\t\n\t<div class=\"row\">\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t\t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item One</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t\t<!--<h5>$24.99</h5> -->\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<!--\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t\t-->\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Two</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Three</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Four</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Five</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t  \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Six</a>\n\t\t\t\t  \t</h4>\n\t\t\t\t  \t<h5>$24.99</h5>\n\t\t\t\t  \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t  \t<small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>\n@endsection","undoManager":{"mark":10,"position":27,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":419}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":420}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":421}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":422}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":423}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":424}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":425}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":24},"action":"remove","lines":["header"],"id":426},{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":427}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":428}],[{"start":{"row":29,"column":10},"end":{"row":30,"column":0},"action":"insert","lines":["",""],"id":429},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":30,"column":4},"end":{"row":30,"column":5},"action":"insert","lines":["<"],"id":430}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["-"],"id":431}],[{"start":{"row":30,"column":6},"end":{"row":30,"column":7},"action":"insert","lines":["-"],"id":432}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["!"],"id":433}],[{"start":{"row":33,"column":10},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":434},{"start":{"row":34,"column":0},"end":{"row":34,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":34,"column":4},"end":{"row":34,"column":5},"action":"insert","lines":["-"],"id":435}],[{"start":{"row":34,"column":5},"end":{"row":34,"column":6},"action":"insert","lines":["-"],"id":436}],[{"start":{"row":34,"column":6},"end":{"row":34,"column":7},"action":"insert","lines":[">"],"id":437}],[{"start":{"row":27,"column":5},"end":{"row":27,"column":6},"action":"insert","lines":["<"],"id":438}],[{"start":{"row":27,"column":6},"end":{"row":27,"column":7},"action":"insert","lines":["!"],"id":439}],[{"start":{"row":27,"column":7},"end":{"row":27,"column":8},"action":"insert","lines":["-"],"id":440}],[{"start":{"row":27,"column":8},"end":{"row":27,"column":9},"action":"insert","lines":["-"],"id":441}],[{"start":{"row":27,"column":24},"end":{"row":27,"column":25},"action":"insert","lines":[" "],"id":442}],[{"start":{"row":27,"column":25},"end":{"row":27,"column":26},"action":"insert","lines":["-"],"id":443}],[{"start":{"row":27,"column":26},"end":{"row":27,"column":27},"action":"insert","lines":["-"],"id":444}],[{"start":{"row":27,"column":27},"end":{"row":27,"column":28},"action":"insert","lines":[">"],"id":445}]]},"ace":{"folds":[],"scrolltop":49.00000000000008,"scrollleft":8.40000000000034,"selection":{"start":{"row":25,"column":18},"end":{"row":25,"column":26},"isBackwards":true},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579407790}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php
new file mode 100644
index 0000000..8596ed7
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_alimentary.blade.php","tooltip":"/resources/views/products/product_alimentary.blade.php","undoManager":{"mark":80,"position":80,"stack":[[{"start":{"row":0,"column":0},"end":{"row":57,"column":11},"action":"insert","lines":["@extends('layouts.app')","","@section('title')","\tTous les produits","@endsection","","","@section('content')","","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Tous les produits</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>","\t</div>","\t","\t<div class=\"row\">","\t","\t@if (Session::has('flash_notice'))","        <div class=\"alert alert-success span7\">","            {{ Session::get('flash_notice') }}","        </div>","    @endif"," ","    @if (Session::has('flash_error'))","        <div class=\"alert alert-error span6\">","            {{ Session::get('flash_error') }}","        </div>","    @endif","    ","    ","\t@if($products != NULL)","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<!-- Pour avoir un nom d'annonce cliquable -->","\t\t\t\t\t\t{!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!}","\t\t\t\t\t\t<!-- <p class=\"title\">{!!$product->title!!}</p> -->","\t\t\t\t  \t</h4>","\t\t\t\t  \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t  \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t@endif","\t</div>","\t@if($products != NULL)","\t{!! $products->links() !!}","\t@endif","\t","</div>","@endsection"],"id":1}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"remove","lines":["s"],"id":2}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"remove","lines":["t"],"id":3}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"remove","lines":["i"],"id":4}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"remove","lines":["u"],"id":5}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"remove","lines":["d"],"id":6}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"remove","lines":["o"],"id":7}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"remove","lines":["r"],"id":8}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"remove","lines":["p"],"id":9}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"remove","lines":[" "],"id":10}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"remove","lines":["s"],"id":11}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"remove","lines":["e"],"id":12}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"remove","lines":["l"],"id":13}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"remove","lines":[" "],"id":14}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"remove","lines":["o"],"id":17}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"remove","lines":["T"],"id":18}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["A"],"id":19}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["l"],"id":20}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["i"],"id":21}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["m"],"id":22}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":23}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["n"],"id":24}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":25}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["a"],"id":26}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["i"],"id":27}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["e"],"id":29}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"remove","lines":["s"],"id":30}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["t"],"id":31}],[{"start":{"row":11,"column":33},"end":{"row":11,"column":34},"action":"remove","lines":["i"],"id":32}],[{"start":{"row":11,"column":32},"end":{"row":11,"column":33},"action":"remove","lines":["u"],"id":33}],[{"start":{"row":11,"column":31},"end":{"row":11,"column":32},"action":"remove","lines":["d"],"id":34}],[{"start":{"row":11,"column":30},"end":{"row":11,"column":31},"action":"remove","lines":["o"],"id":35}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"remove","lines":["r"],"id":36}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"remove","lines":["p"],"id":37}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"remove","lines":[" "],"id":38}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"remove","lines":["s"],"id":39}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"remove","lines":["e"],"id":40}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"remove","lines":["l"],"id":41}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"remove","lines":[" "],"id":42}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"remove","lines":["s"],"id":43}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"remove","lines":["u"],"id":44}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"remove","lines":["o"],"id":45}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["T"],"id":46}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"insert","lines":["P"],"id":47}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"insert","lines":["r"],"id":48}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"insert","lines":["o"],"id":49}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["d"],"id":50}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["u"],"id":51}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"insert","lines":["i"],"id":52}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"insert","lines":["t"],"id":53}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"insert","lines":[" "],"id":55}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"insert","lines":["A"],"id":56}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"insert","lines":["l"],"id":57}],[{"start":{"row":11,"column":30},"end":{"row":11,"column":31},"action":"insert","lines":["i"],"id":58}],[{"start":{"row":11,"column":31},"end":{"row":11,"column":32},"action":"insert","lines":["m"],"id":59}],[{"start":{"row":11,"column":32},"end":{"row":11,"column":33},"action":"insert","lines":["e"],"id":60}],[{"start":{"row":11,"column":33},"end":{"row":11,"column":34},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"insert","lines":["t"],"id":62}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"insert","lines":["a"],"id":63}],[{"start":{"row":11,"column":36},"end":{"row":11,"column":37},"action":"insert","lines":["i"],"id":64}],[{"start":{"row":11,"column":37},"end":{"row":11,"column":38},"action":"insert","lines":["r"],"id":65}],[{"start":{"row":11,"column":38},"end":{"row":11,"column":39},"action":"insert","lines":["e"],"id":66}],[{"start":{"row":11,"column":39},"end":{"row":11,"column":40},"action":"insert","lines":["s"],"id":67}],[{"start":{"row":13,"column":100},"end":{"row":13,"column":101},"action":"insert","lines":[" "],"id":68}],[{"start":{"row":13,"column":101},"end":{"row":13,"column":102},"action":"insert","lines":["a"],"id":69}],[{"start":{"row":13,"column":102},"end":{"row":13,"column":103},"action":"insert","lines":["l"],"id":70}],[{"start":{"row":13,"column":103},"end":{"row":13,"column":104},"action":"insert","lines":["i"],"id":71}],[{"start":{"row":13,"column":104},"end":{"row":13,"column":105},"action":"insert","lines":["m"],"id":72}],[{"start":{"row":13,"column":105},"end":{"row":13,"column":106},"action":"insert","lines":["e"],"id":73}],[{"start":{"row":13,"column":106},"end":{"row":13,"column":107},"action":"insert","lines":["n"],"id":74}],[{"start":{"row":13,"column":107},"end":{"row":13,"column":108},"action":"insert","lines":["t"],"id":75}],[{"start":{"row":13,"column":108},"end":{"row":13,"column":109},"action":"insert","lines":["a"],"id":76}],[{"start":{"row":13,"column":109},"end":{"row":13,"column":110},"action":"insert","lines":["i"],"id":77}],[{"start":{"row":13,"column":110},"end":{"row":13,"column":111},"action":"insert","lines":["r"],"id":78}],[{"start":{"row":13,"column":111},"end":{"row":13,"column":112},"action":"insert","lines":["e"],"id":79}],[{"start":{"row":13,"column":112},"end":{"row":13,"column":113},"action":"insert","lines":["s"],"id":80}],[{"start":{"row":15,"column":78},"end":{"row":15,"column":121},"action":"remove","lines":["https://www.youtube.com/watch?v=-xSORIDw1Sg"],"id":81},{"start":{"row":15,"column":78},"end":{"row":15,"column":121},"action":"insert","lines":["https://www.youtube.com/watch?v=-G3MLjqicC8"]}]]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":24,"column":10},"end":{"row":24,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":49,"state":"start","mode":"ace/mode/php"}},"timestamp":1511145601343,"hash":"8a422639ab69b6cb5ac68f9c2c437bace0dae86d"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php
new file mode 100644
index 0000000..bff9a38
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_create.blade.php","tooltip":"/resources/views/products/product_create.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":65,"state":"start","mode":"ace/mode/php"}},"timestamp":1511094252536,"hash":"c664e895af65f7692235e5616c3d39ffaee35cb3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php
new file mode 100644
index 0000000..46881fc
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_edit.blade.php","tooltip":"/resources/views/products/product_edit.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":2,"column":17},"end":{"row":2,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"start","mode":"ace/mode/php"}},"timestamp":1510601037346,"hash":"31856f47591e50fe41ef70674d4a83cda7b96d7a"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php
new file mode 100644
index 0000000..d1c9bdf
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_index.blade.php","tooltip":"/resources/views/products/product_index.blade.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"remove","lines":["t"],"id":1}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["s"],"id":2}],[{"start":{"row":13,"column":65},"end":{"row":13,"column":66},"action":"insert","lines":["s"],"id":3}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":21},"action":"insert","lines":["sss"],"id":4,"ignore":true}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":21},"action":"remove","lines":["sss"],"id":5,"ignore":true}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":48,"column":8},"end":{"row":48,"column":8},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511143960571,"hash":"c1905bf5427327c44a9d4a3bb21726c543da4d25"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php
new file mode 100644
index 0000000..a38b1f6
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_register.blade.php","tooltip":"/resources/views/products/product_register.blade.php","undoManager":{"mark":71,"position":71,"stack":[[{"start":{"row":10,"column":20},"end":{"row":10,"column":31},"action":"remove","lines":["Inscription"],"id":2},{"start":{"row":10,"column":20},"end":{"row":10,"column":21},"action":"insert","lines":["D"]}],[{"start":{"row":10,"column":21},"end":{"row":10,"column":22},"action":"insert","lines":["é"],"id":3}],[{"start":{"row":10,"column":22},"end":{"row":10,"column":23},"action":"insert","lines":["p"],"id":4}],[{"start":{"row":10,"column":23},"end":{"row":10,"column":24},"action":"insert","lines":["o"],"id":5}],[{"start":{"row":10,"column":24},"end":{"row":10,"column":25},"action":"insert","lines":["s"],"id":6}],[{"start":{"row":10,"column":25},"end":{"row":10,"column":26},"action":"insert","lines":["e"],"id":7}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"insert","lines":["r"],"id":8}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"insert","lines":["n"],"id":11}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":[" "],"id":12}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"remove","lines":[" "],"id":13}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":["e"],"id":14}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"insert","lines":[" "],"id":15}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"insert","lines":["a"],"id":16}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"insert","lines":["n"],"id":17}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"insert","lines":["n"],"id":18}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"insert","lines":["n"],"id":20}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"insert","lines":["c"],"id":21}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"insert","lines":["e"],"id":22}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"remove","lines":["e"],"id":23}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"remove","lines":["c"],"id":24}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"remove","lines":["n"],"id":25}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"remove","lines":["o"],"id":26}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"remove","lines":["n"],"id":27}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"remove","lines":["n"],"id":28}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"remove","lines":["a"],"id":29}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"remove","lines":[" "],"id":30}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"remove","lines":["e"],"id":31}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"remove","lines":["n"],"id":32}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"remove","lines":["u"],"id":33}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"remove","lines":[" "],"id":34}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"remove","lines":["r"],"id":35}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"insert","lines":["z"],"id":36}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"insert","lines":["v"],"id":38}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"insert","lines":["o"],"id":39}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":["t"],"id":40}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"insert","lines":["r"],"id":41}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"insert","lines":["e"],"id":42}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"insert","lines":[" "],"id":43}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"insert","lines":["a"],"id":44}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"insert","lines":["n"],"id":45}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"insert","lines":["n"],"id":46}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"insert","lines":["o"],"id":47}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"insert","lines":["n"],"id":48}],[{"start":{"row":10,"column":39},"end":{"row":10,"column":40},"action":"insert","lines":["c"],"id":49}],[{"start":{"row":10,"column":40},"end":{"row":10,"column":41},"action":"insert","lines":["e"],"id":50}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":15},"action":"remove","lines":["Inscription"],"id":51},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["D"]}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["é"],"id":52}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["p"],"id":53}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["o"],"id":54}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["t"],"id":55}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":[" "],"id":56}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["d"],"id":57}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["'"],"id":58}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["a"],"id":59}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"insert","lines":["n"],"id":60}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"insert","lines":["o"],"id":62}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"insert","lines":["n"],"id":63}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"insert","lines":["c"],"id":64}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":19},"action":"insert","lines":["e"],"id":65}],[{"start":{"row":18,"column":77},"end":{"row":18,"column":78},"action":"insert","lines":["p"],"id":66}],[{"start":{"row":18,"column":78},"end":{"row":18,"column":79},"action":"insert","lines":["r"],"id":67}],[{"start":{"row":18,"column":79},"end":{"row":18,"column":80},"action":"insert","lines":["o"],"id":68}],[{"start":{"row":18,"column":80},"end":{"row":18,"column":81},"action":"insert","lines":["d"],"id":69}],[{"start":{"row":18,"column":81},"end":{"row":18,"column":82},"action":"insert","lines":["u"],"id":70}],[{"start":{"row":18,"column":82},"end":{"row":18,"column":83},"action":"insert","lines":["c"],"id":71}],[{"start":{"row":18,"column":83},"end":{"row":18,"column":84},"action":"insert","lines":["t"],"id":72}],[{"start":{"row":18,"column":84},"end":{"row":18,"column":85},"action":"insert","lines":["_"],"id":73}]]},"ace":{"folds":[],"scrolltop":60,"scrollleft":0,"selection":{"start":{"row":24,"column":50},"end":{"row":24,"column":50},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"start","mode":"ace/mode/php"}},"timestamp":1510601037372,"hash":"31856f47591e50fe41ef70674d4a83cda7b96d7a"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php
new file mode 100644
index 0000000..f8ecc4d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"product_show.blade.php","tooltip":"/resources/views/products/product_show.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":47,"column":21},"end":{"row":47,"column":22},"action":"insert","lines":["t"],"id":159}],[{"start":{"row":47,"column":22},"end":{"row":47,"column":23},"action":"insert","lines":["e"],"id":160}],[{"start":{"row":47,"column":23},"end":{"row":47,"column":24},"action":"insert","lines":["r"],"id":161}],[{"start":{"row":48,"column":38},"end":{"row":48,"column":58},"action":"insert","lines":["'&laquo; Précédents'"],"id":162}],[{"start":{"row":48,"column":58},"end":{"row":48,"column":59},"action":"insert","lines":[" "],"id":163}],[{"start":{"row":48,"column":47},"end":{"row":48,"column":58},"action":"remove","lines":["Précédents'"],"id":164}],[{"start":{"row":48,"column":46},"end":{"row":48,"column":47},"action":"remove","lines":[" "],"id":165}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["f"],"id":167,"ignore":true}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["f"],"id":168,"ignore":true}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":["s"],"id":169,"ignore":true}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"remove","lines":["s"],"id":170,"ignore":true}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"remove","lines":["s"],"id":171,"ignore":true}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":17},"action":"remove","lines":["Tous les produit"],"id":172,"ignore":true}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":18},"action":"insert","lines":["Tous les produits"],"id":173,"ignore":true},{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":["s"]}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":37},"action":"remove","lines":["Tout les produitss"],"id":174,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"insert","lines":["D"],"id":175,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"remove","lines":["D"],"id":176,"ignore":true},{"start":{"row":12,"column":19},"end":{"row":12,"column":34},"action":"insert","lines":["Tout les produi"]}],[{"start":{"row":12,"column":34},"end":{"row":12,"column":36},"action":"insert","lines":["ts"],"id":177,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":178,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"],"id":179,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":180,"ignore":true},{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"]}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":181,"ignore":true},{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["8"]}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["8"],"id":182,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"],"id":183,"ignore":true}],[{"start":{"row":24,"column":4},"end":{"row":24,"column":87},"action":"remove","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":184,"ignore":true}],[{"start":{"row":21,"column":24},"end":{"row":21,"column":107},"action":"insert","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":185,"ignore":true}],[{"start":{"row":21,"column":24},"end":{"row":21,"column":107},"action":"remove","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":186,"ignore":true},{"start":{"row":24,"column":4},"end":{"row":24,"column":87},"action":"insert","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"]}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":12},"action":"insert","lines":["ុះ"],"id":187,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":12},"action":"remove","lines":["ុះ"],"id":188,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":11},"action":"insert","lines":["<"],"id":189,"ignore":true}],[{"start":{"row":30,"column":11},"end":{"row":30,"column":12},"action":"insert","lines":["i"],"id":190,"ignore":true}],[{"start":{"row":30,"column":12},"end":{"row":30,"column":13},"action":"insert","lines":[" "],"id":191,"ignore":true}],[{"start":{"row":30,"column":13},"end":{"row":30,"column":19},"action":"insert","lines":["class="],"id":192,"ignore":true}],[{"start":{"row":30,"column":19},"end":{"row":30,"column":21},"action":"insert","lines":["\"\""],"id":193,"ignore":true}],[{"start":{"row":30,"column":21},"end":{"row":30,"column":26},"action":"insert","lines":["></i>"],"id":194,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":26},"action":"remove","lines":["<i class=\"\"></i>"],"id":195,"ignore":true}],[{"start":{"row":31,"column":10},"end":{"row":31,"column":26},"action":"insert","lines":["<i class=\"\"></i>"],"id":196,"ignore":true}],[{"start":{"row":31,"column":20},"end":{"row":31,"column":21},"action":"insert","lines":["f"],"id":197,"ignore":true}],[{"start":{"row":31,"column":21},"end":{"row":31,"column":22},"action":"insert","lines":["a"],"id":198,"ignore":true}],[{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"insert","lines":["-"],"id":199,"ignore":true}],[{"start":{"row":31,"column":23},"end":{"row":31,"column":24},"action":"insert","lines":["f"],"id":200,"ignore":true}],[{"start":{"row":31,"column":23},"end":{"row":31,"column":24},"action":"remove","lines":["f"],"id":201,"ignore":true},{"start":{"row":31,"column":23},"end":{"row":31,"column":25},"action":"insert","lines":["fa"]}],[{"start":{"row":31,"column":25},"end":{"row":31,"column":26},"action":"insert","lines":["-"],"id":202,"ignore":true}],[{"start":{"row":31,"column":26},"end":{"row":31,"column":33},"action":"insert","lines":["envelop"],"id":203,"ignore":true}],[{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"remove","lines":["-"],"id":204,"ignore":true},{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"insert","lines":[" "]}],[{"start":{"row":31,"column":33},"end":{"row":31,"column":34},"action":"insert","lines":["e"],"id":205,"ignore":true}],[{"start":{"row":31,"column":40},"end":{"row":31,"column":41},"action":"insert","lines":[" "],"id":206,"ignore":true}],[{"start":{"row":32,"column":10},"end":{"row":32,"column":11},"action":"insert","lines":["<"],"id":207,"ignore":true}],[{"start":{"row":32,"column":11},"end":{"row":32,"column":18},"action":"insert","lines":["i class"],"id":208,"ignore":true}],[{"start":{"row":32,"column":18},"end":{"row":32,"column":19},"action":"insert","lines":["="],"id":209,"ignore":true}],[{"start":{"row":32,"column":19},"end":{"row":32,"column":21},"action":"insert","lines":["\"f"],"id":210,"ignore":true}],[{"start":{"row":32,"column":21},"end":{"row":32,"column":25},"action":"insert","lines":["a fa"],"id":211,"ignore":true}],[{"start":{"row":32,"column":25},"end":{"row":32,"column":30},"action":"insert","lines":["-home"],"id":212,"ignore":true}],[{"start":{"row":32,"column":30},"end":{"row":32,"column":36},"action":"insert","lines":["\"></i>"],"id":213,"ignore":true}],[{"start":{"row":32,"column":36},"end":{"row":32,"column":37},"action":"insert","lines":[" "],"id":214,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":11},"action":"insert","lines":["<"],"id":215,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":11},"action":"remove","lines":["<"],"id":216,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":36},"action":"insert","lines":["<i class=\"fa fa-home\"></i>"],"id":217,"ignore":true}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":37},"action":"insert","lines":[" "],"id":218,"ignore":true}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":30},"action":"remove","lines":["me"],"id":219,"ignore":true}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":30},"action":"insert","lines":["ur"],"id":220,"ignore":true}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":["c"],"id":221,"ignore":true}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"remove","lines":["c"],"id":222,"ignore":true},{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":["g"]}],[{"start":{"row":36,"column":31},"end":{"row":36,"column":34},"action":"insert","lines":["las"],"id":223,"ignore":true}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":35},"action":"insert","lines":["s"],"id":224,"ignore":true}],[{"start":{"row":36,"column":35},"end":{"row":36,"column":36},"action":"insert","lines":["-"],"id":225,"ignore":true}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":38},"action":"insert","lines":["ha"],"id":226,"ignore":true}],[{"start":{"row":36,"column":38},"end":{"row":36,"column":40},"action":"insert","lines":["lf"],"id":227,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":36},"action":"insert","lines":["<i class=\"fa fa-home\"></i>"],"id":228,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"remove","lines":["me"],"id":229,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":28},"action":"remove","lines":["ho"],"id":230,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":27},"action":"insert","lines":["c"],"id":231,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["i"],"id":232,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"remove","lines":["i"],"id":233,"ignore":true},{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["o"]}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"insert","lines":["mm"],"id":234,"ignore":true}],[{"start":{"row":30,"column":30},"end":{"row":30,"column":32},"action":"insert","lines":["en"],"id":235,"ignore":true}],[{"start":{"row":30,"column":32},"end":{"row":30,"column":33},"action":"insert","lines":["t"],"id":236,"ignore":true}],[{"start":{"row":30,"column":33},"end":{"row":30,"column":36},"action":"insert","lines":["ing"],"id":237,"ignore":true}],[{"start":{"row":30,"column":42},"end":{"row":30,"column":43},"action":"insert","lines":[" "],"id":238,"ignore":true}],[{"start":{"row":30,"column":35},"end":{"row":30,"column":36},"action":"remove","lines":["g"],"id":239,"ignore":true},{"start":{"row":30,"column":41},"end":{"row":30,"column":42},"action":"remove","lines":[" "]}],[{"start":{"row":30,"column":34},"end":{"row":30,"column":35},"action":"remove","lines":["n"],"id":240,"ignore":true}],[{"start":{"row":30,"column":32},"end":{"row":30,"column":34},"action":"remove","lines":["ti"],"id":241,"ignore":true}],[{"start":{"row":30,"column":30},"end":{"row":30,"column":32},"action":"remove","lines":["en"],"id":242,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"remove","lines":["mm"],"id":243,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"remove","lines":["o"],"id":244,"ignore":true},{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["i"]}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":28},"action":"remove","lines":["ci"],"id":245,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":27},"action":"insert","lines":["h"],"id":246,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["o"],"id":247,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":29},"action":"insert","lines":["m"],"id":248,"ignore":true}],[{"start":{"row":30,"column":29},"end":{"row":30,"column":30},"action":"insert","lines":["e"],"id":249,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":36},"action":"remove","lines":["<i class=\"fa fa-home\"></i>"],"id":250,"ignore":true},{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"remove","lines":["f"]}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":["f"],"id":251,"ignore":true}],[{"start":{"row":48,"column":38},"end":{"row":48,"column":39},"action":"remove","lines":["'"],"id":251}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":47},"action":"remove","lines":["<i class=\"fa fa-hourglass-half\"></i> "],"id":252,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":13},"action":"insert","lines":["<i "],"id":253,"ignore":true}],[{"start":{"row":36,"column":12},"end":{"row":36,"column":41},"action":"insert","lines":[" class=\"fa fa-hourglass-half\""],"id":254,"ignore":true}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":40},"action":"remove","lines":["s-half"],"id":255,"ignore":true},{"start":{"row":36,"column":35},"end":{"row":36,"column":40},"action":"insert","lines":["></i>"]}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":34},"action":"remove","lines":["s"],"id":256,"ignore":true}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":40},"action":"insert","lines":["ss-half"],"id":257,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":27},"action":"remove","lines":["Tout les"],"id":258,"ignore":true},{"start":{"row":12,"column":19},"end":{"row":12,"column":21},"action":"insert","lines":["Dé"]},{"start":{"row":12,"column":29},"end":{"row":12,"column":30},"action":"remove","lines":["s"]}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":29},"action":"insert","lines":["tails de"],"id":259,"ignore":true}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":48,"column":38},"end":{"row":48,"column":38},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":33,"state":"start","mode":"ace/mode/php"}},"timestamp":1511139265370,"hash":"0e1fef787be9dcd203a43e17916add6e30dcd244"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php
new file mode 100644
index 0000000..02bf99f
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"seek.blade.php","tooltip":"/resources/views/products/seek.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":8,"column":0},"end":{"row":8,"column":5},"action":"insert","lines":["<!---"],"id":7,"ignore":true}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":20},"action":"insert","lines":["Ceci est un test"],"id":8,"ignore":true},{"start":{"row":8,"column":21},"end":{"row":8,"column":23},"action":"insert","lines":["->"]}],[{"start":{"row":9,"column":5},"end":{"row":11,"column":0},"action":"insert","lines":["","",""],"id":9,"ignore":true}],[{"start":{"row":10,"column":0},"end":{"row":10,"column":1},"action":"insert","lines":["p"],"id":10,"ignore":true},{"start":{"row":11,"column":0},"end":{"row":11,"column":2},"action":"insert","lines":["?>"]}],[{"start":{"row":10,"column":1},"end":{"row":10,"column":3},"action":"insert","lines":["ri"],"id":11,"ignore":true}],[{"start":{"row":10,"column":3},"end":{"row":10,"column":8},"action":"insert","lines":["nt($)"],"id":12,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":9},"action":"insert","lines":["GE"],"id":13,"ignore":true}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":14},"action":"insert","lines":["T['']"],"id":14,"ignore":true}],[{"start":{"row":10,"column":12},"end":{"row":10,"column":13},"action":"insert","lines":["r"],"id":15,"ignore":true}],[{"start":{"row":10,"column":16},"end":{"row":10,"column":17},"action":"insert","lines":[";"],"id":16,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["`"],"id":17,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"remove","lines":["`"],"id":18,"ignore":true},{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["_"]}],[{"start":{"row":10,"column":6},"end":{"row":10,"column":7},"action":"insert","lines":["<"],"id":19,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":[">"],"id":20,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["'"],"id":21,"ignore":true}],[{"start":{"row":10,"column":19},"end":{"row":10,"column":20},"action":"insert","lines":["'"],"id":22,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["."],"id":23,"ignore":true}],[{"start":{"row":10,"column":21},"end":{"row":10,"column":22},"action":"insert","lines":["."],"id":24,"ignore":true}],[{"start":{"row":10,"column":20},"end":{"row":10,"column":21},"action":"remove","lines":["'"],"id":25,"ignore":true}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":10},"action":"remove","lines":["'"],"id":26,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["p"],"id":27,"ignore":true}],[{"start":{"row":10,"column":6},"end":{"row":10,"column":7},"action":"insert","lines":["\""],"id":28,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"insert","lines":["\""],"id":29,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"insert","lines":["c"],"id":30,"ignore":true}],[{"start":{"row":10,"column":11},"end":{"row":10,"column":13},"action":"insert","lines":["'e"],"id":31,"ignore":true}],[{"start":{"row":10,"column":13},"end":{"row":10,"column":15},"action":"insert","lines":["st"],"id":32,"ignore":true}],[{"start":{"row":10,"column":15},"end":{"row":10,"column":17},"action":"insert","lines":[" t"],"id":33,"ignore":true}],[{"start":{"row":10,"column":17},"end":{"row":10,"column":18},"action":"insert","lines":["o"],"id":34,"ignore":true}],[{"start":{"row":10,"column":15},"end":{"row":10,"column":18},"action":"remove","lines":[" to"],"id":35,"ignore":true}],[{"start":{"row":10,"column":11},"end":{"row":10,"column":15},"action":"remove","lines":["'est"],"id":36,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"remove","lines":["c"],"id":37,"ignore":true}],[{"start":{"row":10,"column":23},"end":{"row":10,"column":25},"action":"insert","lines":["\"\""],"id":38,"ignore":true}],[{"start":{"row":10,"column":24},"end":{"row":10,"column":25},"action":"insert","lines":["<"],"id":39,"ignore":true}],[{"start":{"row":10,"column":25},"end":{"row":10,"column":26},"action":"insert","lines":["/"],"id":40,"ignore":true}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":28},"action":"insert","lines":["p>"],"id":41,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"remove","lines":["p"],"id":42,"ignore":true},{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["d"]}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":11},"action":"insert","lines":["iv"],"id":43,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":29},"action":"remove","lines":["/p"],"id":44,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":["d"],"id":45,"ignore":true}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":30},"action":"insert","lines":["iv"],"id":46,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":["/"],"id":47,"ignore":true}],[{"start":{"row":8,"column":22},"end":{"row":11,"column":2},"action":"remove","lines":[">","<?php","print(\"<div>\".$_GET['r'].\"</div>\");","?>"],"id":48,"ignore":true}],[{"start":{"row":8,"column":21},"end":{"row":8,"column":22},"action":"remove","lines":["-"],"id":49,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":21},"action":"remove","lines":["<!--Ceci est un test-"],"id":50,"ignore":true}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":51,"ignore":true}],[{"start":{"row":7,"column":0},"end":{"row":9,"column":0},"action":"insert","lines":["","",""],"id":52,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":99,"column":6},"action":"insert","lines":["<div class=\"container\">","    <div class=\"container\">","        <h1 class=\"my-5\">Bienvenue sur Bonsaiie !</h1>","        ","        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","        gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","        interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","        ","        <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus &raquo;</a></p>","    </div>","    ","    ","    <div class=\"row\">","        ","        <div class=\"col-md-8\">","            <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">","                <ol class=\"carousel-indicators\">","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>","                </ol>","                ","                <div class=\"carousel-inner\" role=\"listbox\">","                    <div class=\"carousel-item active\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">","                    </div>","                </div>","            ","                <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">","                    <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>","                    <span class=\"sr-only\">Previous</span>","                </a>","                ","                <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">","                  <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>","                  <span class=\"sr-only\">Next</span>","                </a>","            </div>","        </div>","    ","        <div class=\"col-md-4\">","            <h3 class=\"my-3\">Project Description</h3>","            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","            gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","            interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","            <h3 class=\"my-3\">Project Details</h3>","            <ul>","                <li>Lorem Ipsum</li>","                <li>Dolor Sit Amet</li>","                <li>Consectetur</li>","                <li>Adipiscing Elit</li>","            </ul>","        </div>","","    </div>","","    <h3 class=\"my-4\">Périment bientôt</h3>","","    <div class=\"row\">","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","    </div>","</div>"],"id":53,"ignore":true}],[{"start":{"row":70,"column":4},"end":{"row":98,"column":10},"action":"remove","lines":["<h3 class=\"my-4\">Périment bientôt</h3>","","    <div class=\"row\">","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","        <div class=\"col-md-3 col-sm-6 mb-4\">","            <a href=\"#\">","                <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">","            </a>","        </div>","","    </div>"],"id":54,"ignore":true}],[{"start":{"row":68,"column":10},"end":{"row":70,"column":4},"action":"remove","lines":["","","    "],"id":55,"ignore":true}],[{"start":{"row":66,"column":14},"end":{"row":67,"column":0},"action":"remove","lines":["",""],"id":56,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":68,"column":6},"action":"remove","lines":["<div class=\"container\">","    <div class=\"container\">","        <h1 class=\"my-5\">Bienvenue sur Bonsaiie !</h1>","        ","        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","        gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","        interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","        ","        <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus &raquo;</a></p>","    </div>","    ","    ","    <div class=\"row\">","        ","        <div class=\"col-md-8\">","            <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">","                <ol class=\"carousel-indicators\">","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>","                    <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>","                </ol>","                ","                <div class=\"carousel-inner\" role=\"listbox\">","                    <div class=\"carousel-item active\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">","                    </div>","                    <div class=\"carousel-item\">","                        <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">","                    </div>","                </div>","            ","                <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">","                    <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>","                    <span class=\"sr-only\">Previous</span>","                </a>","                ","                <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">","                  <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>","                  <span class=\"sr-only\">Next</span>","                </a>","            </div>","        </div>","    ","        <div class=\"col-md-4\">","            <h3 class=\"my-3\">Project Description</h3>","            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,","            gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,","            interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>","            <h3 class=\"my-3\">Project Details</h3>","            <ul>","                <li>Lorem Ipsum</li>","                <li>Dolor Sit Amet</li>","                <li>Consectetur</li>","                <li>Adipiscing Elit</li>","            </ul>","        </div>","    </div>","</div>"],"id":57,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":9,"column":0},"action":"remove","lines":["",""],"id":58,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":35,"column":15},"action":"insert","lines":["","","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Tout les produits</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>","\t</div>","\t","\t<div class=\"row\">","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<a href=\"#\">{!!$product->title!!}</a>","\t\t\t\t  \t</h4>","\t\t\t\t  \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t  \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t</div>","\t{!! $links !!}"],"id":59,"ignore":true}],[{"start":{"row":35,"column":15},"end":{"row":36,"column":1},"action":"insert","lines":["","\t"],"id":60,"ignore":true}],[{"start":{"row":36,"column":1},"end":{"row":36,"column":3},"action":"insert","lines":["/d"],"id":61,"ignore":true}],[{"start":{"row":36,"column":3},"end":{"row":36,"column":4},"action":"insert","lines":["i"],"id":62,"ignore":true}],[{"start":{"row":36,"column":2},"end":{"row":36,"column":4},"action":"remove","lines":["di"],"id":63,"ignore":true},{"start":{"row":36,"column":2},"end":{"row":36,"column":13},"action":"insert","lines":["<div></div>"]}],[{"start":{"row":36,"column":4},"end":{"row":36,"column":7},"action":"remove","lines":["iv>"],"id":64,"ignore":true}],[{"start":{"row":36,"column":1},"end":{"row":36,"column":4},"action":"remove","lines":["/<d"],"id":65,"ignore":true}],[{"start":{"row":36,"column":0},"end":{"row":36,"column":1},"action":"remove","lines":["\t"],"id":66,"ignore":true}],[{"start":{"row":19,"column":0},"end":{"row":36,"column":6},"action":"remove","lines":["\t<div class=\"row\">","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<a href=\"#\">{!!$product->title!!}</a>","\t\t\t\t  \t</h4>","\t\t\t\t  \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t  \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t</div>","\t{!! $links !!}","</div>"],"id":67}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":36},"action":"remove","lines":["Tout les produits"],"id":68},{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"insert","lines":["R"]}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"insert","lines":["e"],"id":69}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"insert","lines":["s"],"id":70}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"insert","lines":["u"],"id":71}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"remove","lines":["u"],"id":72}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"remove","lines":["s"],"id":73}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"remove","lines":["e"],"id":74}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"insert","lines":["é"],"id":75}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"insert","lines":["s"],"id":76}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"insert","lines":["u"],"id":77}],[{"start":{"row":12,"column":23},"end":{"row":12,"column":24},"action":"insert","lines":["l"],"id":78}],[{"start":{"row":12,"column":24},"end":{"row":12,"column":25},"action":"insert","lines":["t"],"id":79}],[{"start":{"row":12,"column":25},"end":{"row":12,"column":26},"action":"insert","lines":["a"],"id":80}],[{"start":{"row":12,"column":26},"end":{"row":12,"column":27},"action":"insert","lines":["t"],"id":81}],[{"start":{"row":12,"column":27},"end":{"row":12,"column":28},"action":"insert","lines":[" "],"id":82}],[{"start":{"row":12,"column":28},"end":{"row":12,"column":29},"action":"insert","lines":["d"],"id":83}],[{"start":{"row":12,"column":29},"end":{"row":12,"column":30},"action":"insert","lines":["e"],"id":84}],[{"start":{"row":12,"column":30},"end":{"row":12,"column":31},"action":"insert","lines":[" "],"id":85}],[{"start":{"row":12,"column":31},"end":{"row":12,"column":32},"action":"insert","lines":["v"],"id":86}],[{"start":{"row":12,"column":32},"end":{"row":12,"column":33},"action":"insert","lines":["o"],"id":87}],[{"start":{"row":12,"column":33},"end":{"row":12,"column":34},"action":"insert","lines":["t"],"id":88}],[{"start":{"row":12,"column":34},"end":{"row":12,"column":35},"action":"insert","lines":["r"],"id":89}],[{"start":{"row":12,"column":35},"end":{"row":12,"column":36},"action":"insert","lines":["e"],"id":90}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":[" "],"id":91}],[{"start":{"row":12,"column":37},"end":{"row":12,"column":38},"action":"insert","lines":["r"],"id":92}],[{"start":{"row":12,"column":38},"end":{"row":12,"column":39},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":12,"column":39},"end":{"row":12,"column":40},"action":"insert","lines":["c"],"id":94}],[{"start":{"row":12,"column":40},"end":{"row":12,"column":41},"action":"insert","lines":["h"],"id":95}],[{"start":{"row":12,"column":41},"end":{"row":12,"column":42},"action":"insert","lines":["e"],"id":96}],[{"start":{"row":12,"column":42},"end":{"row":12,"column":43},"action":"insert","lines":["r"],"id":97}],[{"start":{"row":12,"column":43},"end":{"row":12,"column":44},"action":"insert","lines":["c"],"id":98}],[{"start":{"row":12,"column":44},"end":{"row":12,"column":45},"action":"insert","lines":["h"],"id":99}],[{"start":{"row":12,"column":45},"end":{"row":12,"column":46},"action":"insert","lines":["e"],"id":100}],[{"start":{"row":14,"column":1},"end":{"row":14,"column":103},"action":"remove","lines":["\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>"],"id":101}],[{"start":{"row":16,"column":1},"end":{"row":16,"column":180},"action":"remove","lines":["\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>"],"id":102}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":29},"action":"insert","lines":["p>{!!$product->title!!}</p>"],"id":103}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":3},"action":"insert","lines":["<"],"id":104}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":30},"action":"remove","lines":["<p>{!!$product->title!!}</p>"],"id":105}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":29},"action":"insert","lines":["p>{!!$product->title!!}</p>"],"id":106}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":3},"action":"insert","lines":["<"],"id":107}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":3},"end":{"row":13,"column":3},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511042794543,"hash":"243e2050a73607f171f6e03ed6f7f37bde5ba4bb"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/registery.blade.php b/workspace/.c9/metadata/workspace/resources/views/registery.blade.php
new file mode 100644
index 0000000..6cad16a
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/registery.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"registery.blade.php","tooltip":"/resources/views/registery.blade.php","ace":{"folds":[],"scrolltop":312.1999999999999,"scrollleft":74.19999999999962,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"7fa9c1f520306b5b6ee48802561a1125d61c7f71","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1509579357362}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/seek.blade.php b/workspace/.c9/metadata/workspace/resources/views/seek.blade.php
new file mode 100644
index 0000000..81bd673
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/seek.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"seek.blade.php","tooltip":"/resources/views/seek.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":52},"end":{"row":18,"column":52},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511124920714,"hash":"51d8f65e31ce7c69004e4f9510d8081491610167"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php b/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php
new file mode 100644
index 0000000..3a20088
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"welcome.blade.php","tooltip":"/resources/views/template/welcome.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":14},"end":{"row":13,"column":14},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"09368256afbbccda81df56f9b18f959ccee7b0a3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/test.blade.php b/workspace/.c9/metadata/workspace/resources/views/test.blade.php
new file mode 100644
index 0000000..d98a925
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/test.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"test.blade.php","tooltip":"/resources/views/test.blade.php","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":0,"column":0},"end":{"row":221,"column":0},"action":"insert","lines":["<!DOCTYPE html>","<html lang=\"en\">","","  <head>","","    <meta charset=\"utf-8\">","    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">","    <meta name=\"description\" content=\"\">","    <meta name=\"author\" content=\"\">","","    <title>Shop Homepage - Start Bootstrap Template</title>","","    <!-- Bootstrap core CSS -->","    <link href=\"vendor/bootstrap/css/bootstrap.min.css\" rel=\"stylesheet\">","","    <!-- Custom styles for this template -->","    <link href=\"css/shop-homepage.css\" rel=\"stylesheet\">","","  </head>","","  <body>","","    <!-- Navigation -->","    <nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">","      <div class=\"container\">","        <a class=\"navbar-brand\" href=\"#\">Start Bootstrap</a>","        <button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">","          <span class=\"navbar-toggler-icon\"></span>","        </button>","        <div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">","          <ul class=\"navbar-nav ml-auto\">","            <li class=\"nav-item active\">","              <a class=\"nav-link\" href=\"#\">Home","                <span class=\"sr-only\">(current)</span>","              </a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link\" href=\"#\">About</a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link\" href=\"#\">Services</a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link\" href=\"#\">Contact</a>","            </li>","          </ul>","        </div>","      </div>","    </nav>","","    <!-- Page Content -->","    <div class=\"container\">","","      <div class=\"row\">","","        <div class=\"col-lg-3\">","","          <h1 class=\"my-4\">Shop Name</h1>","          <div class=\"list-group\">","            <a href=\"#\" class=\"list-group-item\">Category 1</a>","            <a href=\"#\" class=\"list-group-item\">Category 2</a>","            <a href=\"#\" class=\"list-group-item\">Category 3</a>","          </div>","","        </div>","        <!-- /.col-lg-3 -->","","        <div class=\"col-lg-9\">","","          <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">","            <ol class=\"carousel-indicators\">","              <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>","              <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>","              <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>","            </ol>","            <div class=\"carousel-inner\" role=\"listbox\">","              <div class=\"carousel-item active\">","                <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">","              </div>","              <div class=\"carousel-item\">","                <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">","              </div>","              <div class=\"carousel-item\">","                <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">","              </div>","            </div>","            <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">","              <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>","              <span class=\"sr-only\">Previous</span>","            </a>","            <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">","              <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>","              <span class=\"sr-only\">Next</span>","            </a>","          </div>","","          <div class=\"row\">","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item One</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item Two</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item Three</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item Four</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item Five</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","            <div class=\"col-lg-4 col-md-6 mb-4\">","              <div class=\"card h-100\">","                <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","                <div class=\"card-body\">","                  <h4 class=\"card-title\">","                    <a href=\"#\">Item Six</a>","                  </h4>","                  <h5>$24.99</h5>","                  <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>","                </div>","                <div class=\"card-footer\">","                  <small class=\"text-muted\">&#9733; &#9733; &#9733; &#9733; &#9734;</small>","                </div>","              </div>","            </div>","","          </div>","          <!-- /.row -->","","        </div>","        <!-- /.col-lg-9 -->","","      </div>","      <!-- /.row -->","","    </div>","    <!-- /.container -->","","    <!-- Footer -->","    <footer class=\"py-5 bg-dark\">","      <div class=\"container\">","        <p class=\"m-0 text-center text-white\">Copyright &copy; Your Website 2017</p>","      </div>","      <!-- /.container -->","    </footer>","","    <!-- Bootstrap core JavaScript -->","    <script src=\"vendor/jquery/jquery.min.js\"></script>","    <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>","","  </body>","","</html>",""],"id":1}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":221,"column":0},"end":{"row":221,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508956769102,"hash":"3a83d569a3580ab072011020a3f7dd5da26249b2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php b/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php
new file mode 100644
index 0000000..fdcfb22
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"testVente.blade.php","tooltip":"/resources/views/testVente.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":186,"column":17},"end":{"row":186,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509068872592,"hash":"3a83d569a3580ab072011020a3f7dd5da26249b2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php b/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php
new file mode 100644
index 0000000..f2676fc
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"testVoisins.blade.php","tooltip":"/resources/views/testVoisins.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"remove","lines":["s"],"id":56}],[{"start":{"row":55,"column":34},"end":{"row":55,"column":35},"action":"remove","lines":["i"],"id":57}],[{"start":{"row":55,"column":33},"end":{"row":55,"column":34},"action":"remove","lines":["d"],"id":58}],[{"start":{"row":12,"column":4},"end":{"row":13,"column":57},"action":"remove","lines":["<!-- Bootstrap core CSS -->","    <link href=\"/css/bootstrap.min.css\" rel=\"stylesheet\">"],"id":75},{"start":{"row":12,"column":4},"end":{"row":19,"column":55},"action":"insert","lines":["<!-- Font Awesome -->","        <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css\">","        ","        <!-- Bootstrap core CSS -->","        <link rel=\"stylesheet\" href=\"/css/bootstrap.min.css\">","        ","        <!-- Material Design Bootstrap -->","        <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"]}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":8},"action":"remove","lines":["  "],"id":76}],[{"start":{"row":19,"column":4},"end":{"row":19,"column":6},"action":"remove","lines":["  "],"id":77}],[{"start":{"row":18,"column":6},"end":{"row":18,"column":8},"action":"remove","lines":["  "],"id":78}],[{"start":{"row":17,"column":4},"end":{"row":17,"column":6},"action":"remove","lines":["  "],"id":79}],[{"start":{"row":18,"column":4},"end":{"row":18,"column":6},"action":"remove","lines":["  "],"id":80}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":6},"action":"remove","lines":["  "],"id":81}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":6},"action":"remove","lines":["  "],"id":82}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":6},"action":"remove","lines":["  "],"id":83}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":6},"action":"remove","lines":["  "],"id":84}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":6},"action":"remove","lines":["  "],"id":85}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":6},"action":"remove","lines":["  "],"id":98}],[{"start":{"row":41,"column":16},"end":{"row":41,"column":82},"action":"insert","lines":["navbar navbar-toggleable-sm nav-perso-color navbar-light fixed-top"],"id":99}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"insert","lines":[" "],"id":100}],[{"start":{"row":41,"column":83},"end":{"row":41,"column":89},"action":"remove","lines":["navbar"],"id":101}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"remove","lines":[" "],"id":102}],[{"start":{"row":41,"column":44},"end":{"row":41,"column":73},"action":"remove","lines":["nav-perso-color navbar-light "],"id":103}],[{"start":{"row":41,"column":44},"end":{"row":41,"column":53},"action":"remove","lines":["fixed-top"],"id":104}],[{"start":{"row":41,"column":43},"end":{"row":41,"column":44},"action":"remove","lines":[" "],"id":106}],[{"start":{"row":41,"column":23},"end":{"row":41,"column":43},"action":"remove","lines":["navbar-toggleable-sm"],"id":107}],[{"start":{"row":41,"column":22},"end":{"row":41,"column":23},"action":"remove","lines":[" "],"id":108}],[{"start":{"row":0,"column":0},"end":{"row":36,"column":9},"action":"remove","lines":["<!DOCTYPE html>","<html lang=\"en\">","","  <head>","","    <meta charset=\"utf-8\">","    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">","    <meta name=\"description\" content=\"\">","    <meta name=\"author\" content=\"\">","","    <title>Portfolio Item - Start Bootstrap Template</title>","","    <!-- Font Awesome -->","    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css\">","        ","    <!-- Bootstrap core CSS -->","    <link rel=\"stylesheet\" href=\"/css/bootstrap.min.css\">","      ","    <!-- Material Design Bootstrap -->","    <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">","","    <!-- Custom styles for this template ","    <link href=\"/css/portfolio-item.css\" rel=\"stylesheet\"> -->","    ","    <style type=\"text/css\">","      body {","        padding-top: 54px;","      }","      ","      @media (min-width: 992px) {","        body {","          padding-top: 56px;","        }","      }","    </style>","","  </head>"],"id":110}],[{"start":{"row":0,"column":0},"end":{"row":0,"column":16},"action":"insert","lines":["@extends('head')"],"id":111}],[{"start":{"row":0,"column":16},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":112}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":113}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["@"],"id":114}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["s"],"id":115}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":["e"],"id":116}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["c"],"id":117}],[{"start":{"row":2,"column":4},"end":{"row":2,"column":5},"action":"insert","lines":["t"],"id":118}],[{"start":{"row":2,"column":5},"end":{"row":2,"column":6},"action":"insert","lines":["i"],"id":119}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["o"],"id":120}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":["n"],"id":121}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["("],"id":122}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["'"],"id":123}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["b"],"id":124}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["o"],"id":125}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["d"],"id":126}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["y"],"id":127}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["'"],"id":128}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["à"],"id":129}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"remove","lines":["à"],"id":130}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":[")"],"id":131}],[{"start":{"row":106,"column":0},"end":{"row":106,"column":1},"action":"insert","lines":["@"],"id":132}],[{"start":{"row":106,"column":1},"end":{"row":106,"column":2},"action":"insert","lines":["e"],"id":133}],[{"start":{"row":106,"column":2},"end":{"row":106,"column":3},"action":"insert","lines":["n"],"id":134}],[{"start":{"row":106,"column":3},"end":{"row":106,"column":4},"action":"insert","lines":["d"],"id":135}],[{"start":{"row":106,"column":4},"end":{"row":106,"column":5},"action":"insert","lines":["s"],"id":136}],[{"start":{"row":106,"column":5},"end":{"row":106,"column":6},"action":"insert","lines":["e"],"id":137}],[{"start":{"row":106,"column":6},"end":{"row":106,"column":7},"action":"insert","lines":["c"],"id":138}],[{"start":{"row":106,"column":7},"end":{"row":106,"column":8},"action":"insert","lines":["t"],"id":139}],[{"start":{"row":106,"column":8},"end":{"row":106,"column":9},"action":"insert","lines":["i"],"id":140}],[{"start":{"row":106,"column":9},"end":{"row":106,"column":10},"action":"insert","lines":["o"],"id":141}],[{"start":{"row":106,"column":10},"end":{"row":106,"column":11},"action":"insert","lines":["n"],"id":142}],[{"start":{"row":106,"column":11},"end":{"row":114,"column":0},"action":"remove","lines":["","    <!-- Bootstrap core JavaScript -->","    <script src=\"/jquery/jquery.min.js\"></script>","    <script src=\"/js/bootstrap.bundle.min.js\"></script>","","  </body>","","</html>",""],"id":143}],[{"start":{"row":105,"column":13},"end":{"row":106,"column":0},"action":"insert","lines":["",""],"id":144},{"start":{"row":106,"column":0},"end":{"row":106,"column":4},"action":"insert","lines":["    "]}],[{"start":{"row":106,"column":0},"end":{"row":106,"column":4},"action":"remove","lines":["    "],"id":145}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["1"],"id":146}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["e"],"id":147}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["r"],"id":148}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"remove","lines":["r"],"id":149}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"remove","lines":["e"],"id":150}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"remove","lines":["d"],"id":151}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["d"],"id":152}],[{"start":{"row":7,"column":3},"end":{"row":32,"column":10},"action":"remove","lines":[" <nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">","      <div class=\"container\">","        <a class=\"navbar-brand\" href=\"#\">Start Bootstrap</a>","        <button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">","          <span class=\"navbar-toggler-icon\"></span>","        </button>","        <div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">","          <ul class=\"navbar-nav ml-auto\">","            <li class=\"nav-item active\">","              <a class=\"nav-link\" href=\"#\">Home","                <span class=\"sr-only\">(current)</span>","              </a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link\" href=\"#\">About</a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link\" href=\"#\">Services</a>","            </li>","            <li class=\"nav-item\">","              <a class=\"nav-link \" href=\"#\">Contact</a>","            </li>","          </ul>","        </div>","      </div>","    </nav>"],"id":153}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["e"],"id":154}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["r"],"id":155}],[{"start":{"row":13,"column":23},"end":{"row":13,"column":35},"action":"remove","lines":["Page Heading"],"id":156},{"start":{"row":13,"column":23},"end":{"row":13,"column":24},"action":"insert","lines":["B"]}],[{"start":{"row":13,"column":24},"end":{"row":13,"column":25},"action":"insert","lines":["i"],"id":157}],[{"start":{"row":13,"column":25},"end":{"row":13,"column":26},"action":"insert","lines":["e"],"id":158}],[{"start":{"row":13,"column":26},"end":{"row":13,"column":27},"action":"insert","lines":["n"],"id":159}],[{"start":{"row":13,"column":27},"end":{"row":13,"column":28},"action":"insert","lines":["v"],"id":160}],[{"start":{"row":13,"column":28},"end":{"row":13,"column":29},"action":"insert","lines":["e"],"id":161}],[{"start":{"row":13,"column":29},"end":{"row":13,"column":30},"action":"insert","lines":["n"],"id":162}],[{"start":{"row":13,"column":30},"end":{"row":13,"column":31},"action":"insert","lines":["u"],"id":163}],[{"start":{"row":13,"column":31},"end":{"row":13,"column":32},"action":"insert","lines":["e"],"id":164}],[{"start":{"row":13,"column":32},"end":{"row":13,"column":33},"action":"insert","lines":[" "],"id":165}],[{"start":{"row":13,"column":33},"end":{"row":13,"column":34},"action":"insert","lines":["s"],"id":166}],[{"start":{"row":13,"column":34},"end":{"row":13,"column":35},"action":"insert","lines":["u"],"id":167}],[{"start":{"row":13,"column":35},"end":{"row":13,"column":36},"action":"insert","lines":["r"],"id":168}],[{"start":{"row":13,"column":36},"end":{"row":13,"column":37},"action":"insert","lines":[" "],"id":169}],[{"start":{"row":13,"column":37},"end":{"row":13,"column":38},"action":"insert","lines":["B"],"id":170}],[{"start":{"row":13,"column":38},"end":{"row":13,"column":39},"action":"insert","lines":["o"],"id":171}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"insert","lines":["n"],"id":172}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"insert","lines":["s"],"id":173}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"insert","lines":["a"],"id":174}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"insert","lines":["i"],"id":175}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"insert","lines":["i"],"id":176}],[{"start":{"row":13,"column":44},"end":{"row":13,"column":45},"action":"insert","lines":["e"],"id":177}],[{"start":{"row":13,"column":45},"end":{"row":13,"column":46},"action":"insert","lines":["!"],"id":178}],[{"start":{"row":13,"column":45},"end":{"row":13,"column":46},"action":"insert","lines":[" "],"id":179}],[{"start":{"row":14,"column":8},"end":{"row":14,"column":37},"action":"remove","lines":["<small>Secondary Text</small>"],"id":180}],[{"start":{"row":14,"column":4},"end":{"row":14,"column":8},"action":"remove","lines":["    "],"id":181}],[{"start":{"row":14,"column":0},"end":{"row":14,"column":4},"action":"remove","lines":["    "],"id":182}],[{"start":{"row":13,"column":47},"end":{"row":14,"column":0},"action":"remove","lines":["",""],"id":183}],[{"start":{"row":13,"column":47},"end":{"row":14,"column":5},"action":"remove","lines":["","     "],"id":184}],[{"start":{"row":13,"column":47},"end":{"row":13,"column":48},"action":"remove","lines":[" "],"id":185}],[{"start":{"row":73,"column":4},"end":{"row":78,"column":13},"action":"remove","lines":["<footer class=\"py-5 bg-dark\">","      <div class=\"container\">","        <p class=\"m-0 text-center text-white\">Copyright &copy; Your Website 2017</p>","      </div>","      <!-- /.container -->","    </footer>"],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":45,"column":14},"end":{"row":45,"column":14},"isBackwards":false},"options":{"tabSize":4,"useSoftTabs":true,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509048656626,"hash":"6f92762ecd4112844718e9aab09cdd96117b6fbb"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php
new file mode 100644
index 0000000..6d63932
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"user_create.blade.php","tooltip":"/resources/views/user/user_create.blade.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":5,"column":0},"end":{"row":138,"column":0},"action":"remove","lines":["","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('products') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">","                        <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">","","                        @if ($errors->has('title'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('title') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">","","                           @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('email') }}</i>","                            </span>","                        @endif","                    </div>","                    <!-- https://www.w3schools.com/html/html_form_input_types.asp -->","                    <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">","                        <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">","","                        @if ($errors->has('address_number'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_number') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">","                        <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">","","                        @if ($errors->has('address_street'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_street') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">","                        <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">","","                        @if ($errors->has('address_city'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_city') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">","                        <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">","","                        @if ($errors->has('postal_code'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('postal_code') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\"></textarea>","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">","                        <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">","","                        @if ($errors->has('expire_at'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('expire_at') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">","                        <!--Ajouter : {frais, viande, produits laitier}-->","                        Catégorie: ","                        <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">","                            <option value=\"fruit\">fruit</option>","                            <option value=\"vegetable\">légume</option>","                            <option value=\"starchy\">féculent</option>","                            <option value=\"homemade\">fait maison</option>","                            <option value=\"fish\">poisson</option>","                            <option value=\"spices\">épices</option>","                            <option value=\"sugar\">sucré</option>","                            <option value=\"other\">autre</option>","                        </select>","                        ","                        <!-- <input type=\"date\"   placeholder=\"Date d'expiration\"> -->","","                        @if ($errors->has('category'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('category') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan","                    </div>","\t\t\t\t","\t\t\t\t    <div class=\"form-group mt-5\">","                        <div class=\"col-md-6 col-md-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary\">","                                <i class=\"fa fa-btn\"></i> Valider","                            </button>","                        </div>","                    </div>","                    ","                </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":2},{"start":{"row":5,"column":0},"end":{"row":46,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')","\t<div class=\"col-sm-offset-4 col-sm-4\">","\t\t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Création d'un utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<div class=\"col-sm-12\">","\t\t\t\t\t{!! Form::open(['route' => 'user.store', 'class' => 'form-horizontal panel']) !!}\t","\t\t\t\t\t<div class=\"form-group {!! $errors->has('name') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!}","\t\t\t\t\t\t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!}","\t\t\t\t\t\t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('password') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('password', ['class' => 'form-control', 'placeholder' => 'Mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('password', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t{!! Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => 'Confirmation mot de passe']) !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t<div class=\"checkbox\">","\t\t\t\t\t\t\t<label>","\t\t\t\t\t\t\t\t{!! Form::checkbox('admin', 1, null) !!} Administrateur","\t\t\t\t\t\t\t</label>","\t\t\t\t\t\t</div>","\t\t\t\t\t</div>","\t\t\t\t\t{!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!}","\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"remove","lines":["u"],"id":3}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"insert","lines":["t"],"id":4}],[{"start":{"row":5,"column":0},"end":{"row":5,"column":20},"action":"remove","lines":["@extends('template')"],"id":5}],[{"start":{"row":5,"column":0},"end":{"row":6,"column":0},"action":"remove","lines":["",""],"id":6}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":61},"end":{"row":10,"column":61},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511144899779,"hash":"f6a6d67352fd65ac821ab8f8852cef620b82daf9"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php b/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php
new file mode 100644
index 0000000..9b84070
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php
@@ -0,0 +1 @@
+{"changed":false,"filter":false,"title":"user_edit.php","tooltip":"/resources/views/user/user_edit.php","undoManager":{"mark":22,"position":22,"stack":[[{"start":{"row":6,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["","@section('content')","","<div class=\"container mb-5\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-5\">Connexion</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<!-- Formulaire d'inscription puis connexion en cours de création TODO -->","\t\t\t\t","\t\t\t\t<!-- Vérif de l'adresse email -->","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/login') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" ","                                name=\"email\" value=\"{{ old('email') }}\" placeholder=\"email\">","                        @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('email') }}</strong>","                            </span>","                        @endif","                    </div>","                    ","                    <!-- Vérif du mot de passe -->","                    <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">","                        ","                        <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">","","                        @if ($errors->has('password'))","                            <span class=\"help-block\">","                                <strong>{{ $errors->first('password') }}</strong>","                            </span>","                        @endif","                    </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group\">","                        <div class=\"col-lg-6 col-lg-offset-4\">","                            <div class=\"checkbox\">","                                <label>","                                    <input type=\"checkbox\" name=\"remember\"> Se rappeler de moi","                                </label>","                            </div>","                        </div>","                    </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group\">","                        <div class=\"col-lg-6 col-lg-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary mb-5\">","                                <i class=\"fa fa-btn fa-sign-in\"></i> Connexion","                            </button>","                            ","                            <a class=\"btn btn-link my-3\" href=\"{{ url('/register') }}\">Vous n'avez pas encore de compte?</a>","                            ","                            <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Vous avez oublié votre mot de passe?</a>","                        </div>","                    </div>","\t\t\t\t</form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":42},{"start":{"row":6,"column":0},"end":{"row":145,"column":0},"action":"insert","lines":["@extends('layouts.app')","","@section('title')","    Dépot d'annonce","@endsection","","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('products') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">","                        <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">","","                        @if ($errors->has('title'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('title') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">","","                           @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('email') }}</i>","                            </span>","                        @endif","                    </div>","                    <!-- https://www.w3schools.com/html/html_form_input_types.asp -->","                    <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">","                        <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">","","                        @if ($errors->has('address_number'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_number') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">","                        <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">","","                        @if ($errors->has('address_street'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_street') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">","                        <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">","","                        @if ($errors->has('address_city'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_city') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">","                        <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">","","                        @if ($errors->has('postal_code'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('postal_code') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\">","                            ","                        </textarea>","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">","                        <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">","","                        @if ($errors->has('expire_at'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('expire_at') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">","                        Catégorie: ","                        <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">","                            <option value=\"fruit\">fruit</option>","                            <option value=\"vegetable\">légume</option>","                            <option value=\"starchy\">féculent</option>","                            <option value=\"homemade\">fait maison</option>","                            <option value=\"fish\">poisson</option>","                            <option value=\"spices\">épices</option>","                            <option value=\"sugar\">sucré</option>","                            <option value=\"other\">autre</option>","                        </select>","                        ","                        <!-- <input type=\"date\"   placeholder=\"Date d'expiration\"> -->","","                        @if ($errors->has('category'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('category') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan","                    </div>","\t\t\t\t","\t\t\t\t    <div class=\"form-group mt-5\">","                        <div class=\"col-md-6 col-md-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary\">","                                <i class=\"fa fa-btn\"></i> Valider","                            </button>","                        </div>","                    </div>","                    ","                </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""]}],[{"start":{"row":6,"column":0},"end":{"row":10,"column":11},"action":"remove","lines":["@extends('layouts.app')","","@section('title')","    Dépot d'annonce","@endsection"],"id":43}],[{"start":{"row":6,"column":0},"end":{"row":7,"column":0},"action":"remove","lines":["",""],"id":44}],[{"start":{"row":19,"column":77},"end":{"row":19,"column":84},"action":"remove","lines":["roducts"],"id":58}],[{"start":{"row":19,"column":76},"end":{"row":19,"column":77},"action":"remove","lines":["p"],"id":59}],[{"start":{"row":19,"column":76},"end":{"row":19,"column":77},"action":"insert","lines":["u"],"id":60}],[{"start":{"row":19,"column":77},"end":{"row":19,"column":78},"action":"insert","lines":["s"],"id":61}],[{"start":{"row":19,"column":78},"end":{"row":19,"column":79},"action":"insert","lines":["e"],"id":62}],[{"start":{"row":19,"column":79},"end":{"row":19,"column":80},"action":"insert","lines":["r"],"id":63}],[{"start":{"row":19,"column":80},"end":{"row":19,"column":81},"action":"insert","lines":["s"],"id":64}],[{"start":{"row":6,"column":0},"end":{"row":140,"column":0},"action":"remove","lines":["","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('users') }}\">","                    {{ csrf_field() }}","","                    <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">","                        <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">","","                        @if ($errors->has('title'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('title') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">","                        <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">","","                           @if ($errors->has('email'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('email') }}</i>","                            </span>","                        @endif","                    </div>","                    <!-- https://www.w3schools.com/html/html_form_input_types.asp -->","                    <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">","                        <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">","","                        @if ($errors->has('address_number'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_number') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">","                        <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">","","                        @if ($errors->has('address_street'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_street') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">","                        <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">","","                        @if ($errors->has('address_city'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('address_city') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">","                        <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">","","                        @if ($errors->has('postal_code'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('postal_code') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\">","                            ","                        </textarea>","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">","                        <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">","","                        @if ($errors->has('expire_at'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('expire_at') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">","                        Catégorie: ","                        <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">","                            <option value=\"fruit\">fruit</option>","                            <option value=\"vegetable\">légume</option>","                            <option value=\"starchy\">féculent</option>","                            <option value=\"homemade\">fait maison</option>","                            <option value=\"fish\">poisson</option>","                            <option value=\"spices\">épices</option>","                            <option value=\"sugar\">sucré</option>","                            <option value=\"other\">autre</option>","                        </select>","                        ","                        <!-- <input type=\"date\"   placeholder=\"Date d'expiration\"> -->","","                        @if ($errors->has('category'))","                            <span class=\"help-block\">","                                <i class=\"indication\">{{ $errors->first('category') }}</i>","                            </span>","                        @endif","                    </div>","                    ","                    <div class=\"form-group\">","                        <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan","                    </div>","\t\t\t\t","\t\t\t\t    <div class=\"form-group mt-5\">","                        <div class=\"col-md-6 col-md-offset-4\">","                            <button type=\"submit\" class=\"btn btn-primary\">","                                <i class=\"fa fa-btn\"></i> Valider","                            </button>","                        </div>","                    </div>","                    ","                </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":65},{"start":{"row":6,"column":0},"end":{"row":40,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')","    <div class=\"col-sm-offset-4 col-sm-4\">","    \t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Modification d'un utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<div class=\"col-sm-12\">","\t\t\t\t\t{!! Form::model($user, ['route' => ['user.update', $user->id], 'method' => 'put', 'class' => 'form-horizontal panel']) !!}","\t\t\t\t\t<div class=\"form-group {!! $errors->has('name') ? 'has-error' : '' !!}\">","\t\t\t\t\t  \t{!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!}","\t\t\t\t\t  \t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t  \t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!}","\t\t\t\t\t  \t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t<div class=\"checkbox\">","\t\t\t\t\t\t\t<label>","\t\t\t\t\t\t\t\t{!! Form::checkbox('admin', 1, null) !!}Administrateur","\t\t\t\t\t\t\t</label>","\t\t\t\t\t\t</div>","\t\t\t\t\t</div>","\t\t\t\t\t\t{!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!}","\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":5,"column":0},"end":{"row":7,"column":0},"action":"remove","lines":["","@extends('template')",""],"id":66}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":26},"action":"remove","lines":["Modification du profil"],"id":67},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"]}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":[" "],"id":71}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["e"],"id":72}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["d"],"id":73}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["i"],"id":74}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["t"],"id":75}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"remove","lines":["u"],"id":76}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["t"],"id":78}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":17},"end":{"row":6,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511145443705}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php
new file mode 100644
index 0000000..7436606
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"user_index.blade.php","tooltip":"/resources/views/user/user_index.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"remove","lines":["'"],"id":59}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["t"],"id":60}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"remove","lines":["t"],"id":61}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"remove","lines":["u"],"id":62}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["t"],"id":63}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["'"],"id":64}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":19},"action":"remove","lines":["Dépot d'annonce"],"id":65},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["e"]}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"remove","lines":["e"],"id":66}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"],"id":67}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":7,"column":0},"end":{"row":45,"column":7},"action":"remove","lines":["    <br>","    <div class=\"col-sm-offset-4 col-sm-4\">","    \t@if(session()->has('ok'))","\t\t\t<div class=\"alert alert-success alert-dismissible\">{!! session('ok') !!}</div>","\t\t@endif","\t\t<div class=\"panel panel-primary\">","\t\t\t<div class=\"panel-heading\">","\t\t\t\t<h3 class=\"panel-title\">Liste des utilisateurs</h3>","\t\t\t</div>","\t\t\t<table class=\"table\">","\t\t\t\t<thead>","\t\t\t\t\t<tr>","\t\t\t\t\t\t<th>#</th>","\t\t\t\t\t\t<th>Nom</th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t</tr>","\t\t\t\t</thead>","\t\t\t\t<tbody>","\t\t\t\t\t@foreach ($users as $user)","\t\t\t\t\t\t<tr>","\t\t\t\t\t\t\t<td>{!! $user->id !!}</td>","\t\t\t\t\t\t\t<td class=\"text-primary\"><strong>{!! $user->name !!}</strong></td>","\t\t\t\t\t\t\t<td>{!! link_to_route('user.show', 'Voir', [$user->id], ['class' => 'btn btn-success btn-block']) !!}</td>","\t\t\t\t\t\t\t<td>{!! link_to_route('user.edit', 'Modifier', [$user->id], ['class' => 'btn btn-warning btn-block']) !!}</td>","\t\t\t\t\t\t\t<td>","\t\t\t\t\t\t\t\t{!! Form::open(['method' => 'DELETE', 'route' => ['user.destroy', $user->id]]) !!}","\t\t\t\t\t\t\t\t\t{!! Form::submit('Supprimer', ['class' => 'btn btn-danger btn-block', 'onclick' => 'return confirm(\\'Vraiment supprimer cet utilisateur ?\\')']) !!}","\t\t\t\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t\t\t\t</td>","\t\t\t\t\t\t</tr>","\t\t\t\t\t@endforeach","\t  \t\t\t</tbody>","\t\t\t</table>","\t\t</div>","\t\t{!! link_to_route('user.create', 'Ajouter un utilisateur', [], ['class' => 'btn btn-info pull-right']) !!}","\t\t{!! $links !!}","\t</div>"],"id":71}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":15},"action":"insert","lines":["<h1>test </h1>t"],"id":99}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"insert","lines":["="],"id":100}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"remove","lines":["="],"id":101}],[{"start":{"row":7,"column":14},"end":{"row":7,"column":15},"action":"remove","lines":["t"],"id":102}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":103}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":1},"action":"insert","lines":["<"],"id":104}],[{"start":{"row":7,"column":1},"end":{"row":7,"column":2},"action":"insert","lines":["b"],"id":105}],[{"start":{"row":7,"column":2},"end":{"row":7,"column":3},"action":"insert","lines":["r"],"id":106}],[{"start":{"row":7,"column":3},"end":{"row":7,"column":4},"action":"insert","lines":[">"],"id":107}],[{"start":{"row":8,"column":14},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":108}],[{"start":{"row":9,"column":0},"end":{"row":9,"column":4},"action":"insert","lines":["<br>"],"id":109}],[{"start":{"row":7,"column":0},"end":{"row":9,"column":4},"action":"remove","lines":["<br>","<h1>test </h1>","<br>"],"id":110}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":111}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":112}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":8},"action":"remove","lines":["test"],"id":113}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["M"],"id":114}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["o"],"id":115}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["d"],"id":116}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["i"],"id":117}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["f"],"id":118}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["i"],"id":119}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["c"],"id":120}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["a"],"id":121}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["t"],"id":122}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"insert","lines":["i"],"id":123}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"insert","lines":["o"],"id":124}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"insert","lines":["n"],"id":125}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"insert","lines":[" "],"id":126}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"insert","lines":["d"],"id":127}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":19},"action":"insert","lines":["u"],"id":128}],[{"start":{"row":3,"column":19},"end":{"row":3,"column":20},"action":"insert","lines":[" "],"id":129}],[{"start":{"row":3,"column":20},"end":{"row":3,"column":21},"action":"insert","lines":["p"],"id":130}],[{"start":{"row":3,"column":21},"end":{"row":3,"column":22},"action":"insert","lines":["r"],"id":131}],[{"start":{"row":3,"column":22},"end":{"row":3,"column":23},"action":"insert","lines":["o"],"id":132}],[{"start":{"row":3,"column":23},"end":{"row":3,"column":24},"action":"insert","lines":["f"],"id":133}],[{"start":{"row":3,"column":24},"end":{"row":3,"column":25},"action":"insert","lines":["i"],"id":134}],[{"start":{"row":3,"column":25},"end":{"row":3,"column":26},"action":"insert","lines":["l"],"id":135}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":136}],[{"start":{"row":8,"column":0},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":137}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":1},"action":"insert","lines":["E"],"id":138}],[{"start":{"row":8,"column":1},"end":{"row":8,"column":2},"action":"insert","lines":["n"],"id":139}],[{"start":{"row":8,"column":2},"end":{"row":8,"column":3},"action":"insert","lines":[" "],"id":140}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"insert","lines":["c"],"id":141}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":["o"],"id":142}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"insert","lines":["u"],"id":143}],[{"start":{"row":8,"column":6},"end":{"row":8,"column":7},"action":"insert","lines":["r"],"id":144}],[{"start":{"row":8,"column":7},"end":{"row":8,"column":8},"action":"insert","lines":["s"],"id":145}],[{"start":{"row":8,"column":8},"end":{"row":8,"column":9},"action":"insert","lines":[" "],"id":146}],[{"start":{"row":8,"column":9},"end":{"row":8,"column":10},"action":"insert","lines":["d"],"id":147}],[{"start":{"row":8,"column":10},"end":{"row":8,"column":11},"action":"insert","lines":["e"],"id":148}],[{"start":{"row":8,"column":11},"end":{"row":8,"column":12},"action":"insert","lines":[" "],"id":149}],[{"start":{"row":8,"column":12},"end":{"row":8,"column":13},"action":"insert","lines":["c"],"id":150}],[{"start":{"row":8,"column":13},"end":{"row":8,"column":14},"action":"insert","lines":["o"],"id":151}],[{"start":{"row":8,"column":14},"end":{"row":8,"column":15},"action":"insert","lines":["n"],"id":152}],[{"start":{"row":8,"column":15},"end":{"row":8,"column":16},"action":"insert","lines":["s"],"id":153}],[{"start":{"row":8,"column":16},"end":{"row":8,"column":17},"action":"insert","lines":["t"],"id":154}],[{"start":{"row":8,"column":17},"end":{"row":8,"column":18},"action":"insert","lines":["r"],"id":155}],[{"start":{"row":8,"column":18},"end":{"row":8,"column":19},"action":"insert","lines":["u"],"id":156}],[{"start":{"row":8,"column":19},"end":{"row":8,"column":20},"action":"insert","lines":["c"],"id":157}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"insert","lines":["c"],"id":158}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"remove","lines":["c"],"id":159}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"insert","lines":["t"],"id":160}],[{"start":{"row":8,"column":21},"end":{"row":8,"column":22},"action":"insert","lines":["i"],"id":161}],[{"start":{"row":8,"column":22},"end":{"row":8,"column":23},"action":"insert","lines":["o"],"id":162}],[{"start":{"row":8,"column":23},"end":{"row":8,"column":24},"action":"insert","lines":["n"],"id":163}],[{"start":{"row":8,"column":24},"end":{"row":8,"column":25},"action":"insert","lines":[" "],"id":164}],[{"start":{"row":8,"column":25},"end":{"row":8,"column":26},"action":"insert","lines":["<"],"id":165}],[{"start":{"row":8,"column":26},"end":{"row":8,"column":27},"action":"insert","lines":["/"],"id":166}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["h"],"id":167}],[{"start":{"row":8,"column":28},"end":{"row":8,"column":29},"action":"insert","lines":["1"],"id":168}],[{"start":{"row":8,"column":29},"end":{"row":8,"column":30},"action":"insert","lines":[">"],"id":169}],[{"start":{"row":8,"column":30},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":170}],[{"start":{"row":9,"column":0},"end":{"row":9,"column":4},"action":"insert","lines":["<br>"],"id":171}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":4},"action":"insert","lines":["<br>"],"id":172}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":1},"action":"insert","lines":["<"],"id":173}],[{"start":{"row":8,"column":1},"end":{"row":8,"column":2},"action":"insert","lines":["h"],"id":174}],[{"start":{"row":8,"column":2},"end":{"row":8,"column":3},"action":"insert","lines":["1"],"id":175}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"insert","lines":["/"],"id":176}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"remove","lines":["/"],"id":177}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":9},"action":"insert","lines":["></h1>"],"id":178}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":[" "],"id":179}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["<"],"id":180}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["/"],"id":181}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["h"],"id":182}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["1"],"id":183}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":[">"],"id":184}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"remove","lines":[" "],"id":185}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":[" "],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":19},"end":{"row":6,"column":19},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511145432818,"hash":"5010c5b4633f16e7029a8d4376b13cc159cf1c0f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php
new file mode 100644
index 0000000..fcc2e3d
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"user_show.blade.php","tooltip":"/resources/views/user/user_show.blade.php","undoManager":{"mark":14,"position":14,"stack":[[{"start":{"row":7,"column":0},"end":{"row":51,"column":11},"action":"remove","lines":["@section('content')","","<!-- TODO: C'est pas tous les produit mais juste celui qu'on a choisi -->","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Détails de produit</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise &raquo;</a></p>","\t</div>","\t","\t<!--TODO :style à revoir-->","\t<div class=\"row mb-4\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<p>{!!$product->title!!}</p>","\t\t\t\t  \t</h4>","\t\t\t\t  \t<p>Categorie : {{ $product->category }}</p>","\t\t\t\t  \t<p>{{ $product->description }}</p>","\t\t\t\t  \t<p><i class=\"fa fa-envelope\"></i> Contact : {{ $product->email }}</p>","\t\t\t\t  \t<p><i class=\"fa fa-home\"></i> Adresse : {{ $product->address_number }}","\t\t\t\t  \t\t\t\t\t{{ $product->address_street }}","\t\t\t\t  \t\t\t\t\t{{ $product->postal_code }}","\t\t\t\t  \t\t\t\t\t{{ $product->address_city }}</p>","\t\t\t\t  \t<p><i class=\"fa fa-hourglass-half\"></i> Expire le : {{ $product->expire_at }}</p>","\t\t\t\t  \t<?php ","\t\t\t\t  \tif(isset($product->vegan) && $product->vegan == true )","\t\t\t\t  \t\tprint('<p>Ce produit est vegan</p>');","\t\t\t\t  \t?>","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","\t","\t<div class=\"my-4 center\">","\t\t<a href= \" {{ url('products') }} \"> &laquo; Retours aux produits</a>","\t</div>","</div>","@endsection"],"id":2},{"start":{"row":7,"column":0},"end":{"row":26,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')","    <div class=\"col-sm-offset-4 col-sm-4\">","    \t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Fiche d'utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<p>Nom : {{ $user->name }}</p>","\t\t\t\t<p>Email : {{ $user->email }}</p>","\t\t\t\t@if($user->admin == 1)","\t\t\t\t\tAdministrateur","\t\t\t\t@endif","\t\t\t</div>","\t\t</div>\t\t\t\t","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":5,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["","","@extends('template')",""],"id":3}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":18},"action":"remove","lines":["Tous les produits"],"id":4},{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["t"]}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["s"],"id":6}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"],"id":7}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":[" "],"id":8}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["h"],"id":9}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["s"],"id":10}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"remove","lines":["s"],"id":11}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"remove","lines":["h"],"id":12}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":13}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["h"],"id":14}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["w"],"id":16}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":21},"end":{"row":13,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511144916930,"hash":"e113095fa418868ae21ca488302ecfb2b469ccfa"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php b/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php
new file mode 100644
index 0000000..9424361
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"welcome.blade.php","tooltip":"/resources/views/welcome.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":14},"end":{"row":13,"column":14},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"09368256afbbccda81df56f9b18f959ccee7b0a3"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/server.php b/workspace/.c9/metadata/workspace/server.php
new file mode 100644
index 0000000..c280736
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/server.php
@@ -0,0 +1 @@
+{"filter":false,"title":"server.php","tooltip":"/server.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":21,"column":0},"end":{"row":21,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508898006443,"hash":"893421fd40da1003bdf05cbbdab421e1a7077b23"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/storage/logs/laravel.log b/workspace/.c9/metadata/workspace/storage/logs/laravel.log
new file mode 100644
index 0000000..91af84a
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/storage/logs/laravel.log
@@ -0,0 +1 @@
+{"filter":false,"title":"laravel.log","tooltip":"/storage/logs/laravel.log","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509957045143,"hash":"31821f270e6f185ce2fd33a55e8235ec84598dc2"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/tests/ExampleTest.php b/workspace/.c9/metadata/workspace/tests/ExampleTest.php
new file mode 100644
index 0000000..e685d3e
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/tests/ExampleTest.php
@@ -0,0 +1 @@
+{"filter":false,"title":"ExampleTest.php","tooltip":"/tests/ExampleTest.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508898004222,"hash":"8939f67a07bde97d90f8cf0ebdf6316246eef3ec"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/tests/TestCase.php b/workspace/.c9/metadata/workspace/tests/TestCase.php
new file mode 100644
index 0000000..6a0d4f0
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/tests/TestCase.php
@@ -0,0 +1 @@
+{"filter":false,"title":"TestCase.php","tooltip":"/tests/TestCase.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012796048,"hash":"9723a28f057de058ef4123696345cf9e0373c73b"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php
new file mode 100644
index 0000000..dc83143
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php
@@ -0,0 +1 @@
+{"filter":false,"title":"FormBuilder.php","tooltip":"/vendor/illuminate/html/FormBuilder.php","undoManager":{"mark":3,"position":3,"stack":[[{"start":{"row":232,"column":47},"end":{"row":233,"column":0},"action":"insert","lines":["",""],"id":1},{"start":{"row":233,"column":0},"end":{"row":233,"column":2},"action":"insert","lines":["\t\t"]}],[{"start":{"row":233,"column":1},"end":{"row":233,"column":2},"action":"remove","lines":["\t"],"id":2}],[{"start":{"row":233,"column":0},"end":{"row":233,"column":1},"action":"remove","lines":["\t"],"id":3}],[{"start":{"row":232,"column":47},"end":{"row":233,"column":0},"action":"remove","lines":["",""],"id":4}]]},"ace":{"folds":[],"scrolltop":3544,"scrollleft":0,"selection":{"start":{"row":273,"column":0},"end":{"row":273,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":252,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1509349520098,"hash":"acefd537c7a7d446dec3c9b4d19b30109af2483f"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php
new file mode 100644
index 0000000..350f1cd
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php
@@ -0,0 +1 @@
+{"filter":false,"title":"FormFacade.php","tooltip":"/vendor/illuminate/html/FormFacade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509201010396,"hash":"f33ec502d131d92f67199e527b07f5b616d915c6"}
\ No newline at end of file
diff --git a/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json b/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json
new file mode 100644
index 0000000..3c9c626
--- /dev/null
+++ b/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json
@@ -0,0 +1 @@
+{"filter":false,"title":"composer.json","tooltip":"/vendor/laravelcollective/html/composer.json","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509201030216,"hash":"789f440a655b8e27fa7b631b55f8e52852933c40"}
\ No newline at end of file
diff --git a/workspace/.c9/project.settings b/workspace/.c9/project.settings
new file mode 100644
index 0000000..d541e4b
--- /dev/null
+++ b/workspace/.c9/project.settings
@@ -0,0 +1,106 @@
+{
+    "ace": {
+        "@guessTabSize": true,
+        "@newLineMode": "unix",
+        "@tabSize": 4,
+        "@useSoftTabs": true
+    },
+    "build": {
+        "@builder": "auto",
+        "@path": "/.c9/builders",
+        "@saveall": true
+    },
+    "find.nak": {
+        "@searchLimit": 100
+    },
+    "format": {
+        "jsbeautify": {
+            "@advanced": {},
+            "@braces": "end-expand",
+            "@indent_inner_html": false,
+            "@jslinthappy": "false",
+            "@keeparrayindentation": "false",
+            "@preserve-inline": true,
+            "@preserveempty": "true",
+            "@space_before_conditional": "true",
+            "@unescape_strings": "true"
+        }
+    },
+    "general": {
+        "@stripws": false
+    },
+    "golang": {
+        "@completion": true,
+        "@formatOnSave": true,
+        "@formatter": "gofmt -w \"$file\""
+    },
+    "javascript": {
+        "@formatOnSave": "false",
+        "@formatter": "esformatter -i \"$file\"",
+        "@use_jsbeautify": "true"
+    },
+    "language": {
+        "@eslintrc": true,
+        "@semi": true,
+        "@undeclaredVars": true,
+        "@unusedFunctionArgs": false,
+        "@warnLevel": "info",
+        "tern_defs": {
+            "json()": {
+                "browser": {
+                    "enabled": true
+                },
+                "ecma5": {
+                    "enabled": true
+                },
+                "jQuery": {
+                    "enabled": true
+                }
+            }
+        }
+    },
+    "php": {
+        "@completion": true,
+        "@path": ".:./vendor"
+    },
+    "python": {
+        "@completion": true,
+        "@path": "/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python3.4/dist-packages:/usr/local/lib/python3.5/dist-packages",
+        "@version": "python2"
+    },
+    "run": {
+        "@path": "/.c9/runners",
+        "configs": {
+            "@inited": "true",
+            "json()": {
+                "Apache & PHP": {
+                    "command": "",
+                    "debug": false,
+                    "default": true,
+                    "name": "Apache & PHP",
+                    "runner": "Apache httpd (PHP, HTML)",
+                    "toolbar": true
+                },
+                "PHP": {
+                    "command": "",
+                    "default": true,
+                    "name": "Apache & PHP",
+                    "runner": "Apache httpd (PHP, HTML)"
+                },
+                "php bonsaiie/artisan serve": {
+                    "command": "php bonsaiie/artisan serve",
+                    "cwd": "/",
+                    "env": {},
+                    "name": "php bonsaiie/artisan serve",
+                    "runner": "Shell command",
+                    "toolbar": true
+                }
+            }
+        }
+    },
+    "share": {
+        "@app": false,
+        "@preview": false,
+        "@useOwnerSettings": false
+    }
+}
\ No newline at end of file
diff --git a/workspace/.env.example b/workspace/.env.example
new file mode 100644
index 0000000..9a9d0dc
--- /dev/null
+++ b/workspace/.env.example
@@ -0,0 +1,26 @@
+APP_ENV=local
+APP_DEBUG=true
+APP_KEY=SomeRandomString
+APP_URL=http://localhost
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=homestead
+DB_USERNAME=homestead
+DB_PASSWORD=secret
+
+CACHE_DRIVER=file
+SESSION_DRIVER=file
+QUEUE_DRIVER=sync
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_DRIVER=smtp
+MAIL_HOST=mailtrap.io
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
diff --git a/workspace/.gitattributes b/workspace/.gitattributes
new file mode 100644
index 0000000..a8763f8
--- /dev/null
+++ b/workspace/.gitattributes
@@ -0,0 +1,3 @@
+* text=auto
+*.css linguist-vendored
+*.scss linguist-vendored
diff --git a/workspace/.gitignore b/workspace/.gitignore
new file mode 100644
index 0000000..6b3af3f
--- /dev/null
+++ b/workspace/.gitignore
@@ -0,0 +1,6 @@
+/vendor
+/node_modules
+/public/storage
+Homestead.yaml
+Homestead.json
+.env
diff --git a/workspace/BUG_REPORT b/workspace/BUG_REPORT
new file mode 100644
index 0000000..d854321
--- /dev/null
+++ b/workspace/BUG_REPORT
@@ -0,0 +1,3 @@
+La taille du site n'est pas adaptative
+
+Le menu déroulant "Produits" bug au moment de passer dans la liste [en mode clic clic]"
\ No newline at end of file
diff --git a/workspace/README.md b/workspace/README.md
new file mode 100644
index 0000000..1e4969c
--- /dev/null
+++ b/workspace/README.md
@@ -0,0 +1,30 @@
+
+     ,-----.,--.                  ,--. ,---.   ,--.,------.  ,------.
+    '  .--./|  | ,---. ,--.,--. ,-|  || o   \  |  ||  .-.  \ |  .---'
+    |  |    |  || .-. ||  ||  |' .-. |`..'  |  |  ||  |  \  :|  `--, 
+    '  '--'\|  |' '-' ''  ''  '\ `-' | .'  /   |  ||  '--'  /|  `---.
+     `-----'`--' `---'  `----'  `---'  `--'    `--'`-------' `------'
+    ----------------------------------------------------------------- 
+
+
+Hi there! Welcome to Cloud9 IDE!
+
+To get you started, we have created a small hello world application.
+
+1) Open the hello-world.php file
+
+2) Follow the run instructions in the file's comments
+
+3) If you want to look at the Apache logs, check out ~/lib/apache2/log
+
+And that's all there is to it! Just have fun. Go ahead and edit the code, 
+or add new files. It's all up to you! 
+
+Happy coding!
+The Cloud9 IDE team
+
+
+## Support & Documentation
+
+Visit http://docs.c9.io for support, or to learn more about using Cloud9 IDE. 
+To watch some training videos, visit http://www.youtube.com/user/c9ide
diff --git a/workspace/README_SQL b/workspace/README_SQL
new file mode 100644
index 0000000..a69b6b4
--- /dev/null
+++ b/workspace/README_SQL
@@ -0,0 +1,45 @@
+#Trucs et astuces pour SQL
+
+##Liste des DB créé pour le site :
+* products
+* >Censé regrouper touts les produits et leurs infos
+
+>Note : Il existe actuellement comme user dans la BD "cartman10" [Le proprio de la DB]
+
+##Quand on ne connait plus le nom des DB dans sql ni le nom de l'user 
+
+```
+mysql-ctl cli
+```
+Ensuite
+
+```
+SHOW DATABASES;
+```
+
+##Connection à une DB
+
+```
+mysql --user=cartman10 nomDeLaDB
+```
+
+##Pour plus d'aide
+
+Dans Mysql
+```
+help [le topic]
+```
+
+Si le topic a un nom incomplet
+```
+help [début du topic]%
+```
+Ex:
+> help databa%
+
+##Commande de base (je suis pas sur de la syntaxe)
+
+Dans Mysql
+```
+CREATE DATABASE
+```
\ No newline at end of file
diff --git a/workspace/Retro.2.md b/workspace/Retro.2.md
new file mode 100644
index 0000000..e69de29
diff --git a/workspace/app/Console/Commands/Inspire.php b/workspace/app/Console/Commands/Inspire.php
new file mode 100644
index 0000000..db9ab85
--- /dev/null
+++ b/workspace/app/Console/Commands/Inspire.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+use Illuminate\Foundation\Inspiring;
+
+class Inspire extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'inspire';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Display an inspiring quote';
+
+    /**
+     * Execute the console command.
+     *
+     * @return mixed
+     */
+    public function handle()
+    {
+        $this->comment(PHP_EOL.Inspiring::quote().PHP_EOL);
+    }
+}
diff --git a/workspace/app/Console/Kernel.php b/workspace/app/Console/Kernel.php
new file mode 100644
index 0000000..71c519d
--- /dev/null
+++ b/workspace/app/Console/Kernel.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Console;
+
+use Illuminate\Console\Scheduling\Schedule;
+use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
+
+class Kernel extends ConsoleKernel
+{
+    /**
+     * The Artisan commands provided by your application.
+     *
+     * @var array
+     */
+    protected $commands = [
+        // Commands\Inspire::class,
+    ];
+
+    /**
+     * Define the application's command schedule.
+     *
+     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
+     * @return void
+     */
+    protected function schedule(Schedule $schedule)
+    {
+        // $schedule->command('inspire')
+        //          ->hourly();
+    }
+}
diff --git a/workspace/app/Events/Event.php b/workspace/app/Events/Event.php
new file mode 100644
index 0000000..ba2f888
--- /dev/null
+++ b/workspace/app/Events/Event.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace App\Events;
+
+abstract class Event
+{
+    //
+}
diff --git a/workspace/app/Exceptions/Handler.php b/workspace/app/Exceptions/Handler.php
new file mode 100644
index 0000000..53617ef
--- /dev/null
+++ b/workspace/app/Exceptions/Handler.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace App\Exceptions;
+
+use Exception;
+use Illuminate\Validation\ValidationException;
+use Illuminate\Auth\Access\AuthorizationException;
+use Illuminate\Database\Eloquent\ModelNotFoundException;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
+
+class Handler extends ExceptionHandler
+{
+    /**
+     * A list of the exception types that should not be reported.
+     *
+     * @var array
+     */
+    protected $dontReport = [
+        AuthorizationException::class,
+        HttpException::class,
+        ModelNotFoundException::class,
+        ValidationException::class,
+    ];
+
+    /**
+     * Report or log an exception.
+     *
+     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
+     *
+     * @param  \Exception  $e
+     * @return void
+     */
+    public function report(Exception $e)
+    {
+        parent::report($e);
+    }
+
+    /**
+     * Render an exception into an HTTP response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Exception  $e
+     * @return \Illuminate\Http\Response
+     */
+    public function render($request, Exception $e)
+    {
+        return parent::render($request, $e);
+    }
+}
diff --git a/workspace/app/Http/Controllers/Auth/AuthController.php b/workspace/app/Http/Controllers/Auth/AuthController.php
new file mode 100644
index 0000000..0327c88
--- /dev/null
+++ b/workspace/app/Http/Controllers/Auth/AuthController.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\User;
+use Validator;
+use App\Http\Controllers\Controller;
+use Illuminate\Foundation\Auth\ThrottlesLogins;
+use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
+
+class AuthController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Registration & Login Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller handles the registration of new users, as well as the
+    | authentication of existing users. By default, this controller uses
+    | a simple trait to add these behaviors. Why don't you explore it?
+    |
+    */
+
+    use AuthenticatesAndRegistersUsers, ThrottlesLogins;
+
+    /**
+     * Where to redirect users after login / registration.
+     *
+     * @var string
+     */
+    protected $redirectTo = '/';
+
+    /**
+     * Create a new authentication controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
+    }
+
+    /**
+     * Get a validator for an incoming registration request.
+     *
+     * @param  array  $data
+     * @return \Illuminate\Contracts\Validation\Validator
+     */
+    protected function validator(array $data)
+    {
+        return Validator::make($data, [
+            'name' => 'required|max:255|unique:users',
+            'email' => 'required|email|max:255|unique:users',
+            'password' => 'required|min:6|confirmed',
+            'cgu_checked' => 'required'
+        ]);
+    }
+
+    /**
+     * Create a new user instance after a valid registration.
+     *
+     * @param  array  $data
+     * @return User
+     */
+    protected function create(array $data)
+    {
+        return User::create([
+            'name' => $data['name'],
+            'email' => $data['email'],
+            'password' => bcrypt($data['password']),
+        ]);
+    }
+}
diff --git a/workspace/app/Http/Controllers/Auth/PasswordController.php b/workspace/app/Http/Controllers/Auth/PasswordController.php
new file mode 100644
index 0000000..1ceed97
--- /dev/null
+++ b/workspace/app/Http/Controllers/Auth/PasswordController.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Foundation\Auth\ResetsPasswords;
+
+class PasswordController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller is responsible for handling password reset requests
+    | and uses a simple trait to include this behavior. You're free to
+    | explore this trait and override any methods you wish to tweak.
+    |
+    */
+
+    use ResetsPasswords;
+
+    /**
+     * Create a new password controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('guest');
+    }
+}
diff --git a/workspace/app/Http/Controllers/Controller.php b/workspace/app/Http/Controllers/Controller.php
new file mode 100644
index 0000000..d492e0b
--- /dev/null
+++ b/workspace/app/Http/Controllers/Controller.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Foundation\Bus\DispatchesJobs;
+use Illuminate\Routing\Controller as BaseController;
+use Illuminate\Foundation\Validation\ValidatesRequests;
+use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
+use Illuminate\Foundation\Auth\Access\AuthorizesResources;
+
+class Controller extends BaseController
+{
+    use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
+}
diff --git a/workspace/app/Http/Controllers/HomeController.php b/workspace/app/Http/Controllers/HomeController.php
new file mode 100644
index 0000000..2865793
--- /dev/null
+++ b/workspace/app/Http/Controllers/HomeController.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Http\Requests;
+use Illuminate\Http\Request;
+
+class HomeController extends Controller
+{
+    /**
+     * Create a new controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('auth');
+    }
+
+    /**
+     * Show the application dashboard.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        return view('index');
+    }
+}
diff --git a/workspace/app/Http/Controllers/ProductsController.php b/workspace/app/Http/Controllers/ProductsController.php
new file mode 100644
index 0000000..34a99a3
--- /dev/null
+++ b/workspace/app/Http/Controllers/ProductsController.php
@@ -0,0 +1,164 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use App\Http\Requests\ProductCreateRequest;
+use App\Http\Requests\ProductUpdateRequest;
+
+use App\Repositories\ProductRepository;
+
+use App\Http\Requests;
+
+
+class ProductsController extends Controller
+{
+
+    protected $nbrPerPage = 10;
+    
+    
+    /* A VOIR: replace USER -> PRODUCT */
+    protected $productRepository;
+    
+    public function __construct(ProductRepository $productRepository)
+    {
+		$this->productRepository = $productRepository;
+	}
+	
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     * 
+     * 
+     * https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-1-2
+     *
+     */
+    public function index()
+    {
+        $products = $this->productRepository->getPaginate($this->nbrPerPage);
+		$links = $products->render();
+        
+        /* On doit mettre ici le nom de la page qui pourra utiliser
+        * des @foreach pour itéré sur les produits
+        */
+		return view('products.product_index', compact('products', 'links'));
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        return view('products.product_create');
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     * 
+     *
+     */
+    public function store(Request $request)
+    {
+        $product = $this->productRepository->store($request->all());
+
+		return redirect('products')->withOk("L'annonce " . $product->title . " a été créé.");
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     * 
+     *
+     */
+    public function show($id)
+    {
+        $product = $this->productRepository->getById($id);
+
+		return view('products.product_show',  compact('product'));
+    }
+    
+    /**
+     * Display the specified resource.
+     *
+     * @param  string  $product
+     * @return \Illuminate\Http\Response
+     * 
+     * 
+     */
+    public function research($data)
+    {
+        $products = $this->productRepository->getByString($data, $this->nbrPerPage);
+        $links = $products->render();
+
+		return view('products.product_index',  compact('products', 'links'));
+    }
+    
+    /**
+     * Display resources expiring soon.
+     *
+     * @param  date  $date
+     * @return \Illuminate\Http\Response
+     * 
+     * 
+     */
+    public function soon($date)
+    {
+        $product = $this->productRepository->getById($date);
+
+		return view('products.product_index',  compact('product'));
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     * 
+     * TODO
+     */
+    public function edit($id)
+    {
+        $product = $this->productRepository->getById($id);
+
+		return view('products.product_edit',  compact('product'));
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     * 
+     * TODO
+     */
+    public function update(Request $request, $id)
+    {
+        $this->productRepository->update($id, $request->all());
+		
+		return redirect('product')->withOk("L'annonce " . $request->input('name') . " a été modifié.");
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     * 
+     * TODO
+     */
+    public function destroy($id)
+    {
+        $this->productRepository->destroy($id);
+
+		return back();
+    }
+}
diff --git a/workspace/app/Http/Controllers/UserController.php b/workspace/app/Http/Controllers/UserController.php
new file mode 100644
index 0000000..08f5578
--- /dev/null
+++ b/workspace/app/Http/Controllers/UserController.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Http\Requests\UserCreateRequest;
+use App\Http\Requests\UserUpdateRequest;
+
+use App\Repositories\UserRepository;
+
+use Illuminate\Http\Request;
+
+class UserController extends Controller
+{
+
+    protected $userRepository;
+
+    protected $nbrPerPage = 4;
+
+    public function __construct(UserRepository $userRepository)
+    {
+		$this->userRepository = $userRepository;
+	}
+
+	public function index()
+	{
+		$users = $this->userRepository->getPaginate($this->nbrPerPage);
+		$links = $users->render();
+
+		return view('user.user_index', compact('users', 'links'));
+	}
+
+	public function show($id)
+	{
+		$user = $this->userRepository->getById($id);
+
+		return view('user.user_show',  compact('user'));
+	}
+
+	public function edit($id)
+	{
+		$user = $this->userRepository->getById($id);
+
+		return view('user.user_edit',  compact('user'));
+	}
+
+	public function update(UserUpdateRequest $request, $id)
+	{
+		$this->userRepository->update($id, $request->all());
+		
+		return redirect('user')->withOk("L'utilisateur " . $request->input('name') . " a été modifié.");
+	}
+
+}
\ No newline at end of file
diff --git a/workspace/app/Http/Kernel.php b/workspace/app/Http/Kernel.php
new file mode 100644
index 0000000..bffcfd9
--- /dev/null
+++ b/workspace/app/Http/Kernel.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace App\Http;
+
+use Illuminate\Foundation\Http\Kernel as HttpKernel;
+
+class Kernel extends HttpKernel
+{
+    /**
+     * The application's global HTTP middleware stack.
+     *
+     * These middleware are run during every request to your application.
+     *
+     * @var array
+     */
+    protected $middleware = [
+        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
+    ];
+
+    /**
+     * The application's route middleware groups.
+     *
+     * @var array
+     */
+    protected $middlewareGroups = [
+        'web' => [
+            \App\Http\Middleware\EncryptCookies::class,
+            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
+            \Illuminate\Session\Middleware\StartSession::class,
+            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
+            \App\Http\Middleware\VerifyCsrfToken::class,
+        ],
+
+        'api' => [
+            'throttle:60,1',
+        ],
+    ];
+
+    /**
+     * The application's route middleware.
+     *
+     * These middleware may be assigned to groups or used individually.
+     *
+     * @var array
+     */
+    protected $routeMiddleware = [
+        'auth' => \App\Http\Middleware\Authenticate::class,
+        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
+        'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
+        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
+    ];
+}
diff --git a/workspace/app/Http/Middleware/Authenticate.php b/workspace/app/Http/Middleware/Authenticate.php
new file mode 100644
index 0000000..67abcae
--- /dev/null
+++ b/workspace/app/Http/Middleware/Authenticate.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Support\Facades\Auth;
+
+class Authenticate
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @param  string|null  $guard
+     * @return mixed
+     */
+    public function handle($request, Closure $next, $guard = null)
+    {
+        if (Auth::guard($guard)->guest()) {
+            if ($request->ajax() || $request->wantsJson()) {
+                return response('Unauthorized.', 401);
+            } else {
+                return redirect()->guest('login');
+            }
+        }
+
+        return $next($request);
+    }
+}
diff --git a/workspace/app/Http/Middleware/EncryptCookies.php b/workspace/app/Http/Middleware/EncryptCookies.php
new file mode 100644
index 0000000..3aa15f8
--- /dev/null
+++ b/workspace/app/Http/Middleware/EncryptCookies.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
+
+class EncryptCookies extends BaseEncrypter
+{
+    /**
+     * The names of the cookies that should not be encrypted.
+     *
+     * @var array
+     */
+    protected $except = [
+        //
+    ];
+}
diff --git a/workspace/app/Http/Middleware/RedirectIfAuthenticated.php b/workspace/app/Http/Middleware/RedirectIfAuthenticated.php
new file mode 100644
index 0000000..e27860e
--- /dev/null
+++ b/workspace/app/Http/Middleware/RedirectIfAuthenticated.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Support\Facades\Auth;
+
+class RedirectIfAuthenticated
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @param  string|null  $guard
+     * @return mixed
+     */
+    public function handle($request, Closure $next, $guard = null)
+    {
+        if (Auth::guard($guard)->check()) {
+            return redirect('/');
+        }
+
+        return $next($request);
+    }
+}
diff --git a/workspace/app/Http/Middleware/VerifyCsrfToken.php b/workspace/app/Http/Middleware/VerifyCsrfToken.php
new file mode 100644
index 0000000..a2c3541
--- /dev/null
+++ b/workspace/app/Http/Middleware/VerifyCsrfToken.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
+
+class VerifyCsrfToken extends BaseVerifier
+{
+    /**
+     * The URIs that should be excluded from CSRF verification.
+     *
+     * @var array
+     */
+    protected $except = [
+        //
+    ];
+}
diff --git a/workspace/app/Http/Requests/ProductCreateRequest.php b/workspace/app/Http/Requests/ProductCreateRequest.php
new file mode 100644
index 0000000..3994a19
--- /dev/null
+++ b/workspace/app/Http/Requests/ProductCreateRequest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace App\Http\Requests;
+
+use App\Http\Requests\Request;
+
+class ProductCreateRequest extends Request
+{
+    /**
+     * Determine if the user is authorized to make this request.
+     *
+     * @return bool
+     */
+    public function authorize()
+    {
+        return true;
+    }
+
+    /**
+     * Get the validation rules that apply to the request.
+     * 
+     * TODO en fonction du formulaire d'enregistrement de l'annonce
+     * 
+     * https://laravel.com/docs/5.2/validation#available-validation-rules
+     * 
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            'title' => 'required',
+			'email' => 'required|email',
+			'adres_number' => 'required|numeric',
+			'adress_street' => 'required|alpha',
+			'adress_city' => 'required|alpha',
+			'postal_code' => 'required|int',
+			//'description' => '' Champ Libre
+			'expire_at' => 'required|date',
+			'category' => 'required' 
+        ];
+    }
+}
diff --git a/workspace/app/Http/Requests/ProductUpdateRequest.php b/workspace/app/Http/Requests/ProductUpdateRequest.php
new file mode 100644
index 0000000..47c4d6c
--- /dev/null
+++ b/workspace/app/Http/Requests/ProductUpdateRequest.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace App\Http\Requests;
+
+use App\Http\Requests\Request;
+
+class ProductUpdateRequest extends Request
+{
+    /**
+     * Determine if the user is authorized to make this request.
+     *
+     * @return bool
+     */
+    public function authorize()
+    {
+        return true;
+    }
+
+    /**
+     * Get the validation rules that apply to the request.
+     * 
+     * TODO en fonction du formulaire d'enregistrement de l'annonce
+     * 
+     * https://laravel.com/docs/5.2/validation#available-validation-rules
+     * 
+     * @return array
+     */
+    public function rules()
+    {
+        //TODO : Voir l'intéret de $id
+        $id = $this->product;
+		return [
+			'title' => 'required' . $id,
+			'email' => 'required|email' . $id,
+			'adres_number' => 'required|numeric' . $id,
+			'adress_street' => 'required|alpha' . $id,
+			'adress_city' => 'required|alpha' . $id,
+			'postal_code' => 'required|int' . $id,
+			//'description' => '' Champ Libre
+			'expire_at' => 'required|date' .$id ,
+			'category' => 'required' . $id
+		];
+    }
+}
diff --git a/workspace/app/Http/routes.php b/workspace/app/Http/routes.php
new file mode 100644
index 0000000..34fd016
--- /dev/null
+++ b/workspace/app/Http/routes.php
@@ -0,0 +1,127 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Application Routes
+|--------------------------------------------------------------------------
+|
+| Here is where you can register all of the routes for an application.
+| It's a breeze. Simply tell Laravel the URIs it should respond to
+| and give it the controller to call when that URI is requested.
+|
+*/
+
+/* Routes des pages principales */
+Route::get('/', function () {
+    return view('index');
+});
+
+/*
+Route::get('/products', function () {
+    return view('all_products');
+});
+*/
+
+/* Formulaire de dépot d'annonce */
+
+Route::resource('products', 'ProductsController');
+
+Route::post('research', 'ProductsController@research');
+Route::get('research', 'ProductsController@research');
+
+/*
+Route::group(array('before' => 'csrf'), function () {
+Route::post('products/research', function() {
+    $match = \Request::get('products/research');  
+    if($match) {
+        return Redirect::route('index', array('match' => $match))
+            ->with('flash_notice', 'Résultats pour la recherche du terme '.$match);
+    } else {
+        return Redirect::route('index')
+            ->with('flash_error', 'Nous n\'avons rien trouvé !');
+    }
+});
+});
+
+Route::get('products/{match?}', array('as' => 'index', function ($match = NULL) {
+    $products = NULL;
+    if($match) {
+        $products = Product::where('title', 'LIKE', '%'.$match.'%')
+                			->orwhere('description', 'LIKE', '%'.$match.'%')
+                			->orderBy('expire_at')
+                			->paginate(12);
+    } else {
+        $products = Product::select('*')
+                            ->orderBy('expire_at')
+                            ->paginate(12);
+    }
+    	return view('products.product_index',  compact('products')); 
+}));*/
+
+/* test page produits alimentaires */
+Route::get('products/{match?}', array('as' => 'alimentary', function ($match = NULL) {
+    $products = NULL;
+    if($match) {
+        $products = Product::where('title', 'LIKE', '%'.$match.'%')
+                			->orwhere('description', 'LIKE', '%'.$match.'%')
+                			->orderBy('expire_at')
+                			->paginate(12);
+    } else {
+        $products = Product::select('*')
+                            ->orderBy('expire_at')
+                            ->paginate(12);
+    }
+    	return view('products.product_alimentary', compact('products')); 
+}));
+
+/* Formulaire de modification de profil */
+
+Route::resource('user', 'UserController');
+
+
+
+
+/* Lorsqu'une recherche est effectuée 
+   !! CECI EST UN EXEMPLE !!
+
+Route::get('/produits/page{n}', 'ArticleController@show')->where('n', '[0-9]+'); 
+*/
+
+Route::get('/seek', function() {
+    //Affiche la page seek.blade.php dans ressources/view
+    return view('seek');
+    
+});
+
+
+
+
+/*Route qui traite la requête GET    
+Route::get('/seek/{r}', function($r){
+}->where('title','LIKE','%'.$r.'%');*/
+    
+    
+
+/* Connexion/Inscription */
+Route::get('/cgu', function () {
+    return view('guide.cgu');
+});
+
+Route::auth();
+
+
+/* -------------- USELESS -------------- */
+
+Route::get('/registery', function () {
+    return view('registery');
+});
+
+Route::get('/confirmRegistery', function () {
+    return view('confirmRegistery');
+});
+
+
+
+/* Demande d'inscription 
+Route::get('register', 'RegisterController@getForm');
+Route::post('register', 'RegisterController@postForm'); */
\ No newline at end of file
diff --git a/workspace/app/Jobs/Job.php b/workspace/app/Jobs/Job.php
new file mode 100644
index 0000000..55ece29
--- /dev/null
+++ b/workspace/app/Jobs/Job.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Jobs;
+
+use Illuminate\Bus\Queueable;
+
+abstract class Job
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Queueable Jobs
+    |--------------------------------------------------------------------------
+    |
+    | This job base class provides a central location to place any logic that
+    | is shared across all of your jobs. The trait included with the class
+    | provides access to the "onQueue" and "delay" queue helper methods.
+    |
+    */
+
+    use Queueable;
+}
diff --git a/workspace/app/Listeners/.gitkeep b/workspace/app/Listeners/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/workspace/app/Listeners/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/workspace/app/Policies/.gitkeep b/workspace/app/Policies/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/workspace/app/Policies/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/workspace/app/Product.php b/workspace/app/Product.php
new file mode 100644
index 0000000..a0bcec1
--- /dev/null
+++ b/workspace/app/Product.php
@@ -0,0 +1,12 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Product extends Model
+{
+    protected $table = 'products';
+    
+    public $timestamps = false;
+}
diff --git a/workspace/app/Providers/AppServiceProvider.php b/workspace/app/Providers/AppServiceProvider.php
new file mode 100644
index 0000000..35471f6
--- /dev/null
+++ b/workspace/app/Providers/AppServiceProvider.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\ServiceProvider;
+
+class AppServiceProvider extends ServiceProvider
+{
+    /**
+     * Bootstrap any application services.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        //
+    }
+
+    /**
+     * Register any application services.
+     *
+     * @return void
+     */
+    public function register()
+    {
+        //
+    }
+}
diff --git a/workspace/app/Providers/AuthServiceProvider.php b/workspace/app/Providers/AuthServiceProvider.php
new file mode 100644
index 0000000..57d88ea
--- /dev/null
+++ b/workspace/app/Providers/AuthServiceProvider.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Contracts\Auth\Access\Gate as GateContract;
+use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
+
+class AuthServiceProvider extends ServiceProvider
+{
+    /**
+     * The policy mappings for the application.
+     *
+     * @var array
+     */
+    protected $policies = [
+        'App\Model' => 'App\Policies\ModelPolicy',
+    ];
+
+    /**
+     * Register any application authentication / authorization services.
+     *
+     * @param  \Illuminate\Contracts\Auth\Access\Gate  $gate
+     * @return void
+     */
+    public function boot(GateContract $gate)
+    {
+        $this->registerPolicies($gate);
+
+        //
+    }
+}
diff --git a/workspace/app/Providers/EventServiceProvider.php b/workspace/app/Providers/EventServiceProvider.php
new file mode 100644
index 0000000..58ce962
--- /dev/null
+++ b/workspace/app/Providers/EventServiceProvider.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
+use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
+
+class EventServiceProvider extends ServiceProvider
+{
+    /**
+     * The event listener mappings for the application.
+     *
+     * @var array
+     */
+    protected $listen = [
+        'App\Events\SomeEvent' => [
+            'App\Listeners\EventListener',
+        ],
+    ];
+
+    /**
+     * Register any other events for your application.
+     *
+     * @param  \Illuminate\Contracts\Events\Dispatcher  $events
+     * @return void
+     */
+    public function boot(DispatcherContract $events)
+    {
+        parent::boot($events);
+
+        //
+    }
+}
diff --git a/workspace/app/Providers/RouteServiceProvider.php b/workspace/app/Providers/RouteServiceProvider.php
new file mode 100644
index 0000000..bde0881
--- /dev/null
+++ b/workspace/app/Providers/RouteServiceProvider.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Routing\Router;
+use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
+
+class RouteServiceProvider extends ServiceProvider
+{
+    /**
+     * This namespace is applied to your controller routes.
+     *
+     * In addition, it is set as the URL generator's root namespace.
+     *
+     * @var string
+     */
+    protected $namespace = 'App\Http\Controllers';
+
+    /**
+     * Define your route model bindings, pattern filters, etc.
+     *
+     * @param  \Illuminate\Routing\Router  $router
+     * @return void
+     */
+    public function boot(Router $router)
+    {
+        //
+
+        parent::boot($router);
+    }
+
+    /**
+     * Define the routes for the application.
+     *
+     * @param  \Illuminate\Routing\Router  $router
+     * @return void
+     */
+    public function map(Router $router)
+    {
+        $this->mapWebRoutes($router);
+
+        //
+    }
+
+    /**
+     * Define the "web" routes for the application.
+     *
+     * These routes all receive session state, CSRF protection, etc.
+     *
+     * @param  \Illuminate\Routing\Router  $router
+     * @return void
+     */
+    protected function mapWebRoutes(Router $router)
+    {
+        $router->group([
+            'namespace' => $this->namespace, 'middleware' => 'web',
+        ], function ($router) {
+            require app_path('Http/routes.php');
+        });
+    }
+}
diff --git a/workspace/app/Repositories/ProductRepository.php b/workspace/app/Repositories/ProductRepository.php
new file mode 100644
index 0000000..7c1f293
--- /dev/null
+++ b/workspace/app/Repositories/ProductRepository.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace App\Repositories;
+
+use App\Product;
+
+/*
+TODO
+
+https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs
+
+*/
+class ProductRepository
+{
+
+    protected $product;
+
+    public function __construct(Product $product)
+	{
+		$this->product = $product;
+	}
+	
+
+	private function save(Product $product, Array $inputs)
+	{
+		$product->title = $inputs['title'];
+		$product->email = $inputs['email'];
+		$product->address_number = $inputs['address_number'];
+		$product->address_street = $inputs['address_street'];
+		$product->address_city = $inputs['address_city'];
+		$product->postal_code = $inputs['postal_code'];
+		$product->description = $inputs['description'];
+		$product->expire_at = $inputs['expire_at'];
+		$product->category = $inputs['category'];
+		
+		if( isset($inputs['vegan']) ){
+			//Boolean type
+			$product->vegan = $inputs['vegan'];
+		}
+
+		$product->save();
+	}
+
+	public function getPaginate($n)
+	{
+		return $this->product->paginate($n);
+	}
+	
+	public function store(Array $inputs)
+	{
+		$product = new $this->product;
+		
+		// possibilité de chiffrer des données
+		//$product->password = bcrypt($inputs['password']);
+
+		$this->save($product, $inputs);
+
+		return $product;
+	}
+
+	public function getById($id)
+	{
+		return $this->product->findOrFail($id);
+	}
+	/* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */
+	public function getByString($data,$n)
+	{
+		return $this->product
+			->where('title', 'LIKE', '%'.$data['r'].'%')
+			->orwhere('description', 'LIKE', '%'.$data['r'].'%')
+			->paginate($n);
+	}
+	
+	/* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */
+	public function getByDate($id)
+	{
+		return $this->product->findOrFail($id);
+	}
+
+	public function update($id, Array $inputs)
+	{
+		$this->save($this->getById($id), $inputs);
+	}
+
+	public function destroy($id)
+	{
+		$this->getById($id)->delete();
+	}
+
+}
+
diff --git a/workspace/app/Repositories/UserRepository.php b/workspace/app/Repositories/UserRepository.php
new file mode 100644
index 0000000..09c6c87
--- /dev/null
+++ b/workspace/app/Repositories/UserRepository.php
@@ -0,0 +1,56 @@
+<?php
+
+namespace App\Repositories;
+
+use App\User;
+
+class UserRepository
+{
+
+    protected $user;
+
+    public function __construct(User $user)
+	{
+		$this->user = $user;
+	}
+
+	private function save(User $user, Array $inputs)
+	{
+		$user->name = $inputs['name'];
+		$user->email = $inputs['email'];	
+		$user->admin = isset($inputs['admin']);	
+
+		$user->save();
+	}
+
+	public function getPaginate($n)
+	{
+		return $this->user->paginate($n);
+	}
+
+	public function store(Array $inputs)
+	{
+		$user = new $this->user;		
+		$user->password = bcrypt($inputs['password']);
+
+		$this->save($user, $inputs);
+
+		return $user;
+	}
+
+	public function getById($id)
+	{
+		return $this->user->findOrFail($id);
+	}
+
+	public function update($id, Array $inputs)
+	{
+		$this->save($this->getById($id), $inputs);
+	}
+
+	public function destroy($id)
+	{
+		$this->getById($id)->delete();
+	}
+
+}
\ No newline at end of file
diff --git a/workspace/app/User.php b/workspace/app/User.php
new file mode 100644
index 0000000..75741ae
--- /dev/null
+++ b/workspace/app/User.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace App;
+
+use Illuminate\Foundation\Auth\User as Authenticatable;
+
+class User extends Authenticatable
+{
+    /**
+     * The attributes that are mass assignable.
+     *
+     * @var array
+     */
+    protected $fillable = [
+        'name', 'email', 'password',
+    ];
+
+    /**
+     * The attributes that should be hidden for arrays.
+     *
+     * @var array
+     */
+    protected $hidden = [
+        'password', 'remember_token',
+    ];
+}
diff --git a/workspace/artisan b/workspace/artisan
new file mode 100755
index 0000000..df630d0
--- /dev/null
+++ b/workspace/artisan
@@ -0,0 +1,51 @@
+#!/usr/bin/env php
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Register The Auto Loader
+|--------------------------------------------------------------------------
+|
+| Composer provides a convenient, automatically generated class loader
+| for our application. We just need to utilize it! We'll require it
+| into the script here so that we do not have to worry about the
+| loading of any our classes "manually". Feels great to relax.
+|
+*/
+
+require __DIR__.'/bootstrap/autoload.php';
+
+$app = require_once __DIR__.'/bootstrap/app.php';
+
+/*
+|--------------------------------------------------------------------------
+| Run The Artisan Application
+|--------------------------------------------------------------------------
+|
+| When we run the console application, the current CLI command will be
+| executed in this console and the response sent back to a terminal
+| or another output device for the developers. Here goes nothing!
+|
+*/
+
+$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
+
+$status = $kernel->handle(
+    $input = new Symfony\Component\Console\Input\ArgvInput,
+    new Symfony\Component\Console\Output\ConsoleOutput
+);
+
+/*
+|--------------------------------------------------------------------------
+| Shutdown The Application
+|--------------------------------------------------------------------------
+|
+| Once Artisan has finished running. We will fire off the shutdown events
+| so that any final work may be done by the application before we shut
+| down the process. This is the last thing to happen to the request.
+|
+*/
+
+$kernel->terminate($input, $status);
+
+exit($status);
diff --git a/workspace/bootstrap/app.php b/workspace/bootstrap/app.php
new file mode 100644
index 0000000..f2801ad
--- /dev/null
+++ b/workspace/bootstrap/app.php
@@ -0,0 +1,55 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Create The Application
+|--------------------------------------------------------------------------
+|
+| The first thing we will do is create a new Laravel application instance
+| which serves as the "glue" for all the components of Laravel, and is
+| the IoC container for the system binding all of the various parts.
+|
+*/
+
+$app = new Illuminate\Foundation\Application(
+    realpath(__DIR__.'/../')
+);
+
+/*
+|--------------------------------------------------------------------------
+| Bind Important Interfaces
+|--------------------------------------------------------------------------
+|
+| Next, we need to bind some important interfaces into the container so
+| we will be able to resolve them when needed. The kernels serve the
+| incoming requests to this application from both the web and CLI.
+|
+*/
+
+$app->singleton(
+    Illuminate\Contracts\Http\Kernel::class,
+    App\Http\Kernel::class
+);
+
+$app->singleton(
+    Illuminate\Contracts\Console\Kernel::class,
+    App\Console\Kernel::class
+);
+
+$app->singleton(
+    Illuminate\Contracts\Debug\ExceptionHandler::class,
+    App\Exceptions\Handler::class
+);
+
+/*
+|--------------------------------------------------------------------------
+| Return The Application
+|--------------------------------------------------------------------------
+|
+| This script returns the application instance. The instance is given to
+| the calling script so we can separate the building of the instances
+| from the actual running of the application and sending responses.
+|
+*/
+
+return $app;
diff --git a/workspace/bootstrap/autoload.php b/workspace/bootstrap/autoload.php
new file mode 100644
index 0000000..3830137
--- /dev/null
+++ b/workspace/bootstrap/autoload.php
@@ -0,0 +1,34 @@
+<?php
+
+define('LARAVEL_START', microtime(true));
+
+/*
+|--------------------------------------------------------------------------
+| Register The Composer Auto Loader
+|--------------------------------------------------------------------------
+|
+| Composer provides a convenient, automatically generated class loader
+| for our application. We just need to utilize it! We'll require it
+| into the script here so that we do not have to worry about the
+| loading of any our classes "manually". Feels great to relax.
+|
+*/
+
+require __DIR__.'/../vendor/autoload.php';
+
+/*
+|--------------------------------------------------------------------------
+| Include The Compiled Class File
+|--------------------------------------------------------------------------
+|
+| To dramatically increase your application's performance, you may use a
+| compiled class file which contains all of the classes commonly used
+| by a request. The Artisan "optimize" is used to create this file.
+|
+*/
+
+$compiledPath = __DIR__.'/cache/compiled.php';
+
+if (file_exists($compiledPath)) {
+    require $compiledPath;
+}
diff --git a/workspace/bootstrap/cache/.gitignore b/workspace/bootstrap/cache/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/bootstrap/cache/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/composer.json b/workspace/composer.json
new file mode 100644
index 0000000..d9ba4be
--- /dev/null
+++ b/workspace/composer.json
@@ -0,0 +1,53 @@
+{
+    "name": "laravel/laravel",
+    "description": "The Laravel Framework.",
+    "keywords": ["framework", "laravel"],
+    "license": "MIT",
+    "type": "project",
+    "require": {
+        "php": ">=5.5.9",
+        "laravel/framework": "5.2.*",
+        "twbs/bootstrap": "4.0.0-beta.2",
+        "illuminate/html": "5.*",
+        "laravelcollective/html":"^5.2.0"
+    },
+    "require-dev": {
+        "fzaninotto/faker": "~1.4",
+        "mockery/mockery": "0.9.*",
+        "phpunit/phpunit": "~4.0",
+        "symfony/css-selector": "2.8.*|3.0.*",
+        "symfony/dom-crawler": "2.8.*|3.0.*"
+    },
+    "autoload": {
+        "classmap": [
+            "database"
+        ],
+        "psr-4": {
+            "App\\": "app/"
+        }
+    },
+    "autoload-dev": {
+        "classmap": [
+            "tests/TestCase.php"
+        ]
+    },
+    "scripts": {
+        "post-root-package-install": [
+            "php -r \"copy('.env.example', '.env');\""
+        ],
+        "post-create-project-cmd": [
+            "php artisan key:generate"
+        ],
+        "post-install-cmd": [
+            "Illuminate\\Foundation\\ComposerScripts::postInstall",
+            "php artisan optimize"
+        ],
+        "post-update-cmd": [
+            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
+            "php artisan optimize"
+        ]
+    },
+    "config": {
+        "preferred-install": "dist"
+    }
+}
diff --git a/workspace/composer.lock b/workspace/composer.lock
new file mode 100644
index 0000000..cdfaa15
--- /dev/null
+++ b/workspace/composer.lock
@@ -0,0 +1,3351 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "9f403bb82ca010ff31395baf19507c8f",
+    "packages": [
+        {
+            "name": "classpreloader/classpreloader",
+            "version": "3.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/ClassPreloader/ClassPreloader.git",
+                "reference": "bc7206aa892b5a33f4680421b69b191efd32b096"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/bc7206aa892b5a33f4680421b69b191efd32b096",
+                "reference": "bc7206aa892b5a33f4680421b69b191efd32b096",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^1.0|^2.0|^3.0",
+                "php": ">=5.5.9"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8|^5.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.1-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "ClassPreloader\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com"
+                },
+                {
+                    "name": "Graham Campbell",
+                    "email": "graham@alt-three.com"
+                }
+            ],
+            "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case",
+            "keywords": [
+                "autoload",
+                "class",
+                "preload"
+            ],
+            "time": "2016-09-16T12:50:15+00:00"
+        },
+        {
+            "name": "dnoegel/php-xdg-base-dir",
+            "version": "0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
+                "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
+                "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "@stable"
+            },
+            "type": "project",
+            "autoload": {
+                "psr-4": {
+                    "XdgBaseDir\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "implementation of xdg base directory specification for php",
+            "time": "2014-10-24T07:27:01+00:00"
+        },
+        {
+            "name": "doctrine/inflector",
+            "version": "v1.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/inflector.git",
+                "reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
+                "reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "4.*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-0": {
+                    "Doctrine\\Common\\Inflector\\": "lib/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Roman Borschel",
+                    "email": "roman@code-factory.org"
+                },
+                {
+                    "name": "Benjamin Eberlei",
+                    "email": "kontakt@beberlei.de"
+                },
+                {
+                    "name": "Guilherme Blanco",
+                    "email": "guilhermeblanco@gmail.com"
+                },
+                {
+                    "name": "Jonathan Wage",
+                    "email": "jonwage@gmail.com"
+                },
+                {
+                    "name": "Johannes Schmitt",
+                    "email": "schmittjoh@gmail.com"
+                }
+            ],
+            "description": "Common String Manipulations with regard to casing and singular/plural rules.",
+            "homepage": "http://www.doctrine-project.org",
+            "keywords": [
+                "inflection",
+                "pluralize",
+                "singularize",
+                "string"
+            ],
+            "time": "2015-11-06T14:35:42+00:00"
+        },
+        {
+            "name": "illuminate/html",
+            "version": "v5.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/illuminate/html.git",
+                "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/illuminate/html/zipball/3d1009bb8e0f25720c914af5c1f4015dd373c9ef",
+                "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef",
+                "shasum": ""
+            },
+            "require": {
+                "illuminate/http": "~5.0",
+                "illuminate/session": "~5.0",
+                "illuminate/support": "~5.0",
+                "php": ">=5.4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Illuminate\\Html\\": ""
+                },
+                "files": [
+                    "helpers.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylorotwell@gmail.com"
+                }
+            ],
+            "abandoned": "laravelcollective/html",
+            "time": "2015-01-01T16:31:18+00:00"
+        },
+        {
+            "name": "jakub-onderka/php-console-color",
+            "version": "0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
+                "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1",
+                "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "jakub-onderka/php-code-style": "1.0",
+                "jakub-onderka/php-parallel-lint": "0.*",
+                "jakub-onderka/php-var-dump-check": "0.*",
+                "phpunit/phpunit": "3.7.*",
+                "squizlabs/php_codesniffer": "1.*"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-0": {
+                    "JakubOnderka\\PhpConsoleColor": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-2-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Jakub Onderka",
+                    "email": "jakub.onderka@gmail.com",
+                    "homepage": "http://www.acci.cz"
+                }
+            ],
+            "time": "2014-04-08T15:00:19+00:00"
+        },
+        {
+            "name": "jakub-onderka/php-console-highlighter",
+            "version": "v0.3.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
+                "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5",
+                "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5",
+                "shasum": ""
+            },
+            "require": {
+                "jakub-onderka/php-console-color": "~0.1",
+                "php": ">=5.3.0"
+            },
+            "require-dev": {
+                "jakub-onderka/php-code-style": "~1.0",
+                "jakub-onderka/php-parallel-lint": "~0.5",
+                "jakub-onderka/php-var-dump-check": "~0.1",
+                "phpunit/phpunit": "~4.0",
+                "squizlabs/php_codesniffer": "~1.5"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-0": {
+                    "JakubOnderka\\PhpConsoleHighlighter": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jakub Onderka",
+                    "email": "acci@acci.cz",
+                    "homepage": "http://www.acci.cz/"
+                }
+            ],
+            "time": "2015-04-20T18:58:01+00:00"
+        },
+        {
+            "name": "jeremeamia/SuperClosure",
+            "version": "2.3.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/jeremeamia/super_closure.git",
+                "reference": "443c3df3207f176a1b41576ee2a66968a507b3db"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/443c3df3207f176a1b41576ee2a66968a507b3db",
+                "reference": "443c3df3207f176a1b41576ee2a66968a507b3db",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^1.2|^2.0|^3.0",
+                "php": ">=5.4",
+                "symfony/polyfill-php56": "^1.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.0|^5.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.3-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "SuperClosure\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jeremy Lindblom",
+                    "email": "jeremeamia@gmail.com",
+                    "homepage": "https://github.com/jeremeamia",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Serialize Closure objects, including their context and binding",
+            "homepage": "https://github.com/jeremeamia/super_closure",
+            "keywords": [
+                "closure",
+                "function",
+                "lambda",
+                "parser",
+                "serializable",
+                "serialize",
+                "tokenizer"
+            ],
+            "time": "2016-12-07T09:37:55+00:00"
+        },
+        {
+            "name": "laravel/framework",
+            "version": "v5.2.45",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/laravel/framework.git",
+                "reference": "2a79f920d5584ec6df7cf996d922a742d11095d1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/laravel/framework/zipball/2a79f920d5584ec6df7cf996d922a742d11095d1",
+                "reference": "2a79f920d5584ec6df7cf996d922a742d11095d1",
+                "shasum": ""
+            },
+            "require": {
+                "classpreloader/classpreloader": "~3.0",
+                "doctrine/inflector": "~1.0",
+                "ext-mbstring": "*",
+                "ext-openssl": "*",
+                "jeremeamia/superclosure": "~2.2",
+                "league/flysystem": "~1.0",
+                "monolog/monolog": "~1.11",
+                "mtdowling/cron-expression": "~1.0",
+                "nesbot/carbon": "~1.20",
+                "paragonie/random_compat": "~1.4",
+                "php": ">=5.5.9",
+                "psy/psysh": "0.7.*",
+                "swiftmailer/swiftmailer": "~5.1",
+                "symfony/console": "2.8.*|3.0.*",
+                "symfony/debug": "2.8.*|3.0.*",
+                "symfony/finder": "2.8.*|3.0.*",
+                "symfony/http-foundation": "2.8.*|3.0.*",
+                "symfony/http-kernel": "2.8.*|3.0.*",
+                "symfony/polyfill-php56": "~1.0",
+                "symfony/process": "2.8.*|3.0.*",
+                "symfony/routing": "2.8.*|3.0.*",
+                "symfony/translation": "2.8.*|3.0.*",
+                "symfony/var-dumper": "2.8.*|3.0.*",
+                "vlucas/phpdotenv": "~2.2"
+            },
+            "replace": {
+                "illuminate/auth": "self.version",
+                "illuminate/broadcasting": "self.version",
+                "illuminate/bus": "self.version",
+                "illuminate/cache": "self.version",
+                "illuminate/config": "self.version",
+                "illuminate/console": "self.version",
+                "illuminate/container": "self.version",
+                "illuminate/contracts": "self.version",
+                "illuminate/cookie": "self.version",
+                "illuminate/database": "self.version",
+                "illuminate/encryption": "self.version",
+                "illuminate/events": "self.version",
+                "illuminate/exception": "self.version",
+                "illuminate/filesystem": "self.version",
+                "illuminate/hashing": "self.version",
+                "illuminate/http": "self.version",
+                "illuminate/log": "self.version",
+                "illuminate/mail": "self.version",
+                "illuminate/pagination": "self.version",
+                "illuminate/pipeline": "self.version",
+                "illuminate/queue": "self.version",
+                "illuminate/redis": "self.version",
+                "illuminate/routing": "self.version",
+                "illuminate/session": "self.version",
+                "illuminate/support": "self.version",
+                "illuminate/translation": "self.version",
+                "illuminate/validation": "self.version",
+                "illuminate/view": "self.version",
+                "tightenco/collect": "self.version"
+            },
+            "require-dev": {
+                "aws/aws-sdk-php": "~3.0",
+                "mockery/mockery": "~0.9.4",
+                "pda/pheanstalk": "~3.0",
+                "phpunit/phpunit": "~4.1",
+                "predis/predis": "~1.0",
+                "symfony/css-selector": "2.8.*|3.0.*",
+                "symfony/dom-crawler": "2.8.*|3.0.*"
+            },
+            "suggest": {
+                "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).",
+                "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
+                "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
+                "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).",
+                "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
+                "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
+                "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
+                "predis/predis": "Required to use the redis cache and queue drivers (~1.0).",
+                "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).",
+                "symfony/css-selector": "Required to use some of the crawler integration testing tools (2.8.*|3.0.*).",
+                "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (2.8.*|3.0.*).",
+                "symfony/psr-http-message-bridge": "Required to use psr7 bridging features (0.2.*)."
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.2-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/Illuminate/Queue/IlluminateQueueClosure.php"
+                ],
+                "files": [
+                    "src/Illuminate/Foundation/helpers.php",
+                    "src/Illuminate/Support/helpers.php"
+                ],
+                "psr-4": {
+                    "Illuminate\\": "src/Illuminate/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylorotwell@gmail.com"
+                }
+            ],
+            "description": "The Laravel Framework.",
+            "homepage": "http://laravel.com",
+            "keywords": [
+                "framework",
+                "laravel"
+            ],
+            "time": "2016-08-26T11:44:52+00:00"
+        },
+        {
+            "name": "laravelcollective/html",
+            "version": "v5.2.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/LaravelCollective/html.git",
+                "reference": "4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/LaravelCollective/html/zipball/4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e",
+                "reference": "4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e",
+                "shasum": ""
+            },
+            "require": {
+                "illuminate/http": "5.2.*",
+                "illuminate/routing": "5.2.*",
+                "illuminate/session": "5.2.*",
+                "illuminate/support": "5.2.*",
+                "illuminate/view": "5.2.*",
+                "php": ">=5.5.9"
+            },
+            "require-dev": {
+                "illuminate/database": "5.2.*",
+                "mockery/mockery": "~0.9",
+                "phpunit/phpunit": "~4.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Collective\\Html\\": "src/"
+                },
+                "files": [
+                    "src/helpers.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylorotwell@gmail.com"
+                },
+                {
+                    "name": "Adam Engebretson",
+                    "email": "adam@laravelcollective.com"
+                }
+            ],
+            "description": "HTML and Form Builders for the Laravel Framework",
+            "homepage": "http://laravelcollective.com",
+            "time": "2017-05-21T18:02:21+00:00"
+        },
+        {
+            "name": "league/flysystem",
+            "version": "1.0.41",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/thephpleague/flysystem.git",
+                "reference": "f400aa98912c561ba625ea4065031b7a41e5a155"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155",
+                "reference": "f400aa98912c561ba625ea4065031b7a41e5a155",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "conflict": {
+                "league/flysystem-sftp": "<1.0.6"
+            },
+            "require-dev": {
+                "ext-fileinfo": "*",
+                "mockery/mockery": "~0.9",
+                "phpspec/phpspec": "^2.2",
+                "phpunit/phpunit": "~4.8"
+            },
+            "suggest": {
+                "ext-fileinfo": "Required for MimeType",
+                "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
+                "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
+                "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
+                "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
+                "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
+                "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
+                "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
+                "league/flysystem-webdav": "Allows you to use WebDAV storage",
+                "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
+                "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
+                "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "League\\Flysystem\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Frank de Jonge",
+                    "email": "info@frenky.net"
+                }
+            ],
+            "description": "Filesystem abstraction: Many filesystems, one API.",
+            "keywords": [
+                "Cloud Files",
+                "WebDAV",
+                "abstraction",
+                "aws",
+                "cloud",
+                "copy.com",
+                "dropbox",
+                "file systems",
+                "files",
+                "filesystem",
+                "filesystems",
+                "ftp",
+                "rackspace",
+                "remote",
+                "s3",
+                "sftp",
+                "storage"
+            ],
+            "time": "2017-08-06T17:41:04+00:00"
+        },
+        {
+            "name": "monolog/monolog",
+            "version": "1.23.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Seldaek/monolog.git",
+                "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+                "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0",
+                "psr/log": "~1.0"
+            },
+            "provide": {
+                "psr/log-implementation": "1.0.0"
+            },
+            "require-dev": {
+                "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+                "doctrine/couchdb": "~1.0@dev",
+                "graylog2/gelf-php": "~1.0",
+                "jakub-onderka/php-parallel-lint": "0.9",
+                "php-amqplib/php-amqplib": "~2.4",
+                "php-console/php-console": "^3.1.3",
+                "phpunit/phpunit": "~4.5",
+                "phpunit/phpunit-mock-objects": "2.3.0",
+                "ruflin/elastica": ">=0.90 <3.0",
+                "sentry/sentry": "^0.13",
+                "swiftmailer/swiftmailer": "^5.3|^6.0"
+            },
+            "suggest": {
+                "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+                "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+                "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+                "ext-mongo": "Allow sending log messages to a MongoDB server",
+                "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+                "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
+                "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+                "php-console/php-console": "Allow sending log messages to Google Chrome",
+                "rollbar/rollbar": "Allow sending log messages to Rollbar",
+                "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
+                "sentry/sentry": "Allow sending log messages to a Sentry server"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Monolog\\": "src/Monolog"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jordi Boggiano",
+                    "email": "j.boggiano@seld.be",
+                    "homepage": "http://seld.be"
+                }
+            ],
+            "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+            "homepage": "http://github.com/Seldaek/monolog",
+            "keywords": [
+                "log",
+                "logging",
+                "psr-3"
+            ],
+            "time": "2017-06-19T01:22:40+00:00"
+        },
+        {
+            "name": "mtdowling/cron-expression",
+            "version": "v1.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/mtdowling/cron-expression.git",
+                "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad",
+                "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.0|~5.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Cron\\": "src/Cron/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                }
+            ],
+            "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+            "keywords": [
+                "cron",
+                "schedule"
+            ],
+            "time": "2017-01-23T04:29:33+00:00"
+        },
+        {
+            "name": "nesbot/carbon",
+            "version": "1.22.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/briannesbitt/Carbon.git",
+                "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
+                "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0",
+                "symfony/translation": "~2.6 || ~3.0"
+            },
+            "require-dev": {
+                "friendsofphp/php-cs-fixer": "~2",
+                "phpunit/phpunit": "~4.0 || ~5.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.23-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Carbon\\": "src/Carbon/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Brian Nesbitt",
+                    "email": "brian@nesbot.com",
+                    "homepage": "http://nesbot.com"
+                }
+            ],
+            "description": "A simple API extension for DateTime.",
+            "homepage": "http://carbon.nesbot.com",
+            "keywords": [
+                "date",
+                "datetime",
+                "time"
+            ],
+            "time": "2017-01-16T07:55:07+00:00"
+        },
+        {
+            "name": "nikic/php-parser",
+            "version": "v2.1.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/nikic/PHP-Parser.git",
+                "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4dd659edadffdc2143e4753df655d866dbfeedf0",
+                "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0",
+                "shasum": ""
+            },
+            "require": {
+                "ext-tokenizer": "*",
+                "php": ">=5.4"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.0"
+            },
+            "bin": [
+                "bin/php-parse"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.1-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "PhpParser\\": "lib/PhpParser"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Nikita Popov"
+                }
+            ],
+            "description": "A PHP parser written in PHP",
+            "keywords": [
+                "parser",
+                "php"
+            ],
+            "time": "2016-09-16T12:04:44+00:00"
+        },
+        {
+            "name": "paragonie/random_compat",
+            "version": "v1.4.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/paragonie/random_compat.git",
+                "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66",
+                "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.2.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "4.*|5.*"
+            },
+            "suggest": {
+                "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "lib/random.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Paragon Initiative Enterprises",
+                    "email": "security@paragonie.com",
+                    "homepage": "https://paragonie.com"
+                }
+            ],
+            "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
+            "keywords": [
+                "csprng",
+                "pseudorandom",
+                "random"
+            ],
+            "time": "2017-03-13T16:22:52+00:00"
+        },
+        {
+            "name": "psr/log",
+            "version": "1.0.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+                "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Log\\": "Psr/Log/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for logging libraries",
+            "homepage": "https://github.com/php-fig/log",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "time": "2016-10-10T12:19:37+00:00"
+        },
+        {
+            "name": "psy/psysh",
+            "version": "v0.7.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/bobthecow/psysh.git",
+                "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e64e10b20f8d229cac76399e1f3edddb57a0f280",
+                "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280",
+                "shasum": ""
+            },
+            "require": {
+                "dnoegel/php-xdg-base-dir": "0.1",
+                "jakub-onderka/php-console-highlighter": "0.3.*",
+                "nikic/php-parser": "^1.2.1|~2.0",
+                "php": ">=5.3.9",
+                "symfony/console": "~2.3.10|^2.4.2|~3.0",
+                "symfony/var-dumper": "~2.7|~3.0"
+            },
+            "require-dev": {
+                "fabpot/php-cs-fixer": "~1.5",
+                "phpunit/phpunit": "~3.7|~4.0|~5.0",
+                "squizlabs/php_codesniffer": "~2.0",
+                "symfony/finder": "~2.1|~3.0"
+            },
+            "suggest": {
+                "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
+                "ext-pdo-sqlite": "The doc command requires SQLite to work.",
+                "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
+                "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
+            },
+            "bin": [
+                "bin/psysh"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-develop": "0.8.x-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "src/Psy/functions.php"
+                ],
+                "psr-4": {
+                    "Psy\\": "src/Psy/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Justin Hileman",
+                    "email": "justin@justinhileman.info",
+                    "homepage": "http://justinhileman.com"
+                }
+            ],
+            "description": "An interactive shell for modern PHP.",
+            "homepage": "http://psysh.org",
+            "keywords": [
+                "REPL",
+                "console",
+                "interactive",
+                "shell"
+            ],
+            "time": "2016-03-09T05:03:14+00:00"
+        },
+        {
+            "name": "swiftmailer/swiftmailer",
+            "version": "v5.4.8",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/swiftmailer/swiftmailer.git",
+                "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517",
+                "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "mockery/mockery": "~0.9.1",
+                "symfony/phpunit-bridge": "~3.2"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.4-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "lib/swift_required.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Chris Corbyn"
+                },
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                }
+            ],
+            "description": "Swiftmailer, free feature-rich PHP mailer",
+            "homepage": "http://swiftmailer.org",
+            "keywords": [
+                "email",
+                "mail",
+                "mailer"
+            ],
+            "time": "2017-05-01T15:54:03+00:00"
+        },
+        {
+            "name": "symfony/console",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/console.git",
+                "reference": "926061e74229e935d3c5b4e9ba87237316c6693f"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/console/zipball/926061e74229e935d3c5b4e9ba87237316c6693f",
+                "reference": "926061e74229e935d3c5b4e9ba87237316c6693f",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "symfony/polyfill-mbstring": "~1.0"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/event-dispatcher": "~2.8|~3.0",
+                "symfony/process": "~2.8|~3.0"
+            },
+            "suggest": {
+                "psr/log": "For using the console logger",
+                "symfony/event-dispatcher": "",
+                "symfony/process": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Console\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Console Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-30T07:22:48+00:00"
+        },
+        {
+            "name": "symfony/debug",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/debug.git",
+                "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a",
+                "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "psr/log": "~1.0"
+            },
+            "conflict": {
+                "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+            },
+            "require-dev": {
+                "symfony/class-loader": "~2.8|~3.0",
+                "symfony/http-kernel": "~2.8|~3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Debug\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Debug Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-30T07:22:48+00:00"
+        },
+        {
+            "name": "symfony/event-dispatcher",
+            "version": "v3.3.12",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/event-dispatcher.git",
+                "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/271d8c27c3ec5ecee6e2ac06016232e249d638d9",
+                "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.5.9|>=7.0.8"
+            },
+            "conflict": {
+                "symfony/dependency-injection": "<3.3"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/config": "~2.8|~3.0",
+                "symfony/dependency-injection": "~3.3",
+                "symfony/expression-language": "~2.8|~3.0",
+                "symfony/stopwatch": "~2.8|~3.0"
+            },
+            "suggest": {
+                "symfony/dependency-injection": "",
+                "symfony/http-kernel": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.3-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\EventDispatcher\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony EventDispatcher Component",
+            "homepage": "https://symfony.com",
+            "time": "2017-11-05T15:47:03+00:00"
+        },
+        {
+            "name": "symfony/finder",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/finder.git",
+                "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9",
+                "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Finder\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Finder Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-06-29T05:40:00+00:00"
+        },
+        {
+            "name": "symfony/http-foundation",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/http-foundation.git",
+                "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82",
+                "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "symfony/polyfill-mbstring": "~1.1"
+            },
+            "require-dev": {
+                "symfony/expression-language": "~2.8|~3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\HttpFoundation\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony HttpFoundation Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-17T13:54:30+00:00"
+        },
+        {
+            "name": "symfony/http-kernel",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/http-kernel.git",
+                "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3",
+                "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "psr/log": "~1.0",
+                "symfony/debug": "~2.8|~3.0",
+                "symfony/event-dispatcher": "~2.8|~3.0",
+                "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2"
+            },
+            "conflict": {
+                "symfony/config": "<2.8"
+            },
+            "require-dev": {
+                "symfony/browser-kit": "~2.8|~3.0",
+                "symfony/class-loader": "~2.8|~3.0",
+                "symfony/config": "~2.8|~3.0",
+                "symfony/console": "~2.8|~3.0",
+                "symfony/css-selector": "~2.8|~3.0",
+                "symfony/dependency-injection": "~2.8|~3.0",
+                "symfony/dom-crawler": "~2.8|~3.0",
+                "symfony/expression-language": "~2.8|~3.0",
+                "symfony/finder": "~2.8|~3.0",
+                "symfony/process": "~2.8|~3.0",
+                "symfony/routing": "~2.8|~3.0",
+                "symfony/stopwatch": "~2.8|~3.0",
+                "symfony/templating": "~2.8|~3.0",
+                "symfony/translation": "~2.8|~3.0",
+                "symfony/var-dumper": "~2.8|~3.0"
+            },
+            "suggest": {
+                "symfony/browser-kit": "",
+                "symfony/class-loader": "",
+                "symfony/config": "",
+                "symfony/console": "",
+                "symfony/dependency-injection": "",
+                "symfony/finder": "",
+                "symfony/var-dumper": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\HttpKernel\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony HttpKernel Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-30T09:10:37+00:00"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.6.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
+                "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.6-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "time": "2017-10-11T12:05:26+00:00"
+        },
+        {
+            "name": "symfony/polyfill-php56",
+            "version": "v1.6.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-php56.git",
+                "reference": "265fc96795492430762c29be291a371494ba3a5b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b",
+                "reference": "265fc96795492430762c29be291a371494ba3a5b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3",
+                "symfony/polyfill-util": "~1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.6-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Php56\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "time": "2017-10-11T12:05:26+00:00"
+        },
+        {
+            "name": "symfony/polyfill-util",
+            "version": "v1.6.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-util.git",
+                "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176",
+                "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.6-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Util\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony utilities for portability of PHP codes",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compat",
+                "compatibility",
+                "polyfill",
+                "shim"
+            ],
+            "time": "2017-10-11T12:05:26+00:00"
+        },
+        {
+            "name": "symfony/process",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/process.git",
+                "reference": "768debc5996f599c4372b322d9061dba2a4bf505"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/process/zipball/768debc5996f599c4372b322d9061dba2a4bf505",
+                "reference": "768debc5996f599c4372b322d9061dba2a4bf505",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Process\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Process Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-28T11:13:34+00:00"
+        },
+        {
+            "name": "symfony/routing",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/routing.git",
+                "reference": "9038984bd9c05ab07280121e9e10f61a7231457b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b",
+                "reference": "9038984bd9c05ab07280121e9e10f61a7231457b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "conflict": {
+                "symfony/config": "<2.8"
+            },
+            "require-dev": {
+                "doctrine/annotations": "~1.0",
+                "doctrine/common": "~2.2",
+                "psr/log": "~1.0",
+                "symfony/config": "~2.8|~3.0",
+                "symfony/expression-language": "~2.8|~3.0",
+                "symfony/http-foundation": "~2.8|~3.0",
+                "symfony/yaml": "~2.8|~3.0"
+            },
+            "suggest": {
+                "doctrine/annotations": "For using the annotation loader",
+                "symfony/config": "For using the all-in-one router or any loader",
+                "symfony/dependency-injection": "For loading routes from a service",
+                "symfony/expression-language": "For using expression matching",
+                "symfony/http-foundation": "For using a Symfony Request object",
+                "symfony/yaml": "For using the YAML loader"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Routing\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Routing Component",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "router",
+                "routing",
+                "uri",
+                "url"
+            ],
+            "time": "2016-06-29T05:40:00+00:00"
+        },
+        {
+            "name": "symfony/translation",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/translation.git",
+                "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26",
+                "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "symfony/polyfill-mbstring": "~1.0"
+            },
+            "conflict": {
+                "symfony/config": "<2.8"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/config": "~2.8|~3.0",
+                "symfony/intl": "~2.8|~3.0",
+                "symfony/yaml": "~2.8|~3.0"
+            },
+            "suggest": {
+                "psr/log": "To use logging capability in translator",
+                "symfony/config": "",
+                "symfony/yaml": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Translation\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Translation Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-30T07:22:48+00:00"
+        },
+        {
+            "name": "symfony/var-dumper",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/var-dumper.git",
+                "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1f7e071aafc6676fcb6e3f0497f87c2397247377",
+                "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "symfony/polyfill-mbstring": "~1.0"
+            },
+            "require-dev": {
+                "twig/twig": "~1.20|~2.0"
+            },
+            "suggest": {
+                "ext-symfony_debug": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "Resources/functions/dump.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\VarDumper\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony mechanism for exploring and dumping PHP variables",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "debug",
+                "dump"
+            ],
+            "time": "2016-07-26T08:03:56+00:00"
+        },
+        {
+            "name": "twbs/bootstrap",
+            "version": "v4.0.0-beta.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/twbs/bootstrap.git",
+                "reference": "fc94de5b8b5b329a298eeeb76174b146ff17af2d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/twbs/bootstrap/zipball/fc94de5b8b5b329a298eeeb76174b146ff17af2d",
+                "reference": "fc94de5b8b5b329a298eeeb76174b146ff17af2d",
+                "shasum": ""
+            },
+            "replace": {
+                "twitter/bootstrap": "self.version"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.3.x-dev"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jacob Thornton",
+                    "email": "jacobthornton@gmail.com"
+                },
+                {
+                    "name": "Mark Otto",
+                    "email": "markdotto@gmail.com"
+                }
+            ],
+            "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
+            "homepage": "https://getbootstrap.com",
+            "keywords": [
+                "JS",
+                "css",
+                "framework",
+                "front-end",
+                "mobile-first",
+                "responsive",
+                "sass",
+                "web"
+            ],
+            "time": "2017-10-19T19:23:29+00:00"
+        },
+        {
+            "name": "vlucas/phpdotenv",
+            "version": "v2.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/vlucas/phpdotenv.git",
+                "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
+                "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.9"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8 || ^5.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.4-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Dotenv\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause-Attribution"
+            ],
+            "authors": [
+                {
+                    "name": "Vance Lucas",
+                    "email": "vance@vancelucas.com",
+                    "homepage": "http://www.vancelucas.com"
+                }
+            ],
+            "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+            "keywords": [
+                "dotenv",
+                "env",
+                "environment"
+            ],
+            "time": "2016-09-01T10:05:43+00:00"
+        }
+    ],
+    "packages-dev": [
+        {
+            "name": "doctrine/instantiator",
+            "version": "1.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/instantiator.git",
+                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
+                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3,<8.0-DEV"
+            },
+            "require-dev": {
+                "athletic/athletic": "~0.1.8",
+                "ext-pdo": "*",
+                "ext-phar": "*",
+                "phpunit/phpunit": "~4.0",
+                "squizlabs/php_codesniffer": "~2.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com",
+                    "homepage": "http://ocramius.github.com/"
+                }
+            ],
+            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+            "homepage": "https://github.com/doctrine/instantiator",
+            "keywords": [
+                "constructor",
+                "instantiate"
+            ],
+            "time": "2015-06-14T21:17:01+00:00"
+        },
+        {
+            "name": "fzaninotto/faker",
+            "version": "v1.7.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/fzaninotto/Faker.git",
+                "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
+                "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0"
+            },
+            "require-dev": {
+                "ext-intl": "*",
+                "phpunit/phpunit": "^4.0 || ^5.0",
+                "squizlabs/php_codesniffer": "^1.5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.8-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Faker\\": "src/Faker/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "François Zaninotto"
+                }
+            ],
+            "description": "Faker is a PHP library that generates fake data for you.",
+            "keywords": [
+                "data",
+                "faker",
+                "fixtures"
+            ],
+            "time": "2017-08-15T16:48:10+00:00"
+        },
+        {
+            "name": "hamcrest/hamcrest-php",
+            "version": "v1.2.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/hamcrest/hamcrest-php.git",
+                "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
+                "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "replace": {
+                "cordoval/hamcrest-php": "*",
+                "davedevelopment/hamcrest-php": "*",
+                "kodova/hamcrest-php": "*"
+            },
+            "require-dev": {
+                "phpunit/php-file-iterator": "1.3.3",
+                "satooshi/php-coveralls": "dev-master"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "hamcrest"
+                ],
+                "files": [
+                    "hamcrest/Hamcrest.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD"
+            ],
+            "description": "This is the PHP port of Hamcrest Matchers",
+            "keywords": [
+                "test"
+            ],
+            "time": "2015-05-11T14:41:42+00:00"
+        },
+        {
+            "name": "mockery/mockery",
+            "version": "0.9.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/mockery/mockery.git",
+                "reference": "6fdb61243844dc924071d3404bb23994ea0b6856"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/mockery/mockery/zipball/6fdb61243844dc924071d3404bb23994ea0b6856",
+                "reference": "6fdb61243844dc924071d3404bb23994ea0b6856",
+                "shasum": ""
+            },
+            "require": {
+                "hamcrest/hamcrest-php": "~1.1",
+                "lib-pcre": ">=7.0",
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "0.9.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-0": {
+                    "Mockery": "library/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Pádraic Brady",
+                    "email": "padraic.brady@gmail.com",
+                    "homepage": "http://blog.astrumfutura.com"
+                },
+                {
+                    "name": "Dave Marshall",
+                    "email": "dave.marshall@atstsolutions.co.uk",
+                    "homepage": "http://davedevelopment.co.uk"
+                }
+            ],
+            "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
+            "homepage": "http://github.com/padraic/mockery",
+            "keywords": [
+                "BDD",
+                "TDD",
+                "library",
+                "mock",
+                "mock objects",
+                "mockery",
+                "stub",
+                "test",
+                "test double",
+                "testing"
+            ],
+            "time": "2017-02-28T12:52:32+00:00"
+        },
+        {
+            "name": "phpdocumentor/reflection-common",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+                "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+                "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.6"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": [
+                        "src"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jaap van Otterdijk",
+                    "email": "opensource@ijaap.nl"
+                }
+            ],
+            "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+            "homepage": "http://www.phpdoc.org",
+            "keywords": [
+                "FQSEN",
+                "phpDocumentor",
+                "phpdoc",
+                "reflection",
+                "static analysis"
+            ],
+            "time": "2017-09-11T18:02:19+00:00"
+        },
+        {
+            "name": "phpdocumentor/reflection-docblock",
+            "version": "3.2.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+                "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/4aada1f93c72c35e22fb1383b47fee43b8f1d157",
+                "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5",
+                "phpdocumentor/reflection-common": "^1.0@dev",
+                "phpdocumentor/type-resolver": "^0.3.0",
+                "webmozart/assert": "^1.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^0.9.4",
+                "phpunit/phpunit": "^4.4"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "me@mikevanriel.com"
+                }
+            ],
+            "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+            "time": "2017-08-08T06:39:58+00:00"
+        },
+        {
+            "name": "phpdocumentor/type-resolver",
+            "version": "0.3.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/TypeResolver.git",
+                "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fb3933512008d8162b3cdf9e18dba9309b7c3773",
+                "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.5 || ^7.0",
+                "phpdocumentor/reflection-common": "^1.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^0.9.4",
+                "phpunit/phpunit": "^5.2||^4.8.24"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "me@mikevanriel.com"
+                }
+            ],
+            "time": "2017-06-03T08:32:36+00:00"
+        },
+        {
+            "name": "phpspec/prophecy",
+            "version": "v1.7.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpspec/prophecy.git",
+                "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6",
+                "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6",
+                "shasum": ""
+            },
+            "require": {
+                "doctrine/instantiator": "^1.0.2",
+                "php": "^5.3|^7.0",
+                "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
+                "sebastian/comparator": "^1.1|^2.0",
+                "sebastian/recursion-context": "^1.0|^2.0|^3.0"
+            },
+            "require-dev": {
+                "phpspec/phpspec": "^2.5|^3.2",
+                "phpunit/phpunit": "^4.8 || ^5.6.5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.7.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-0": {
+                    "Prophecy\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Konstantin Kudryashov",
+                    "email": "ever.zet@gmail.com",
+                    "homepage": "http://everzet.com"
+                },
+                {
+                    "name": "Marcello Duarte",
+                    "email": "marcello.duarte@gmail.com"
+                }
+            ],
+            "description": "Highly opinionated mocking framework for PHP 5.3+",
+            "homepage": "https://github.com/phpspec/prophecy",
+            "keywords": [
+                "Double",
+                "Dummy",
+                "fake",
+                "mock",
+                "spy",
+                "stub"
+            ],
+            "time": "2017-09-04T11:05:03+00:00"
+        },
+        {
+            "name": "phpunit/php-code-coverage",
+            "version": "2.2.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3",
+                "phpunit/php-file-iterator": "~1.3",
+                "phpunit/php-text-template": "~1.2",
+                "phpunit/php-token-stream": "~1.3",
+                "sebastian/environment": "^1.3.2",
+                "sebastian/version": "~1.0"
+            },
+            "require-dev": {
+                "ext-xdebug": ">=2.1.4",
+                "phpunit/phpunit": "~4"
+            },
+            "suggest": {
+                "ext-dom": "*",
+                "ext-xdebug": ">=2.2.1",
+                "ext-xmlwriter": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.2.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+            "keywords": [
+                "coverage",
+                "testing",
+                "xunit"
+            ],
+            "time": "2015-10-06T15:47:00+00:00"
+        },
+        {
+            "name": "phpunit/php-file-iterator",
+            "version": "1.4.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
+                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.4.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+            "keywords": [
+                "filesystem",
+                "iterator"
+            ],
+            "time": "2016-10-03T07:40:28+00:00"
+        },
+        {
+            "name": "phpunit/php-text-template",
+            "version": "1.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-text-template.git",
+                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Simple template engine.",
+            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+            "keywords": [
+                "template"
+            ],
+            "time": "2015-06-21T13:50:34+00:00"
+        },
+        {
+            "name": "phpunit/php-timer",
+            "version": "1.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-timer.git",
+                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
+                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Utility class for timing",
+            "homepage": "https://github.com/sebastianbergmann/php-timer/",
+            "keywords": [
+                "timer"
+            ],
+            "time": "2017-02-26T11:10:40+00:00"
+        },
+        {
+            "name": "phpunit/php-token-stream",
+            "version": "1.4.11",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+                "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7",
+                "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7",
+                "shasum": ""
+            },
+            "require": {
+                "ext-tokenizer": "*",
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.2"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.4-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Wrapper around PHP's tokenizer extension.",
+            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+            "keywords": [
+                "tokenizer"
+            ],
+            "time": "2017-02-27T10:12:30+00:00"
+        },
+        {
+            "name": "phpunit/phpunit",
+            "version": "4.8.36",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/phpunit.git",
+                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
+                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-json": "*",
+                "ext-pcre": "*",
+                "ext-reflection": "*",
+                "ext-spl": "*",
+                "php": ">=5.3.3",
+                "phpspec/prophecy": "^1.3.1",
+                "phpunit/php-code-coverage": "~2.1",
+                "phpunit/php-file-iterator": "~1.4",
+                "phpunit/php-text-template": "~1.2",
+                "phpunit/php-timer": "^1.0.6",
+                "phpunit/phpunit-mock-objects": "~2.3",
+                "sebastian/comparator": "~1.2.2",
+                "sebastian/diff": "~1.2",
+                "sebastian/environment": "~1.3",
+                "sebastian/exporter": "~1.2",
+                "sebastian/global-state": "~1.0",
+                "sebastian/version": "~1.0",
+                "symfony/yaml": "~2.1|~3.0"
+            },
+            "suggest": {
+                "phpunit/php-invoker": "~1.1"
+            },
+            "bin": [
+                "phpunit"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.8.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "The PHP Unit Testing framework.",
+            "homepage": "https://phpunit.de/",
+            "keywords": [
+                "phpunit",
+                "testing",
+                "xunit"
+            ],
+            "time": "2017-06-21T08:07:12+00:00"
+        },
+        {
+            "name": "phpunit/phpunit-mock-objects",
+            "version": "2.3.8",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
+                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
+                "shasum": ""
+            },
+            "require": {
+                "doctrine/instantiator": "^1.0.2",
+                "php": ">=5.3.3",
+                "phpunit/php-text-template": "~1.2",
+                "sebastian/exporter": "~1.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.4"
+            },
+            "suggest": {
+                "ext-soap": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.3.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Mock Object library for PHPUnit",
+            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+            "keywords": [
+                "mock",
+                "xunit"
+            ],
+            "time": "2015-10-02T06:51:40+00:00"
+        },
+        {
+            "name": "sebastian/comparator",
+            "version": "1.2.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/comparator.git",
+                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
+                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3",
+                "sebastian/diff": "~1.2",
+                "sebastian/exporter": "~1.2 || ~2.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.4"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.2.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides the functionality to compare PHP values for equality",
+            "homepage": "http://www.github.com/sebastianbergmann/comparator",
+            "keywords": [
+                "comparator",
+                "compare",
+                "equality"
+            ],
+            "time": "2017-01-29T09:50:25+00:00"
+        },
+        {
+            "name": "sebastian/diff",
+            "version": "1.4.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/diff.git",
+                "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
+                "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.4-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Kore Nordmann",
+                    "email": "mail@kore-nordmann.de"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Diff implementation",
+            "homepage": "https://github.com/sebastianbergmann/diff",
+            "keywords": [
+                "diff"
+            ],
+            "time": "2017-05-22T07:24:03+00:00"
+        },
+        {
+            "name": "sebastian/environment",
+            "version": "1.3.8",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/environment.git",
+                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
+                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8 || ^5.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.3.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides functionality to handle HHVM/PHP environments",
+            "homepage": "http://www.github.com/sebastianbergmann/environment",
+            "keywords": [
+                "Xdebug",
+                "environment",
+                "hhvm"
+            ],
+            "time": "2016-08-18T05:49:44+00:00"
+        },
+        {
+            "name": "sebastian/exporter",
+            "version": "1.2.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/exporter.git",
+                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
+                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3",
+                "sebastian/recursion-context": "~1.0"
+            },
+            "require-dev": {
+                "ext-mbstring": "*",
+                "phpunit/phpunit": "~4.4"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.3.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
+            ],
+            "description": "Provides the functionality to export PHP variables for visualization",
+            "homepage": "http://www.github.com/sebastianbergmann/exporter",
+            "keywords": [
+                "export",
+                "exporter"
+            ],
+            "time": "2016-06-17T09:04:28+00:00"
+        },
+        {
+            "name": "sebastian/global-state",
+            "version": "1.1.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/global-state.git",
+                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
+                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.2"
+            },
+            "suggest": {
+                "ext-uopz": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Snapshotting of global state",
+            "homepage": "http://www.github.com/sebastianbergmann/global-state",
+            "keywords": [
+                "global state"
+            ],
+            "time": "2015-10-12T03:26:01+00:00"
+        },
+        {
+            "name": "sebastian/recursion-context",
+            "version": "1.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/recursion-context.git",
+                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
+                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.4"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
+            ],
+            "description": "Provides functionality to recursively process PHP variables",
+            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+            "time": "2016-10-03T07:41:43+00:00"
+        },
+        {
+            "name": "sebastian/version",
+            "version": "1.0.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/version.git",
+                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+                "shasum": ""
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+            "homepage": "https://github.com/sebastianbergmann/version",
+            "time": "2015-06-21T13:59:46+00:00"
+        },
+        {
+            "name": "symfony/css-selector",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/css-selector.git",
+                "reference": "b8999c1f33c224b2b66b38253f5e3a838d0d0115"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/css-selector/zipball/b8999c1f33c224b2b66b38253f5e3a838d0d0115",
+                "reference": "b8999c1f33c224b2b66b38253f5e3a838d0d0115",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\CssSelector\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jean-François Simon",
+                    "email": "jeanfrancois.simon@sensiolabs.com"
+                },
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony CssSelector Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-06-29T05:40:00+00:00"
+        },
+        {
+            "name": "symfony/dom-crawler",
+            "version": "v3.0.9",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/dom-crawler.git",
+                "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970",
+                "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.5.9",
+                "symfony/polyfill-mbstring": "~1.0"
+            },
+            "require-dev": {
+                "symfony/css-selector": "~2.8|~3.0"
+            },
+            "suggest": {
+                "symfony/css-selector": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\DomCrawler\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony DomCrawler Component",
+            "homepage": "https://symfony.com",
+            "time": "2016-07-30T07:22:48+00:00"
+        },
+        {
+            "name": "symfony/yaml",
+            "version": "v3.3.12",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/yaml.git",
+                "reference": "0938408c4faa518d95230deabb5f595bf0de31b9"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/yaml/zipball/0938408c4faa518d95230deabb5f595bf0de31b9",
+                "reference": "0938408c4faa518d95230deabb5f595bf0de31b9",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.5.9|>=7.0.8"
+            },
+            "require-dev": {
+                "symfony/console": "~2.8|~3.0"
+            },
+            "suggest": {
+                "symfony/console": "For validating YAML files using the lint command"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.3-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Yaml\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony Yaml Component",
+            "homepage": "https://symfony.com",
+            "time": "2017-11-10T18:26:04+00:00"
+        },
+        {
+            "name": "webmozart/assert",
+            "version": "1.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/webmozart/assert.git",
+                "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
+                "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.6",
+                "sebastian/version": "^1.0.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.3-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Webmozart\\Assert\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@gmail.com"
+                }
+            ],
+            "description": "Assertions to validate method input/output with nice error messages.",
+            "keywords": [
+                "assert",
+                "check",
+                "validate"
+            ],
+            "time": "2016-11-23T20:04:58+00:00"
+        }
+    ],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": {
+        "twbs/bootstrap": 10
+    },
+    "prefer-stable": false,
+    "prefer-lowest": false,
+    "platform": {
+        "php": ">=5.5.9"
+    },
+    "platform-dev": []
+}
diff --git a/workspace/config/app.php b/workspace/config/app.php
new file mode 100644
index 0000000..8b5f421
--- /dev/null
+++ b/workspace/config/app.php
@@ -0,0 +1,212 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Environment
+    |--------------------------------------------------------------------------
+    |
+    | This value determines the "environment" your application is currently
+    | running in. This may determine how you prefer to configure various
+    | services your application utilizes. Set this in your ".env" file.
+    |
+    */
+
+    'env' => env('APP_ENV', 'production'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Debug Mode
+    |--------------------------------------------------------------------------
+    |
+    | When your application is in debug mode, detailed error messages with
+    | stack traces will be shown on every error that occurs within your
+    | application. If disabled, a simple generic error page is shown.
+    |
+    */
+
+    'debug' => env('APP_DEBUG', false),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application URL
+    |--------------------------------------------------------------------------
+    |
+    | This URL is used by the console to properly generate URLs when using
+    | the Artisan command line tool. You should set this to the root of
+    | your application so that it is used when running Artisan tasks.
+    |
+    */
+
+    'url' => env('APP_URL', 'http://localhost'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Timezone
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the default timezone for your application, which
+    | will be used by the PHP date and date-time functions. We have gone
+    | ahead and set this to a sensible default for you out of the box.
+    |
+    */
+
+    'timezone' => 'UTC',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Locale Configuration
+    |--------------------------------------------------------------------------
+    |
+    | The application locale determines the default locale that will be used
+    | by the translation service provider. You are free to set this value
+    | to any of the locales which will be supported by the application.
+    |
+    */
+
+    'locale' => 'fr',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Fallback Locale
+    |--------------------------------------------------------------------------
+    |
+    | The fallback locale determines the locale to use when the current one
+    | is not available. You may change the value to correspond to any of
+    | the language folders that are provided through your application.
+    |
+    */
+
+    'fallback_locale' => 'fr',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Encryption Key
+    |--------------------------------------------------------------------------
+    |
+    | This key is used by the Illuminate encrypter service and should be set
+    | to a random, 32 character string, otherwise these encrypted strings
+    | will not be safe. Please do this before deploying an application!
+    |
+    */
+
+    'key' => env('APP_KEY'),
+
+    'cipher' => 'AES-256-CBC',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Logging Configuration
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure the log settings for your application. Out of
+    | the box, Laravel uses the Monolog PHP logging library. This gives
+    | you a variety of powerful log handlers / formatters to utilize.
+    |
+    | Available Settings: "single", "daily", "syslog", "errorlog"
+    |
+    */
+
+    'log' => env('APP_LOG', 'single'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Autoloaded Service Providers
+    |--------------------------------------------------------------------------
+    |
+    | The service providers listed here will be automatically loaded on the
+    | request to your application. Feel free to add your own services to
+    | this array to grant expanded functionality to your applications.
+    |
+    */
+
+    'providers' => [
+
+        /*
+         * Laravel Framework Service Providers...
+         */
+        Illuminate\Auth\AuthServiceProvider::class,
+        Illuminate\Broadcasting\BroadcastServiceProvider::class,
+        Illuminate\Bus\BusServiceProvider::class,
+        Illuminate\Cache\CacheServiceProvider::class,
+        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
+        Illuminate\Cookie\CookieServiceProvider::class,
+        Illuminate\Database\DatabaseServiceProvider::class,
+        Illuminate\Encryption\EncryptionServiceProvider::class,
+        Illuminate\Filesystem\FilesystemServiceProvider::class,
+        Illuminate\Foundation\Providers\FoundationServiceProvider::class,
+        Illuminate\Hashing\HashServiceProvider::class,
+        Illuminate\Mail\MailServiceProvider::class,
+        Illuminate\Pagination\PaginationServiceProvider::class,
+        Illuminate\Pipeline\PipelineServiceProvider::class,
+        Illuminate\Queue\QueueServiceProvider::class,
+        Illuminate\Redis\RedisServiceProvider::class,
+        Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
+        Illuminate\Session\SessionServiceProvider::class,
+        Illuminate\Translation\TranslationServiceProvider::class,
+        Illuminate\Validation\ValidationServiceProvider::class,
+        Illuminate\View\ViewServiceProvider::class,
+
+        /*
+         * Application Service Providers...
+         */
+        App\Providers\AppServiceProvider::class,
+        App\Providers\AuthServiceProvider::class,
+        App\Providers\EventServiceProvider::class,
+        App\Providers\RouteServiceProvider::class,
+        Collective\Html\HtmlServiceProvider::class,
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Class Aliases
+    |--------------------------------------------------------------------------
+    |
+    | This array of class aliases will be registered when this application
+    | is started. However, feel free to register as many as you wish as
+    | the aliases are "lazy" loaded so they don't hinder performance.
+    |
+    */
+
+    'aliases' => [
+
+        'App' => Illuminate\Support\Facades\App::class,
+        'Artisan' => Illuminate\Support\Facades\Artisan::class,
+        'Auth' => Illuminate\Support\Facades\Auth::class,
+        'Blade' => Illuminate\Support\Facades\Blade::class,
+        'Cache' => Illuminate\Support\Facades\Cache::class,
+        'Config' => Illuminate\Support\Facades\Config::class,
+        'Cookie' => Illuminate\Support\Facades\Cookie::class,
+        'Crypt' => Illuminate\Support\Facades\Crypt::class,
+        'DB' => Illuminate\Support\Facades\DB::class,
+        'Eloquent' => Illuminate\Database\Eloquent\Model::class,
+        'Event' => Illuminate\Support\Facades\Event::class,
+        'File' => Illuminate\Support\Facades\File::class,
+        'Gate' => Illuminate\Support\Facades\Gate::class,
+        'Hash' => Illuminate\Support\Facades\Hash::class,
+        'Input' => Illuminate\Support\Facades\Input::class,
+        'Lang' => Illuminate\Support\Facades\Lang::class,
+        'Log' => Illuminate\Support\Facades\Log::class,
+        'Mail' => Illuminate\Support\Facades\Mail::class,
+        'Password' => Illuminate\Support\Facades\Password::class,
+        'Product' => App\Product::class,
+        'Queue' => Illuminate\Support\Facades\Queue::class,
+        'Redirect' => Illuminate\Support\Facades\Redirect::class,
+        'Redis' => Illuminate\Support\Facades\Redis::class,
+        'Request' => Illuminate\Support\Facades\Request::class,
+        'Response' => Illuminate\Support\Facades\Response::class,
+        'Route' => Illuminate\Support\Facades\Route::class,
+        'Schema' => Illuminate\Support\Facades\Schema::class,
+        'Session' => Illuminate\Support\Facades\Session::class,
+        'Storage' => Illuminate\Support\Facades\Storage::class,
+        'URL' => Illuminate\Support\Facades\URL::class,
+        'Validator' => Illuminate\Support\Facades\Validator::class,
+        'View' => Illuminate\Support\Facades\View::class,
+        'Form' => Collective\Html\FormFacade::class,
+        'Html' => Collective\Html\HtmlFacade::class,
+
+    ],
+
+];
diff --git a/workspace/config/auth.php b/workspace/config/auth.php
new file mode 100644
index 0000000..3fa7f49
--- /dev/null
+++ b/workspace/config/auth.php
@@ -0,0 +1,107 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Defaults
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default authentication "guard" and password
+    | reset options for your application. You may change these defaults
+    | as required, but they're a perfect start for most applications.
+    |
+    */
+
+    'defaults' => [
+        'guard' => 'web',
+        'passwords' => 'users',
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Guards
+    |--------------------------------------------------------------------------
+    |
+    | Next, you may define every authentication guard for your application.
+    | Of course, a great default configuration has been defined for you
+    | here which uses session storage and the Eloquent user provider.
+    |
+    | All authentication drivers have a user provider. This defines how the
+    | users are actually retrieved out of your database or other storage
+    | mechanisms used by this application to persist your user's data.
+    |
+    | Supported: "session", "token"
+    |
+    */
+
+    'guards' => [
+        'web' => [
+            'driver' => 'session',
+            'provider' => 'users',
+        ],
+
+        'api' => [
+            'driver' => 'token',
+            'provider' => 'users',
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | User Providers
+    |--------------------------------------------------------------------------
+    |
+    | All authentication drivers have a user provider. This defines how the
+    | users are actually retrieved out of your database or other storage
+    | mechanisms used by this application to persist your user's data.
+    |
+    | If you have multiple user tables or models you may configure multiple
+    | sources which represent each model / table. These sources may then
+    | be assigned to any extra authentication guards you have defined.
+    |
+    | Supported: "database", "eloquent"
+    |
+    */
+
+    'providers' => [
+        'users' => [
+            'driver' => 'eloquent',
+            'model' => App\User::class,
+        ],
+
+        // 'users' => [
+        //     'driver' => 'database',
+        //     'table' => 'users',
+        // ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Resetting Passwords
+    |--------------------------------------------------------------------------
+    |
+    | Here you may set the options for resetting passwords including the view
+    | that is your password reset e-mail. You may also set the name of the
+    | table that maintains all of the reset tokens for your application.
+    |
+    | You may specify multiple password reset configurations if you have more
+    | than one user table or model in the application and you want to have
+    | separate password reset settings based on the specific user types.
+    |
+    | The expire time is the number of minutes that the reset token should be
+    | considered valid. This security feature keeps tokens short-lived so
+    | they have less time to be guessed. You may change this as needed.
+    |
+    */
+
+    'passwords' => [
+        'users' => [
+            'provider' => 'users',
+            'email' => 'auth.emails.password',
+            'table' => 'password_resets',
+            'expire' => 60,
+        ],
+    ],
+
+];
diff --git a/workspace/config/broadcasting.php b/workspace/config/broadcasting.php
new file mode 100644
index 0000000..abaaac3
--- /dev/null
+++ b/workspace/config/broadcasting.php
@@ -0,0 +1,52 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Broadcaster
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default broadcaster that will be used by the
+    | framework when an event needs to be broadcast. You may set this to
+    | any of the connections defined in the "connections" array below.
+    |
+    */
+
+    'default' => env('BROADCAST_DRIVER', 'pusher'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Broadcast Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here you may define all of the broadcast connections that will be used
+    | to broadcast events to other systems or over websockets. Samples of
+    | each available type of connection are provided inside this array.
+    |
+    */
+
+    'connections' => [
+
+        'pusher' => [
+            'driver' => 'pusher',
+            'key' => env('PUSHER_KEY'),
+            'secret' => env('PUSHER_SECRET'),
+            'app_id' => env('PUSHER_APP_ID'),
+            'options' => [
+                //
+            ],
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+        ],
+
+        'log' => [
+            'driver' => 'log',
+        ],
+
+    ],
+
+];
diff --git a/workspace/config/cache.php b/workspace/config/cache.php
new file mode 100644
index 0000000..3ffa840
--- /dev/null
+++ b/workspace/config/cache.php
@@ -0,0 +1,81 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Cache Store
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default cache connection that gets used while
+    | using this caching library. This connection is used when another is
+    | not explicitly specified when executing a given caching function.
+    |
+    */
+
+    'default' => env('CACHE_DRIVER', 'file'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Cache Stores
+    |--------------------------------------------------------------------------
+    |
+    | Here you may define all of the cache "stores" for your application as
+    | well as their drivers. You may even define multiple stores for the
+    | same cache driver to group types of items stored in your caches.
+    |
+    */
+
+    'stores' => [
+
+        'apc' => [
+            'driver' => 'apc',
+        ],
+
+        'array' => [
+            'driver' => 'array',
+        ],
+
+        'database' => [
+            'driver' => 'database',
+            'table' => 'cache',
+            'connection' => null,
+        ],
+
+        'file' => [
+            'driver' => 'file',
+            'path' => storage_path('framework/cache'),
+        ],
+
+        'memcached' => [
+            'driver' => 'memcached',
+            'servers' => [
+                [
+                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),
+                    'port' => env('MEMCACHED_PORT', 11211),
+                    'weight' => 100,
+                ],
+            ],
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Cache Key Prefix
+    |--------------------------------------------------------------------------
+    |
+    | When utilizing a RAM based store such as APC or Memcached, there might
+    | be other applications utilizing the same cache. So, we'll specify a
+    | value to get prefixed to all our keys so we can avoid collisions.
+    |
+    */
+
+    'prefix' => 'laravel',
+
+];
diff --git a/workspace/config/compile.php b/workspace/config/compile.php
new file mode 100644
index 0000000..04807ea
--- /dev/null
+++ b/workspace/config/compile.php
@@ -0,0 +1,35 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Additional Compiled Classes
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify additional classes to include in the compiled file
+    | generated by the `artisan optimize` command. These should be classes
+    | that are included on basically every request into the application.
+    |
+    */
+
+    'files' => [
+        //
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Compiled File Providers
+    |--------------------------------------------------------------------------
+    |
+    | Here you may list service providers which define a "compiles" function
+    | that returns additional files that should be compiled, providing an
+    | easy way to get common files from any packages you are utilizing.
+    |
+    */
+
+    'providers' => [
+        //
+    ],
+
+];
diff --git a/workspace/config/database.php b/workspace/config/database.php
new file mode 100644
index 0000000..8451a62
--- /dev/null
+++ b/workspace/config/database.php
@@ -0,0 +1,120 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | PDO Fetch Style
+    |--------------------------------------------------------------------------
+    |
+    | By default, database results will be returned as instances of the PHP
+    | stdClass object; however, you may desire to retrieve records in an
+    | array format for simplicity. Here you can tweak the fetch style.
+    |
+    */
+
+    'fetch' => PDO::FETCH_CLASS,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Database Connection Name
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify which of the database connections below you wish
+    | to use as your default connection for all database work. Of course
+    | you may use many connections at once using the Database library.
+    |
+    */
+
+    'default' => env('DB_CONNECTION', 'mysql'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Database Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here are each of the database connections setup for your application.
+    | Of course, examples of configuring each database platform that is
+    | supported by Laravel is shown below to make development simple.
+    |
+    |
+    | All database work in Laravel is done through the PHP PDO facilities
+    | so make sure you have the driver for your particular database of
+    | choice installed on your machine before you begin development.
+    |
+    */
+
+    'connections' => [
+
+        'sqlite' => [
+            'driver' => 'sqlite',
+            'database' => env('DB_DATABASE', database_path('database.sqlite')),
+            'prefix' => '',
+        ],
+
+        'mysql' => [
+            'driver' => 'mysql',
+            'host' => env('DB_HOST', 'localhost'),
+            'port' => env('DB_PORT', '3306'),
+            'database' => env('DB_DATABASE', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'collation' => 'utf8_unicode_ci',
+            'prefix' => '',
+            'strict' => false,
+            'engine' => null,
+        ],
+
+        'pgsql' => [
+            'driver' => 'pgsql',
+            'host' => env('DB_HOST', 'localhost'),
+            'port' => env('DB_PORT', '5432'),
+            'database' => env('DB_DATABASE', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'prefix' => '',
+            'schema' => 'public',
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Migration Repository Table
+    |--------------------------------------------------------------------------
+    |
+    | This table keeps track of all the migrations that have already run for
+    | your application. Using this information, we can determine which of
+    | the migrations on disk haven't actually been run in the database.
+    |
+    */
+
+    'migrations' => 'migrations',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Redis Databases
+    |--------------------------------------------------------------------------
+    |
+    | Redis is an open source, fast, and advanced key-value store that also
+    | provides a richer set of commands than a typical key-value systems
+    | such as APC or Memcached. Laravel makes it easy to dig right in.
+    |
+    */
+
+    'redis' => [
+
+        'cluster' => false,
+
+        'default' => [
+            'host' => env('REDIS_HOST', 'localhost'),
+            'password' => env('REDIS_PASSWORD', null),
+            'port' => env('REDIS_PORT', 6379),
+            'database' => 0,
+        ],
+
+    ],
+
+];
diff --git a/workspace/config/filesystems.php b/workspace/config/filesystems.php
new file mode 100644
index 0000000..75b5002
--- /dev/null
+++ b/workspace/config/filesystems.php
@@ -0,0 +1,67 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Filesystem Disk
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the default filesystem disk that should be used
+    | by the framework. A "local" driver, as well as a variety of cloud
+    | based drivers are available for your choosing. Just store away!
+    |
+    | Supported: "local", "ftp", "s3", "rackspace"
+    |
+    */
+
+    'default' => 'local',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Cloud Filesystem Disk
+    |--------------------------------------------------------------------------
+    |
+    | Many applications store files both locally and in the cloud. For this
+    | reason, you may specify a default "cloud" driver here. This driver
+    | will be bound as the Cloud disk implementation in the container.
+    |
+    */
+
+    'cloud' => 's3',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Filesystem Disks
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure as many filesystem "disks" as you wish, and you
+    | may even configure multiple disks of the same driver. Defaults have
+    | been setup for each driver as an example of the required options.
+    |
+    */
+
+    'disks' => [
+
+        'local' => [
+            'driver' => 'local',
+            'root' => storage_path('app'),
+        ],
+
+        'public' => [
+            'driver' => 'local',
+            'root' => storage_path('app/public'),
+            'visibility' => 'public',
+        ],
+
+        's3' => [
+            'driver' => 's3',
+            'key' => 'your-key',
+            'secret' => 'your-secret',
+            'region' => 'your-region',
+            'bucket' => 'your-bucket',
+        ],
+
+    ],
+
+];
diff --git a/workspace/config/mail.php b/workspace/config/mail.php
new file mode 100644
index 0000000..a076588
--- /dev/null
+++ b/workspace/config/mail.php
@@ -0,0 +1,112 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Mail Driver
+    |--------------------------------------------------------------------------
+    |
+    | Laravel supports both SMTP and PHP's "mail" function as drivers for the
+    | sending of e-mail. You may specify which one you're using throughout
+    | your application here. By default, Laravel is setup for SMTP mail.
+    |
+    | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill",
+    |            "ses", "sparkpost", "log"
+    |
+    */
+
+    'driver' => env('MAIL_DRIVER', 'smtp'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Host Address
+    |--------------------------------------------------------------------------
+    |
+    | Here you may provide the host address of the SMTP server used by your
+    | applications. A default option is provided that is compatible with
+    | the Mailgun mail service which will provide reliable deliveries.
+    |
+    */
+
+    'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Host Port
+    |--------------------------------------------------------------------------
+    |
+    | This is the SMTP port used by your application to deliver e-mails to
+    | users of the application. Like the host we have set this value to
+    | stay compatible with the Mailgun e-mail application by default.
+    |
+    */
+
+    'port' => env('MAIL_PORT', 587),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Global "From" Address
+    |--------------------------------------------------------------------------
+    |
+    | You may wish for all e-mails sent by your application to be sent from
+    | the same address. Here, you may specify a name and address that is
+    | used globally for all e-mails that are sent by your application.
+    |
+    */
+
+    'from' => ['address' => null, 'name' => null],
+
+    /*
+    |--------------------------------------------------------------------------
+    | E-Mail Encryption Protocol
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the encryption protocol that should be used when
+    | the application send e-mail messages. A sensible default using the
+    | transport layer security protocol should provide great security.
+    |
+    */
+
+    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Server Username
+    |--------------------------------------------------------------------------
+    |
+    | If your SMTP server requires a username for authentication, you should
+    | set it here. This will get used to authenticate with your server on
+    | connection. You may also set the "password" value below this one.
+    |
+    */
+
+    'username' => env('MAIL_USERNAME'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Server Password
+    |--------------------------------------------------------------------------
+    |
+    | Here you may set the password required by your SMTP server to send out
+    | messages from your application. This will be given to the server on
+    | connection so that the application will be able to send messages.
+    |
+    */
+
+    'password' => env('MAIL_PASSWORD'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Sendmail System Path
+    |--------------------------------------------------------------------------
+    |
+    | When using the "sendmail" driver to send e-mails, we will need to know
+    | the path to where Sendmail lives on this server. A default path has
+    | been provided here, which will work well on most of your systems.
+    |
+    */
+
+    'sendmail' => '/usr/sbin/sendmail -bs',
+
+];
diff --git a/workspace/config/queue.php b/workspace/config/queue.php
new file mode 100644
index 0000000..d0f732a
--- /dev/null
+++ b/workspace/config/queue.php
@@ -0,0 +1,85 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Queue Driver
+    |--------------------------------------------------------------------------
+    |
+    | The Laravel queue API supports a variety of back-ends via an unified
+    | API, giving you convenient access to each back-end using the same
+    | syntax for each one. Here you may set the default queue driver.
+    |
+    | Supported: "null", "sync", "database", "beanstalkd", "sqs", "redis"
+    |
+    */
+
+    'default' => env('QUEUE_DRIVER', 'sync'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Queue Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure the connection information for each server that
+    | is used by your application. A default configuration has been added
+    | for each back-end shipped with Laravel. You are free to add more.
+    |
+    */
+
+    'connections' => [
+
+        'sync' => [
+            'driver' => 'sync',
+        ],
+
+        'database' => [
+            'driver' => 'database',
+            'table' => 'jobs',
+            'queue' => 'default',
+            'expire' => 60,
+        ],
+
+        'beanstalkd' => [
+            'driver' => 'beanstalkd',
+            'host' => 'localhost',
+            'queue' => 'default',
+            'ttr' => 60,
+        ],
+
+        'sqs' => [
+            'driver' => 'sqs',
+            'key' => 'your-public-key',
+            'secret' => 'your-secret-key',
+            'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id',
+            'queue' => 'your-queue-name',
+            'region' => 'us-east-1',
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+            'queue' => 'default',
+            'expire' => 60,
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Failed Queue Jobs
+    |--------------------------------------------------------------------------
+    |
+    | These options configure the behavior of failed queue job logging so you
+    | can control which database and table are used to store the jobs that
+    | have failed. You may change them to any database / table you wish.
+    |
+    */
+
+    'failed' => [
+        'database' => env('DB_CONNECTION', 'mysql'),
+        'table' => 'failed_jobs',
+    ],
+
+];
diff --git a/workspace/config/services.php b/workspace/config/services.php
new file mode 100644
index 0000000..287b118
--- /dev/null
+++ b/workspace/config/services.php
@@ -0,0 +1,38 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Third Party Services
+    |--------------------------------------------------------------------------
+    |
+    | This file is for storing the credentials for third party services such
+    | as Stripe, Mailgun, Mandrill, and others. This file provides a sane
+    | default location for this type of information, allowing packages
+    | to have a conventional place to find your various credentials.
+    |
+    */
+
+    'mailgun' => [
+        'domain' => env('MAILGUN_DOMAIN'),
+        'secret' => env('MAILGUN_SECRET'),
+    ],
+
+    'ses' => [
+        'key' => env('SES_KEY'),
+        'secret' => env('SES_SECRET'),
+        'region' => 'us-east-1',
+    ],
+
+    'sparkpost' => [
+        'secret' => env('SPARKPOST_SECRET'),
+    ],
+
+    'stripe' => [
+        'model' => App\User::class,
+        'key' => env('STRIPE_KEY'),
+        'secret' => env('STRIPE_SECRET'),
+    ],
+
+];
diff --git a/workspace/config/session.php b/workspace/config/session.php
new file mode 100644
index 0000000..b501055
--- /dev/null
+++ b/workspace/config/session.php
@@ -0,0 +1,166 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Session Driver
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default session "driver" that will be used on
+    | requests. By default, we will use the lightweight native driver but
+    | you may specify any of the other wonderful drivers provided here.
+    |
+    | Supported: "file", "cookie", "database", "apc",
+    |            "memcached", "redis", "array"
+    |
+    */
+
+    'driver' => env('SESSION_DRIVER', 'file'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Lifetime
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the number of minutes that you wish the session
+    | to be allowed to remain idle before it expires. If you want them
+    | to immediately expire on the browser closing, set that option.
+    |
+    */
+
+    'lifetime' => 120,
+
+    'expire_on_close' => false,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Encryption
+    |--------------------------------------------------------------------------
+    |
+    | This option allows you to easily specify that all of your session data
+    | should be encrypted before it is stored. All encryption will be run
+    | automatically by Laravel and you can use the Session like normal.
+    |
+    */
+
+    'encrypt' => false,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session File Location
+    |--------------------------------------------------------------------------
+    |
+    | When using the native session driver, we need a location where session
+    | files may be stored. A default has been set for you but a different
+    | location may be specified. This is only needed for file sessions.
+    |
+    */
+
+    'files' => storage_path('framework/sessions'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Database Connection
+    |--------------------------------------------------------------------------
+    |
+    | When using the "database" or "redis" session drivers, you may specify a
+    | connection that should be used to manage these sessions. This should
+    | correspond to a connection in your database configuration options.
+    |
+    */
+
+    'connection' => null,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Database Table
+    |--------------------------------------------------------------------------
+    |
+    | When using the "database" session driver, you may specify the table we
+    | should use to manage the sessions. Of course, a sensible default is
+    | provided for you; however, you are free to change this as needed.
+    |
+    */
+
+    'table' => 'sessions',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Sweeping Lottery
+    |--------------------------------------------------------------------------
+    |
+    | Some session drivers must manually sweep their storage location to get
+    | rid of old sessions from storage. Here are the chances that it will
+    | happen on a given request. By default, the odds are 2 out of 100.
+    |
+    */
+
+    'lottery' => [2, 100],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Name
+    |--------------------------------------------------------------------------
+    |
+    | Here you may change the name of the cookie used to identify a session
+    | instance by ID. The name specified here will get used every time a
+    | new session cookie is created by the framework for every driver.
+    |
+    */
+
+    'cookie' => 'laravel_session',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Path
+    |--------------------------------------------------------------------------
+    |
+    | The session cookie path determines the path for which the cookie will
+    | be regarded as available. Typically, this will be the root path of
+    | your application but you are free to change this when necessary.
+    |
+    */
+
+    'path' => '/',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Domain
+    |--------------------------------------------------------------------------
+    |
+    | Here you may change the domain of the cookie used to identify a session
+    | in your application. This will determine which domains the cookie is
+    | available to in your application. A sensible default has been set.
+    |
+    */
+
+    'domain' => null,
+
+    /*
+    |--------------------------------------------------------------------------
+    | HTTPS Only Cookies
+    |--------------------------------------------------------------------------
+    |
+    | By setting this option to true, session cookies will only be sent back
+    | to the server if the browser has a HTTPS connection. This will keep
+    | the cookie from being sent to you if it can not be done securely.
+    |
+    */
+
+    'secure' => false,
+
+    /*
+    |--------------------------------------------------------------------------
+    | HTTP Access Only
+    |--------------------------------------------------------------------------
+    |
+    | Setting this value to true will prevent JavaScript from accessing the
+    | value of the cookie and the cookie will only be accessible through
+    | the HTTP protocol. You are free to modify this option if needed.
+    |
+    */
+
+    'http_only' => true,
+
+];
diff --git a/workspace/config/view.php b/workspace/config/view.php
new file mode 100644
index 0000000..e193ab6
--- /dev/null
+++ b/workspace/config/view.php
@@ -0,0 +1,33 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | View Storage Paths
+    |--------------------------------------------------------------------------
+    |
+    | Most templating systems load templates from disk. Here you may specify
+    | an array of paths that should be checked for your views. Of course
+    | the usual Laravel view path has already been registered for you.
+    |
+    */
+
+    'paths' => [
+        realpath(base_path('resources/views')),
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Compiled View Path
+    |--------------------------------------------------------------------------
+    |
+    | This option determines where all the compiled Blade templates will be
+    | stored for your application. Typically, this is within the storage
+    | directory. However, as usual, you are free to change this value.
+    |
+    */
+
+    'compiled' => realpath(storage_path('framework/views')),
+
+];
diff --git a/workspace/database/.gitignore b/workspace/database/.gitignore
new file mode 100644
index 0000000..9b1dffd
--- /dev/null
+++ b/workspace/database/.gitignore
@@ -0,0 +1 @@
+*.sqlite
diff --git a/workspace/database/factories/ModelFactory.php b/workspace/database/factories/ModelFactory.php
new file mode 100644
index 0000000..f596d0b
--- /dev/null
+++ b/workspace/database/factories/ModelFactory.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Model Factories
+|--------------------------------------------------------------------------
+|
+| Here you may define all of your model factories. Model factories give
+| you a convenient way to create models for testing and seeding your
+| database. Just tell the factory how a default model should look.
+|
+*/
+
+$factory->define(App\User::class, function (Faker\Generator $faker) {
+    return [
+        'name' => $faker->name,
+        'email' => $faker->safeEmail,
+        'password' => bcrypt(str_random(10)),
+        'remember_token' => str_random(10),
+    ];
+});
diff --git a/workspace/database/migrations/.gitkeep b/workspace/database/migrations/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/workspace/database/migrations/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/workspace/database/migrations/2014_10_12_000000_create_users_table.php b/workspace/database/migrations/2014_10_12_000000_create_users_table.php
new file mode 100644
index 0000000..8ca1c0e
--- /dev/null
+++ b/workspace/database/migrations/2014_10_12_000000_create_users_table.php
@@ -0,0 +1,34 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateUsersTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('users', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('name')->unique();
+            $table->string('email')->unique();
+            $table->string('password');
+            $table->rememberToken();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::drop('users');
+    }
+}
diff --git a/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php b/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
new file mode 100644
index 0000000..00057f9
--- /dev/null
+++ b/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php
@@ -0,0 +1,31 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePasswordResetsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('password_resets', function (Blueprint $table) {
+            $table->string('email')->index();
+            $table->string('token')->index();
+            $table->timestamp('created_at');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::drop('password_resets');
+    }
+}
diff --git a/workspace/database/migrations/2017_11_08_233536_create_product_table.php b/workspace/database/migrations/2017_11_08_233536_create_product_table.php
new file mode 100644
index 0000000..4efe71f
--- /dev/null
+++ b/workspace/database/migrations/2017_11_08_233536_create_product_table.php
@@ -0,0 +1,43 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateProductTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     * 
+     * https://laravel.com/docs/5.2/migrations#creating-columns
+     */
+    public function up()
+    {
+        Schema::create('products', function(Blueprint $table) {
+    		$table->increments('id');
+    		$table->string('title', 100);
+    		$table->string('email');
+    		$table->integer('address_number');
+    		$table->string('address_street');
+    		$table->string('address_city');
+    		$table->integer('postal_code');
+    		$table->text('description');
+    		$table->date('expire_at');
+    		$table->enum('category', ['fruit', 'vegetable', 'starchy', 'homemade', 'fish', 'spices', 'sugar', 'other']);
+    		// $table->boolean('halal');
+    		$table->boolean('vegan');
+    		// $table->boolean('kosher');
+    	});
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::drop('products');
+    }
+}
diff --git a/workspace/database/seeds/.gitkeep b/workspace/database/seeds/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/workspace/database/seeds/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/workspace/database/seeds/DatabaseSeeder.php b/workspace/database/seeds/DatabaseSeeder.php
new file mode 100644
index 0000000..e119db6
--- /dev/null
+++ b/workspace/database/seeds/DatabaseSeeder.php
@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class DatabaseSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        // $this->call(UsersTableSeeder::class);
+    }
+}
diff --git a/workspace/gulpfile.js b/workspace/gulpfile.js
new file mode 100644
index 0000000..dc6f1eb
--- /dev/null
+++ b/workspace/gulpfile.js
@@ -0,0 +1,16 @@
+var elixir = require('laravel-elixir');
+
+/*
+ |--------------------------------------------------------------------------
+ | Elixir Asset Management
+ |--------------------------------------------------------------------------
+ |
+ | Elixir provides a clean, fluent API for defining some basic Gulp tasks
+ | for your Laravel application. By default, we are compiling the Sass
+ | file for our application, as well as publishing vendor resources.
+ |
+ */
+
+elixir(function(mix) {
+    mix.sass('app.scss');
+});
diff --git a/workspace/package.json b/workspace/package.json
new file mode 100644
index 0000000..c4a056b
--- /dev/null
+++ b/workspace/package.json
@@ -0,0 +1,12 @@
+{
+  "private": true,
+  "scripts": {
+    "prod": "gulp --production",
+    "dev": "gulp watch"
+  },
+  "devDependencies": {
+    "gulp": "^3.9.1",
+    "laravel-elixir": "^5.0.0",
+    "bootstrap-sass": "^3.0.0"
+  }
+}
diff --git a/workspace/php.ini b/workspace/php.ini
new file mode 100644
index 0000000..5dca570
--- /dev/null
+++ b/workspace/php.ini
@@ -0,0 +1,1659 @@
+[PHP]
+
+;;;;;;;;;;;;;;;;;;;
+; About php.ini   ;
+;;;;;;;;;;;;;;;;;;;
+; PHP's initialization file, generally called php.ini, is responsible for
+; configuring many of the aspects of PHP's behavior.
+
+; PHP attempts to find and load this configuration from a number of locations.
+; The following is a summary of its search order:
+; 1. SAPI module specific location.
+; 2. The PHPRC environment variable. (As of PHP 5.2.0)
+; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
+; 4. Current working directory (except CLI)
+; 5. The web server's directory (for SAPI modules), or directory of PHP
+; (otherwise in Windows)
+; 6. The directory from the --with-config-file-path compile time option, or the
+; Windows directory (C:\windows or C:\winnt)
+; See the PHP docs for more specific information.
+; http://www.php.net/manual/en/configuration.file.php
+
+; The syntax of the file is extremely simple.  Whitespace and Lines
+; beginning with a semicolon are silently ignored (as you probably guessed).
+; Section headers (e.g. [Foo]) are also silently ignored, even though
+; they might mean something in the future. 
+
+; Directives following the section heading [PATH=/www/mysite] only
+; apply to PHP files in the /www/mysite directory.  Directives
+; following the section heading [HOST=www.example.com] only apply to
+; PHP files served from www.example.com.  Directives set in these
+; special sections cannot be overridden by user-defined INI files or
+; at runtime. Currently, [PATH=] and [HOST=] sections only work under
+; CGI/FastCGI.
+; http://www.php.net/manual/en/ini.sections.php
+
+; Directives are specified using the following syntax:
+; directive = value
+; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
+; Directives are variables used to configure PHP or PHP extensions.
+; There is no name validation.  If PHP can't find an expected
+; directive because it is not set or is mistyped, a default value will be used.
+
+; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
+; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
+; previously set variable or directive (e.g. ${foo})
+
+; Expressions in the INI file are limited to bitwise operators and parentheses:
+; |  bitwise OR
+; ^  bitwise XOR
+; &  bitwise AND
+; ~  bitwise NOT
+; !  boolean NOT
+
+; Boolean flags can be turned on using the values 1, On, True or Yes.
+; They can be turned off using the values 0, Off, False or No.
+
+; An empty string can be denoted by simply not writing anything after the equal
+; sign, or by using the None keyword:
+
+;  foo =         ; sets foo to an empty string
+;  foo = None    ; sets foo to an empty string
+;  foo = "None"  ; sets foo to the string 'None'
+
+; If you use constants in your value, and these constants belong to a
+; dynamically loaded extension (either a PHP extension or a Zend extension),
+; you may only use these constants *after* the line that loads the extension.
+
+;;;;;;;;;;;;;;;;;;;
+; About this file ;
+;;;;;;;;;;;;;;;;;;;
+; PHP comes packaged with two INI files. One that is recommended to be used
+; in production environments and one that is recommended to be used in
+; development environments.
+
+; php.ini-production contains settings which hold security, performance and
+; best practices at its core. But please be aware, these settings may break
+; compatibility with older or less security conscience applications. We
+; recommending using the production ini in production and testing environments.
+
+; php.ini-development is very similar to its production variant, except it's
+; much more verbose when it comes to errors. We recommending using the
+; development version only in development environments as errors shown to
+; application users can inadvertently leak otherwise secure information.
+
+; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/
+; File used by RPM (the /etc/php.ini) is mainly the php.ini-production
+
+;;;;;;;;;;;;;;;;;;;
+; Quick Reference ;
+;;;;;;;;;;;;;;;;;;;
+; The following are all the settings which are different in either the production
+; or development versions of the INIs with respect to PHP's default behavior.
+; Please see the actual settings later in the document for more details as to why
+; we recommend these changes in PHP's behavior.
+
+; allow_call_time_pass_reference
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; display_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; display_startup_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; error_reporting
+;   Default Value: E_ALL & ~E_NOTICE
+;   Development Value: E_ALL | E_STRICT
+;   Production Value: E_ALL & ~E_DEPRECATED
+
+; html_errors
+;   Default Value: On
+;   Development Value: On
+;   Production value: Off
+
+; log_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: On
+
+; magic_quotes_gpc
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; max_input_time
+;   Default Value: -1 (Unlimited)
+;   Development Value: 60 (60 seconds)
+;   Production Value: 60 (60 seconds)
+
+; output_buffering
+;   Default Value: Off
+;   Development Value: 4096
+;   Production Value: 4096
+
+; register_argc_argv
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; register_long_arrays
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; request_order
+;   Default Value: None
+;   Development Value: "GP"
+;   Production Value: "GP"
+
+; session.bug_compat_42
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; session.bug_compat_warn
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; session.gc_divisor
+;   Default Value: 100
+;   Development Value: 1000
+;   Production Value: 1000
+
+; session.hash_bits_per_character
+;   Default Value: 4
+;   Development Value: 5
+;   Production Value: 5
+
+; short_open_tag
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; track_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; url_rewriter.tags
+;   Default Value: "a=href,area=href,frame=src,form=,fieldset="
+;   Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+;   Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+; variables_order
+;   Default Value: "EGPCS"
+;   Development Value: "GPCS"
+;   Production Value: "GPCS"
+
+;;;;;;;;;;;;;;;;;;;;
+; php.ini Options  ;
+;;;;;;;;;;;;;;;;;;;;
+; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
+;user_ini.filename = ".user.ini"
+
+; To disable this feature set this option to empty value
+;user_ini.filename =
+
+; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
+;user_ini.cache_ttl = 300
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Enable the PHP scripting language engine under Apache.
+; http://www.php.net/manual/en/apache.configuration.php#ini.engine
+engine = On
+
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It's been
+; recommended for several years that you not use the short tag "short cut" and
+; instead to use the full <?php and ?> tag combination. With the wide spread use
+; of XML and use of these tags by other languages, the server can become easily
+; confused and end up parsing the wrong code in the wrong context. But because
+; this short cut has been a feature for such a long time, it's currently still
+; supported for backwards compatibility, but we recommend you don't use them.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
+short_open_tag = Off
+
+; Allow ASP-style <% %> tags.
+; http://www.php.net/manual/en/ini.core.php#ini.asp-tags
+asp_tags = Off
+
+; The number of significant digits displayed in floating point numbers.
+; http://www.php.net/manual/en/ini.core.php#ini.precision
+precision = 14
+
+; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
+; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance
+y2k_compliance = On
+
+; Output buffering is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; Turning on this setting and managing its maximum buffer size can yield some
+; interesting side-effects depending on your application and web server.
+; You may be able to send headers and cookies after you've already sent output
+; through print or echo. You also may see performance benefits if your server is
+; emitting less packets due to buffered output versus PHP streaming the output
+; as it gets it. On production servers, 4096 bytes is a good setting for performance
+; reasons.
+; Note: Output buffering can also be controlled via Output Buffering Control
+;   functions.
+; Possible Values:
+;   On = Enabled and buffer is unlimited. (Use with caution)
+;   Off = Disabled
+;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Default Value: Off
+; Development Value: 4096
+; Production Value: 4096
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering
+output_buffering = 4096
+
+; You can redirect all of the output of your scripts to a function.  For
+; example, if you set output_handler to "mb_output_handler", character
+; encoding will be transparently converted to the specified encoding.
+; Setting any output handler automatically turns on output buffering.
+; Note: People who wrote portable scripts should not depend on this ini
+;   directive. Instead, explicitly set the output handler using ob_start().
+;   Using this ini directive may cause problems unless you know what script
+;   is doing.
+; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
+;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+; Note: output_handler must be empty if this is set 'On' !!!!
+;   Instead you must use zlib.output_handler.
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-handler
+;output_handler =
+
+; Transparent output compression using the zlib library
+; Valid values for this option are 'off', 'on', or a specific buffer size
+; to be used for compression (default is 4KB)
+; Note: Resulting chunk size may vary due to nature of compression. PHP
+;   outputs chunks that are few hundreds bytes each as a result of
+;   compression. If you prefer a larger chunk size for better
+;   performance, enable output_buffering in addition.
+; Note: You need to use zlib.output_handler instead of the standard
+;   output_handler, or otherwise the output will be corrupted.
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression
+zlib.output_compression = Off
+
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level
+;zlib.output_compression_level = -1
+
+; You cannot specify additional output handlers if zlib.output_compression
+; is activated here. This setting does the same as output_handler but in
+; a different order.
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler
+;zlib.output_handler =
+
+; Implicit flush tells PHP to tell the output layer to flush itself
+; automatically after every output block.  This is equivalent to calling the
+; PHP function flush() after each and every call to print() or echo() and each
+; and every HTML block.  Turning this option on has serious performance
+; implications and is generally recommended for debugging purposes only.
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush
+implicit_flush = Off
+
+; The unserialize callback function will be called (with the undefined class'
+; name as parameter), if the unserializer finds an undefined class
+; which should be instantiated. A warning appears if the specified function is
+; not defined, or if the function doesn't include/implement the missing class.
+; So only set this entry, if you really want to implement such a
+; callback-function.
+unserialize_callback_func =
+
+; When floats & doubles are serialized store serialize_precision significant
+; digits after the floating point. The default value ensures that when floats
+; are decoded with unserialize, the data will remain the same.
+serialize_precision = 100
+
+; This directive allows you to enable and disable warnings which PHP will issue
+; if you pass a value by reference at function call time. Passing values by
+; reference at function call time is a deprecated feature which will be removed
+; from PHP at some point in the near future. The acceptable method for passing a
+; value by reference to a function is by declaring the reference in the functions
+; definition, not at call time. This directive does not disable this feature, it
+; only determines whether PHP will warn you about it or not. These warnings
+; should enabled in development environments only.
+; Default Value: On (Suppress warnings)
+; Development Value: Off (Issue warnings)
+; Production Value: Off (Issue warnings)
+; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference
+allow_call_time_pass_reference = Off
+
+; Safe Mode
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode
+safe_mode = Off
+
+; By default, Safe Mode does a UID compare check when
+; opening files. If you want to relax this to a GID compare,
+; then turn on safe_mode_gid.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-gid
+safe_mode_gid = Off
+
+; When safe_mode is on, UID/GID checks are bypassed when
+; including files from this directory and its subdirectories.
+; (directory must also be in include_path or full path must
+; be used when including)
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir
+safe_mode_include_dir =
+
+; When safe_mode is on, only executables located in the safe_mode_exec_dir
+; will be allowed to be executed via the exec family of functions.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir
+safe_mode_exec_dir =
+
+; Setting certain environment variables may be a potential security breach.
+; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
+; the user may only alter environment variables whose names begin with the
+; prefixes supplied here.  By default, users will only be able to set
+; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
+; Note:  If this directive is empty, PHP will let the user modify ANY
+;   environment variable!
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars
+safe_mode_allowed_env_vars = PHP_
+
+; This directive contains a comma-delimited list of environment variables that
+; the end user won't be able to change using putenv().  These variables will be
+; protected even if safe_mode_allowed_env_vars is set to allow to change them.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars
+safe_mode_protected_env_vars = LD_LIBRARY_PATH
+
+; open_basedir, if set, limits all file operations to the defined directory
+; and below.  This directive makes most sense if used in a per-directory
+; or per-virtualhost web server configuration file. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir
+;open_basedir =
+
+; This directive allows you to disable certain functions for security reasons.
+; It receives a comma-delimited list of function names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions
+disable_functions =
+
+; This directive allows you to disable certain classes for security reasons.
+; It receives a comma-delimited list of class names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes
+disable_classes =
+
+; Colors for Syntax Highlighting mode.  Anything that's acceptable in
+; <span style="color: ???????"> would work.
+; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting
+;highlight.string  = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.bg      = #FFFFFF
+;highlight.default = #0000BB
+;highlight.html    = #000000
+
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long requests, which may end up
+; being interrupted by the user or a browser timing out. PHP's default behavior
+; is to disable this feature.
+; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort
+;ignore_user_abort = On
+
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size
+;realpath_cache_size = 16k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl
+;realpath_cache_ttl = 120
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
+
+; Decides whether PHP may expose the fact that it is installed on the server
+; (e.g. by adding its signature to the Web server header).  It is no security
+; threat in any way, but it makes it possible to determine whether you use PHP
+; on your server or not.
+; http://www.php.net/manual/en/ini.core.php#ini.expose-php
+expose_php = On
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+; Maximum execution time of each script, in seconds
+; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
+max_execution_time = 30     
+
+; Maximum amount of time each script may spend parsing request data. It's a good
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts. 
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time
+max_input_time = 60
+
+; Maximum input variable nesting level
+; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level
+;max_input_nesting_level = 64
+
+; Maximum amount of memory a script may consume (128MB)
+; http://www.php.net/manual/en/ini.core.php#ini.memory-limit
+memory_limit = 128M
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; This directive informs PHP of which errors, warnings and notices you would like
+; it to take action for. The recommended way of setting values for this
+; directive is through the use of the error level constants and bitwise
+; operators. The error level constants are below here for convenience as well as
+; some common settings and their meanings.
+; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+; those related to E_NOTICE and E_STRICT, which together cover best practices and
+; recommended coding standards in PHP. For performance reasons, this is the
+; recommend error reporting setting. Your production server shouldn't be wasting
+; resources complaining about best practices and coding standards. That's what
+; development servers and development settings are for.
+; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
+; means it pretty much reports everything which is exactly what you want during
+; development and early testing.
+;
+; Error Level Constants:
+; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
+; E_ERROR           - fatal run-time errors
+; E_RECOVERABLE_ERROR  - almost fatal run-time errors
+; E_WARNING         - run-time warnings (non-fatal errors)
+; E_PARSE           - compile-time parse errors
+; E_NOTICE          - run-time notices (these are warnings which often result
+;                     from a bug in your code, but it's possible that it was
+;                     intentional (e.g., using an uninitialized variable and
+;                     relying on the fact it's automatically initialized to an
+;                     empty string)
+; E_STRICT          - run-time notices, enable to have PHP suggest changes
+;                     to your code which will ensure the best interoperability
+;                     and forward compatibility of your code
+; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
+;                     initial startup
+; E_COMPILE_ERROR   - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR      - user-generated error message
+; E_USER_WARNING    - user-generated warning message
+; E_USER_NOTICE     - user-generated notice message
+; E_DEPRECATED      - warn about code that will not work in future versions
+;                     of PHP
+; E_USER_DEPRECATED - user-generated deprecation warnings
+;
+; Common Values:
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
+;   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
+;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
+;   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
+; Default Value: E_ALL & ~E_NOTICE
+; Development Value: E_ALL | E_STRICT
+; Production Value: E_ALL & ~E_DEPRECATED
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED
+
+; This directive controls whether or not and where PHP will output errors,
+; notices and warnings too. Error output is very useful during development, but
+; it could be very dangerous in production environments. Depending on the code
+; which is triggering the error, sensitive information could potentially leak
+; out of your application such as database usernames and passwords or worse.
+; It's recommended that errors be logged on production servers rather than
+; having the errors sent to STDOUT.
+; Possible Values:
+;   Off = Do not display any errors 
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)   
+;   On or stdout = Display errors to STDOUT
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors
+display_errors = Off
+
+; The display of errors which occur during PHP's startup sequence are handled
+; separately from display_errors. PHP's default behavior is to suppress those
+; errors from clients. Turning the display of startup errors on can be useful in
+; debugging configuration problems. But, it's strongly recommended that you
+; leave this setting off on production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors
+display_startup_errors = Off
+
+; Besides displaying errors, PHP can also log errors to locations such as a
+; server-specific log, STDERR, or a location specified by the error_log
+; directive found below. While errors should not be displayed on productions
+; servers they should still be monitored and logging is a great way to do that.
+; Default Value: Off
+; Development Value: On
+; Production Value: On
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors
+log_errors = On
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line unless ignore_repeated_source is set true.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; source lines.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This has only effect in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks
+report_memleaks = On
+
+; This setting is on by default.
+;report_zend_debug = 0
+
+; Store the last error/warning message in $php_errormsg (boolean). Setting this value
+; to On can assist in debugging and is appropriate for development servers. It should
+; however be disabled on production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors
+track_errors = Off
+
+; Turn off normal error reporting and emit XML-RPC error XML
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors
+;xmlrpc_errors = 0
+
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; When PHP displays or logs an error, it has the capability of inserting html
+; links to documentation related to that error. This directive controls whether
+; those HTML links appear in error messages or not. For performance and security
+; reasons, it's recommended you disable this on production servers.
+; Default Value: On
+; Development Value: On
+; Production value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors
+html_errors = Off
+
+; If html_errors is set On PHP produces clickable error messages that direct
+; to a page describing the error or function causing the error in detail.
+; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot. PHP's default behavior is to leave these settings empty.
+; Note: Never use this feature for production boxes.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root
+; Examples
+;docref_root = "/phpmanual/"
+
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext
+;docref_ext = .html
+
+; String to output before an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string
+; Example:
+;error_prepend_string = "<font color=#ff0000>"
+
+; String to output after an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string
+; Example:
+;error_append_string = "</font>"
+
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
+; Example:
+error_log = ../php_errors.log
+; Log errors to syslog (Event Log on NT, not valid in Windows 95).
+;error_log = syslog
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+
+; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
+
+; The separator used in PHP generated URLs to separate arguments.
+; PHP's default setting is "&".
+; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output
+; Example:
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; PHP's default setting is "&".
+; NOTE: Every character in this directive is considered as separator!
+; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input
+; Example:
+;arg_separator.input = ";&"
+
+; This directive determines which super global arrays are registered when PHP
+; starts up. If the register_globals directive is enabled, it also determines
+; what order variables are populated into the global space. G,P,C,E & S are
+; abbreviations for the following respective super globals: GET, POST, COOKIE,
+; ENV and SERVER. There is a performance penalty paid for the registration of
+; these arrays and because ENV is not as commonly used as the others, ENV is
+; is not recommended on productions servers. You can still get access to
+; the environment variables through getenv() should you need to.
+; Default Value: "EGPCS"
+; Development Value: "GPCS"
+; Production Value: "GPCS";
+; http://www.php.net/manual/en/ini.core.php#ini.variables-order
+variables_order = "GPCS"
+
+; This directive determines which super global data (G,P,C,E & S) should
+; be registered into the super global array REQUEST. If so, it also determines
+; the order in which that data is registered. The values for this directive are
+; specified in the same manner as the variables_order directive, EXCEPT one.
+; Leaving this value empty will cause PHP to use the value set in the 
+; variables_order directive. It does not mean it will leave the super globals
+; array REQUEST empty.
+; Default Value: None
+; Development Value: "GP"
+; Production Value: "GP"
+; http://www.php.net/manual/en/ini.core.php#ini.request-order
+request_order = "GP"
+
+; Whether or not to register the EGPCS variables as global variables.  You may
+; want to turn this off if you don't want to clutter your scripts' global scope
+; with user data.  This makes most sense when coupled with track_vars - in which
+; case you can access all of the GPC variables through the $HTTP_*_VARS[],
+; variables.
+; You should do your best to write your scripts so that they do not require
+; register_globals to be on;  Using form variables as globals can easily lead
+; to possible security problems, if the code is not very well thought of.
+; http://www.php.net/manual/en/ini.core.php#ini.register-globals
+register_globals = Off
+
+; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
+; are registered by PHP or not. As they are deprecated, we obviously don't
+; recommend you use them. They are on by default for compatibility reasons but
+; they are not recommended on production servers.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays
+register_long_arrays = Off
+
+; This directive determines whether PHP registers $argv & $argc each time it
+; runs. $argv contains an array of all the arguments passed to PHP when a script
+; is invoked. $argc contains an integer representing the number of arguments
+; that were passed when the script was invoked. These arrays are extremely
+; useful when running scripts from the command line. When this directive is
+; enabled, registering these variables consumes CPU cycles and memory each time
+; a script is executed. For performance reasons, this feature should be disabled
+; on production servers.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv
+register_argc_argv = Off
+
+; When enabled, the SERVER and ENV variables are created when they're first
+; used (Just In Time) instead of when the script starts. If these variables
+; are not used within a script, having this directive on will result in a
+; performance gain. The PHP directives register_globals, register_long_arrays,
+; and register_argc_argv must be disabled for this directive to have any affect.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit
+auto_globals_jit = On
+
+; Maximum size of POST data that PHP will accept.
+; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
+post_max_size = 8M
+
+; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
+; escape any character sequences in GET, POST, COOKIE and ENV data which might
+; otherwise corrupt data being placed in resources such as databases before
+; making that data available to you. Because of character encoding issues and
+; non-standard SQL implementations across many databases, it's not currently
+; possible for this feature to be 100% accurate. PHP's default behavior is to
+; enable the feature. We strongly recommend you use the escaping mechanisms
+; designed specifically for the database your using instead of relying on this
+; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
+; scheduled for removal in PHP 6.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
+magic_quotes_gpc = Off
+
+; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
+; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
+magic_quotes_runtime = Off
+
+; Use Sybase-style magic quotes (escape ' with '' instead of \').
+; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase
+magic_quotes_sybase = Off
+
+; Automatically add files before PHP document.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file
+auto_prepend_file =
+
+; Automatically add files after PHP document.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file
+auto_append_file =
+
+; As of 4.0b4, PHP always outputs a character encoding by default in
+; the Content-type: header.  To disable sending of the charset, simply
+; set it to be empty.
+;
+; PHP's built-in default is text/html
+; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype
+default_mimetype = "text/html"
+
+; PHP's default character set is set to empty.
+; http://www.php.net/manual/en/ini.core.php#ini.default-charset
+;default_charset = "iso-8859-1"
+
+; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
+; to disable this feature.
+; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
+;always_populate_raw_post_data = On
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/php/includes"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+;
+; PHP's default setting for include_path is ".;/path/to/php/pear"
+; http://www.php.net/manual/en/ini.core.php#ini.include-path
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues.  The alternate is to use the
+; cgi.force_redirect configuration below
+; http://www.php.net/manual/en/ini.core.php#ini.doc-root
+doc_root =
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+; http://www.php.net/manual/en/ini.core.php#ini.user-dir
+user_dir =
+
+; Directory in which the loadable extensions (modules) reside.
+; http://www.php.net/manual/en/ini.core.php#ini.extension-dir
+; extension_dir = "./"
+
+; Whether or not to enable the dl() function.  The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl
+enable_dl = Off
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers.  Left undefined, PHP turns this on by default.  You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect
+;cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request. PHP's default behavior is to disable this feature.
+;cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution.  Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env
+;cgi.redirect_status_env = ;
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
+; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
+; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
+;cgi.fix_pathinfo=1
+
+; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
+; security tokens of the calling client.  This allows IIS to define the
+; security context that the request runs under.  mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS.  Default is zero.
+; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate
+;fastcgi.impersonate = 1;
+
+; Disable logging through FastCGI connection. PHP's default behavior is to enable
+; this feature.
+;fastcgi.logging = 0
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers
+;cgi.rfc2616_headers = 0
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+; http://www.php.net/manual/en/ini.core.php#ini.file-uploads
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir
+;upload_tmp_dir =
+
+; Maximum allowed size for uploaded files.
+; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
+upload_max_filesize = 2M
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
+allow_url_fopen = On
+
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address). PHP's default setting
+; for this is empty.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.from
+;from="john@doe.com"
+
+; Define the User-Agent string. PHP's default setting for this is empty.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent
+;user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings
+;auto_detect_line_endings = Off
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+;   extension=modulename.extension
+;
+; For example
+;
+;   extension=msql.so
+;
+; ... or with a path:
+;
+;   extension=/path/to/extension/msql.so
+;
+; If you only provide the name of the extension, PHP will look for it in its
+; default extension directory.
+
+;;;;
+; Note: packaged extension modules are now loaded via the .ini files
+; found in the directory /etc/php.d; these are loaded by default.
+;;;;
+
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[Date]
+; Defines the default timezone used by the date functions
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
+;date.timezone =
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude
+;date.default_latitude = 31.7667
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude
+;date.default_longitude = 35.2333
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith
+;date.sunrise_zenith = 90.583333
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith
+;date.sunset_zenith = 90.583333
+
+[filter]
+; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default
+;filter.default = unsafe_raw
+
+; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags
+;filter.default_flags =
+
+[iconv]
+;iconv.input_encoding = ISO-8859-1
+;iconv.internal_encoding = ISO-8859-1
+;iconv.output_encoding = ISO-8859-1
+
+[intl]
+;intl.default_locale = 
+
+[sqlite]
+; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case
+;sqlite.assoc_case = 0
+
+[sqlite3]
+;sqlite3.extension_dir =
+
+[Pcre]
+;PCRE library backtracking limit.
+; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit
+;pcre.backtrack_limit=100000
+
+;PCRE library recursion limit. 
+;Please note that if you set this value to a high number you may consume all 
+;the available process stack and eventually crash PHP (due to reaching the 
+;stack size limit imposed by the Operating System).
+; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit
+;pcre.recursion_limit=100000
+
+[Pdo]
+; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
+; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling
+;pdo_odbc.connection_pooling=strict
+
+[Phar]
+; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly
+;phar.readonly = On
+
+; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash
+;phar.require_hash = On
+
+;phar.cache_list =
+
+[Syslog]
+; Whether or not to define the various syslog variables (e.g. $LOG_PID,
+; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
+; runtime, you can define these variables by calling define_syslog_variables().
+; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables
+define_syslog_variables  = Off
+
+[mail function]
+; For Win32 only.
+; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
+SMTP = localhost
+; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
+smtp_port = 25
+
+; For Win32 only.
+; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from
+;sendmail_from = me@example.com
+
+; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
+; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
+sendmail_path = /usr/sbin/sendmail -t -i
+
+; Force the addition of the specified parameters to be passed as extra parameters
+; to the sendmail binary. These parameters will always replace the value of
+; the 5th parameter to mail(), even in safe mode.
+;mail.force_extra_parameters =
+
+; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename
+mail.add_x_header = On
+
+; Log all mail() calls including the full path of the script, line #, to address and headers
+;mail.log =
+
+[SQL]
+; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode
+sql.safe_mode = Off
+
+[ODBC]
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db
+;odbc.default_db    =  Not yet implemented
+
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user
+;odbc.default_user  =  Not yet implemented
+
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw
+;odbc.default_pw    =  Not yet implemented
+
+; Allow or prevent persistent links.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent
+odbc.allow_persistent = On
+
+; Check that a connection is still valid before reuse.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent
+odbc.check_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent
+odbc.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links
+odbc.max_links = -1
+
+; Handling of LONG fields.  Returns number of bytes to variables.  0 means
+; passthru.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl
+odbc.defaultlrl = 4096
+
+; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
+; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
+; of uodbc.defaultlrl and uodbc.defaultbinmode
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode
+odbc.defaultbinmode = 1
+
+;birdstep.max_links = -1
+
+[MySQL]
+; Allow or prevent persistent links.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent
+mysql.allow_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent
+mysql.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links
+mysql.max_links = -1
+
+; Default port number for mysql_connect().  If unset, mysql_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
+; at MYSQL_PORT.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port
+mysql.default_port =
+
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
+mysql.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host
+mysql.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user
+mysql.default_user =
+
+; Default password for mysql_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
+; and reveal this password!  And of course, any users with read access to this
+; file will be able to reveal the password as well.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password
+mysql.default_password =
+
+; Maximum time (in seconds) for connect timeout. -1 means no limit
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout
+mysql.connect_timeout = 60
+
+; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
+; SQL-Errors will be displayed.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode
+mysql.trace_mode = Off
+
+[MySQLi]
+
+; Maximum number of links.  -1 means no limit.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links
+mysqli.max_links = -1
+
+; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
+; at MYSQL_PORT.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port
+mysqli.default_port = 3306
+
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket
+mysqli.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host
+mysqli.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user
+mysqli.default_user =
+
+; Default password for mysqli_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
+; and reveal this password!  And of course, any users with read access to this
+; file will be able to reveal the password as well.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw
+mysqli.default_pw =
+
+; Allow or prevent reconnect
+mysqli.reconnect = Off
+
+[PostgresSQL]
+; Allow or prevent persistent links.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent
+pgsql.allow_persistent = On
+
+; Detect broken persistent links always with pg_pconnect().
+; Auto reset feature requires a little overheads.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent
+pgsql.auto_reset_persistent = Off
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent
+pgsql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent).  -1 means no limit.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links
+pgsql.max_links = -1
+
+; Ignore PostgreSQL backends Notice message or not.
+; Notice message logging require a little overheads.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice
+pgsql.ignore_notice = 0
+
+; Log PostgreSQL backends Noitce message or not.
+; Unless pgsql.ignore_notice=0, module cannot log notice message.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice
+pgsql.log_notice = 0
+
+[Sybase-CT]
+; Allow or prevent persistent links.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent
+sybct.allow_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent
+sybct.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links
+sybct.max_links = -1
+
+; Minimum server message severity to display.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity
+sybct.min_server_severity = 10
+
+; Minimum client message severity to display.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity
+sybct.min_client_severity = 10
+
+; Set per-context timeout
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout
+;sybct.timeout=
+
+;sybct.packet_size
+
+[bcmath]
+; Number of decimal digits for all bcmath functions.
+; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale
+bcmath.scale = 0
+
+[browscap]
+; http://www.php.net/manual/en/misc.configuration.php#ini.browscap
+;browscap = extra/browscap.ini
+
+[Session]
+; Handler used to store/retrieve data.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
+session.save_handler = files
+
+; Argument passed to save_handler.  In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; As of PHP 4.0.1, you can define the path as:
+;
+;     session.save_path = "N;/path"
+;
+; where N is an integer.  Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories.  This is useful if you
+; or your OS have problems with lots of files in one directory, and is
+; a more efficient layout for servers that handle lots of sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+;         You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+;         use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+;     session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
+; session.save_path = "../sessions"
+
+; Whether to use cookies.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies
+session.use_cookies = 1
+
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure
+;session.cookie_secure =
+
+; This option forces PHP to fetch and use a cookie for storing and maintaining
+; the session id. We encourage this operation as it's very helpful in combatting
+; session hijacking when not specifying and managing your own session id. It is
+; not the end all be all of session hijacking defense, but it's a good start.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies
+session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+; http://www.php.net/manual/en/session.configuration.php#ini.session.name
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
+session.cookie_domain =
+
+; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly
+session.cookie_httponly = 
+
+; Handler used to serialize data.  php is the standard serializer of PHP.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler
+session.serialize_handler = php
+
+; Defines the probability that the 'garbage collection' process is started
+; on every session initialization. The probability is calculated by using
+; gc_probability/gc_divisor. Where session.gc_probability is the numerator
+; and gc_divisor is the denominator in the equation. Setting this value to 1
+; when the session.gc_divisor value is 100 will give you approximately a 1% chance
+; the gc will run on any give request.
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
+session.gc_probability = 1
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using the following equation: 
+; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
+; session.gc_divisor is the denominator in the equation. Setting this value to 1
+; when the session.gc_divisor value is 100 will give you approximately a 1% chance
+; the gc will run on any give request. Increasing this value to 1000 will give you
+; a 0.1% chance the gc will run on any give request. For high volume production servers,
+; this is a more efficient approach.
+; Default Value: 100
+; Development Value: 1000
+; Production Value: 1000
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor
+session.gc_divisor = 1000
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+;       (see session.save_path above), then garbage collection does *not*
+;       happen automatically.  You will need to do your own garbage
+;       collection through a shell script, cron entry, or some other method.
+;       For example, the following script would is the equivalent of
+;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+;          cd /path/to/sessions; find -cmin +24 | xargs rm
+
+; PHP 4.2 and less have an undocumented feature/bug that allows you to
+; to initialize a session variable in the global scope, even when register_globals
+; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
+; You can disable the feature and the warning separately. At this time,
+; the warning is only displayed, if bug_compat_42 is enabled. This feature
+; introduces some serious security problems if not handled correctly. It's
+; recommended that you do not use this feature on production servers. But you
+; should enable this on development servers and enable the warning as well. If you
+; do not enable the feature on development servers, you won't be warned when it's
+; used and debugging errors caused by this can be difficult to track down.
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42
+session.bug_compat_42 = Off
+
+; This setting controls whether or not you are warned by PHP when initializing a
+; session value into the global space. session.bug_compat_42 must be enabled before
+; these warnings can be issued by PHP. See the directive above for more information.
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn
+session.bug_compat_warn = Off
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check
+session.referer_check =
+
+; How many bytes to read from the file.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
+session.entropy_length = 0
+
+; Specified here to create the session id.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file
+;session.entropy_file = /dev/urandom
+session.entropy_file =
+
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
+;session.entropy_length = 16
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+;   to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+;   in publically accessible computer.
+; - User may access your site with the same session ID
+;   always using URL stored in browser's history or bookmarks.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid
+session.use_trans_sid = 0
+
+; Select a hash function for use in generating session ids.
+; Possible Values 
+;   0  (MD5 128 bits)
+;   1  (SHA-1 160 bits)
+; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function
+session.hash_function = 0
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+; Possible values:
+;   4  (4 bits: 0-9, a-f)
+;   5  (5 bits: 0-9, a-v)
+;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
+; Default Value: 4
+; Development Value: 5
+; Production Value: 5
+; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character
+session.hash_bits_per_character = 5
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; form/fieldset are special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs.  If you want XHTML conformity, remove the form entry.
+; Note that all valid entries require a "=", even if no value follows.
+; Default Value: "a=href,area=href,frame=src,form=,fieldset="
+; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+[MSSQL]
+; Allow or prevent persistent links.
+mssql.allow_persistent = On
+
+; Maximum number of persistent links.  -1 means no limit.
+mssql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent).  -1 means no limit.
+mssql.max_links = -1
+
+; Minimum error severity to display.
+mssql.min_error_severity = 10
+
+; Minimum message severity to display.
+mssql.min_message_severity = 10
+
+; Compatibility mode with old versions of PHP 3.0.
+mssql.compatability_mode = Off
+
+; Connect timeout
+;mssql.connect_timeout = 5
+
+; Query timeout
+;mssql.timeout = 60
+
+; Valid range 0 - 2147483647.  Default = 4096.
+;mssql.textlimit = 4096
+
+; Valid range 0 - 2147483647.  Default = 4096.
+;mssql.textsize = 4096
+
+; Limits the number of records in each batch.  0 = all records in one batch.
+;mssql.batchsize = 0
+
+; Specify how datetime and datetim4 columns are returned
+; On => Returns data converted to SQL server settings
+; Off => Returns values as YYYY-MM-DD hh:mm:ss
+;mssql.datetimeconvert = On
+
+; Use NT authentication when connecting to the server
+mssql.secure_connection = Off
+
+; Specify max number of processes. -1 = library default
+; msdlib defaults to 25
+; FreeTDS defaults to 4096
+;mssql.max_procs = -1
+
+; Specify client character set. 
+; If empty or not set the client charset from freetds.comf is used
+; This is only used when compiled with FreeTDS
+;mssql.charset = "ISO-8859-1"
+
+[Assertion]
+; Assert(expr); active by default.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.active
+;assert.active = On
+
+; Issue a PHP warning for each failed assertion.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning
+;assert.warning = On
+
+; Don't bail out by default.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback
+;assert.callback = 0
+
+; Eval the expression with current error_reporting().  Set to true if you want
+; error_reporting(0) around the eval().
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval
+;assert.quiet_eval = 0
+
+[COM]
+; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file
+;com.typelib_file =
+
+; allow Distributed-COM calls
+; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom
+;com.allow_dcom = true
+
+; autoregister constants of a components typlib on com_load()
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib
+;com.autoregister_typelib = true
+
+; register constants casesensitive
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive
+;com.autoregister_casesensitive = false
+
+; show warnings on duplicate constant registrations
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose
+;com.autoregister_verbose = true
+
+[mbstring]
+; language for internal character representation.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language
+;mbstring.language = Japanese
+
+; internal/script encoding.
+; Some encoding cannot work as internal encoding.
+; (e.g. SJIS, BIG5, ISO-2022-*)
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding
+;mbstring.internal_encoding = EUC-JP
+
+; http input encoding.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input
+;mbstring.http_input = auto
+
+; http output encoding. mb_output_handler must be
+; registered as output buffer to function
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output
+;mbstring.http_output = SJIS
+
+; enable automatic encoding translation according to
+; mbstring.internal_encoding setting. Input chars are
+; converted to internal encoding by setting this to On.
+; Note: Do _not_ use automatic encoding translation for
+;       portable libs/applications.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation
+;mbstring.encoding_translation = Off
+
+; automatic encoding detection order.
+; auto means
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order
+;mbstring.detect_order = auto
+
+; substitute_character used when character cannot be converted
+; one from another
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character
+;mbstring.substitute_character = none;
+
+; overload(replace) single byte functions by mbstring functions.
+; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
+; etc. Possible values are 0,1,2,4 or combination of them.
+; For example, 7 for overload everything.
+; 0: No overload
+; 1: Overload mail() function
+; 2: Overload str*() functions
+; 4: Overload ereg*() functions
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload
+;mbstring.func_overload = 0
+
+; enable strict encoding detection.
+;mbstring.strict_detection = Off
+
+; This directive specifies the regex pattern of content types for which mb_output_handler()
+; is activated.
+; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
+;mbstring.http_output_conv_mimetype=
+
+[gd]
+; Tell the jpeg decode to ignore warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning
+;gd.jpeg_ignore_warning = 0
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode
+;exif.encode_unicode = ISO-8859-15
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola
+;exif.decode_unicode_motorola = UCS-2BE
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel
+;exif.decode_unicode_intel    = UCS-2LE
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis
+;exif.encode_jis =
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola
+;exif.decode_jis_motorola = JIS
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel
+;exif.decode_jis_intel    = JIS
+
+[Tidy]
+; The path to a default tidy configuration file to use when using tidy
+; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config
+;tidy.default_config = /usr/local/lib/php/default.tcfg
+
+; Should tidy clean and repair output automatically?
+; WARNING: Do not use this option if you are generating non-html content
+; such as dynamic images
+; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output
+tidy.clean_output = Off
+
+[soap]
+; Enables or disables WSDL caching feature.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled
+soap.wsdl_cache_enabled=1
+
+; Sets the directory name where SOAP extension will put cache files.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir
+soap.wsdl_cache_dir="/tmp"
+
+; (time to live) Sets the number of second while cached file will be used 
+; instead of original one.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl
+soap.wsdl_cache_ttl=86400
+
+[sysvshm]
+; A default size of the shared memory segment
+;sysvshm.init_mem = 10000
+
+
+; Local Variables:
+; tab-width: 4
+; End:
diff --git a/workspace/php_errors.log b/workspace/php_errors.log
new file mode 100644
index 0000000..fa4f3b5
--- /dev/null
+++ b/workspace/php_errors.log
@@ -0,0 +1,1728 @@
+[27-Oct-2017 21:22:42 UTC] PHP Fatal error:  Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25
+[27-Oct-2017 21:22:42 UTC] PHP Stack trace:
+[27-Oct-2017 21:22:42 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[27-Oct-2017 21:22:42 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[27-Oct-2017 21:22:42 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[27-Oct-2017 21:22:42 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[27-Oct-2017 21:22:42 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 21:22:42 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 21:22:42 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[27-Oct-2017 21:22:42 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 21:22:42 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 21:22:42 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[27-Oct-2017 21:22:42 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[27-Oct-2017 21:22:42 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[27-Oct-2017 21:22:42 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[27-Oct-2017 21:22:42 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 21:22:42 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 21:22:42 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[27-Oct-2017 21:22:42 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[27-Oct-2017 21:22:42 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[27-Oct-2017 21:22:42 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[27-Oct-2017 21:22:42 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 21:22:42 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 21:22:42 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[27-Oct-2017 21:22:42 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 21:22:42 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 21:22:42 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[27-Oct-2017 21:22:42 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[27-Oct-2017 21:22:42 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[27-Oct-2017 21:22:42 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[27-Oct-2017 21:22:42 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[27-Oct-2017 21:22:42 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[27-Oct-2017 21:22:42 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[27-Oct-2017 21:22:42 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[27-Oct-2017 21:22:42 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[27-Oct-2017 22:10:44 UTC] PHP Fatal error:  Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25
+[27-Oct-2017 22:10:44 UTC] PHP Stack trace:
+[27-Oct-2017 22:10:44 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[27-Oct-2017 22:10:44 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[27-Oct-2017 22:10:44 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[27-Oct-2017 22:10:44 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[27-Oct-2017 22:10:44 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:10:44 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:10:44 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[27-Oct-2017 22:10:44 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:10:44 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:10:44 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[27-Oct-2017 22:10:44 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[27-Oct-2017 22:10:44 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[27-Oct-2017 22:10:44 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[27-Oct-2017 22:10:44 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:10:44 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:10:44 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[27-Oct-2017 22:10:44 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[27-Oct-2017 22:10:44 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[27-Oct-2017 22:10:44 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[27-Oct-2017 22:10:44 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:10:44 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:10:44 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[27-Oct-2017 22:10:44 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:10:44 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:10:44 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[27-Oct-2017 22:10:44 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[27-Oct-2017 22:10:44 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[27-Oct-2017 22:10:44 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[27-Oct-2017 22:10:44 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[27-Oct-2017 22:10:44 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[27-Oct-2017 22:10:44 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[27-Oct-2017 22:10:44 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[27-Oct-2017 22:10:44 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[27-Oct-2017 22:12:36 UTC] PHP Fatal error:  Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25
+[27-Oct-2017 22:12:36 UTC] PHP Stack trace:
+[27-Oct-2017 22:12:36 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[27-Oct-2017 22:12:36 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[27-Oct-2017 22:12:36 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[27-Oct-2017 22:12:36 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[27-Oct-2017 22:12:36 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:12:36 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:12:36 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[27-Oct-2017 22:12:36 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:12:36 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:12:36 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[27-Oct-2017 22:12:36 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[27-Oct-2017 22:12:36 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[27-Oct-2017 22:12:36 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[27-Oct-2017 22:12:36 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:12:36 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[27-Oct-2017 22:12:36 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[27-Oct-2017 22:12:36 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[27-Oct-2017 22:12:36 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[27-Oct-2017 22:12:36 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[27-Oct-2017 22:12:36 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[27-Oct-2017 22:12:36 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[27-Oct-2017 22:12:36 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[27-Oct-2017 22:12:36 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:12:36 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[27-Oct-2017 22:12:36 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[27-Oct-2017 22:12:36 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[27-Oct-2017 22:12:36 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[27-Oct-2017 22:12:36 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[27-Oct-2017 22:12:36 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[27-Oct-2017 22:12:36 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[27-Oct-2017 22:12:36 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[27-Oct-2017 22:12:36 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[27-Oct-2017 22:12:36 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[01-Nov-2017 22:34:04 UTC] PHP Parse error:  syntax error, unexpected end of file in /home/ubuntu/workspace/storage/framework/views/e4470028b0fdf3712c32ffe4e8d16ca25a9e18ea.php on line 112
+[01-Nov-2017 22:34:04 UTC] PHP Stack trace:
+[01-Nov-2017 22:34:04 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[01-Nov-2017 22:34:04 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[01-Nov-2017 22:34:04 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[01-Nov-2017 22:34:04 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[01-Nov-2017 22:34:04 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[01-Nov-2017 22:34:04 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[01-Nov-2017 22:34:04 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[01-Nov-2017 22:34:04 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[01-Nov-2017 22:34:04 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[01-Nov-2017 22:34:04 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[01-Nov-2017 22:34:04 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[01-Nov-2017 22:34:04 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[01-Nov-2017 22:34:04 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[01-Nov-2017 22:34:04 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[01-Nov-2017 22:34:04 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[01-Nov-2017 22:34:04 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[01-Nov-2017 22:34:04 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[01-Nov-2017 22:34:04 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[01-Nov-2017 22:34:04 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[01-Nov-2017 22:34:04 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[01-Nov-2017 22:34:04 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[01-Nov-2017 22:34:04 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[01-Nov-2017 22:34:04 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[01-Nov-2017 22:34:04 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[01-Nov-2017 22:34:04 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[01-Nov-2017 22:34:04 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[01-Nov-2017 22:34:04 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[01-Nov-2017 22:34:04 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[01-Nov-2017 22:34:04 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[01-Nov-2017 22:34:04 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[01-Nov-2017 22:34:04 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[01-Nov-2017 22:34:04 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[01-Nov-2017 22:34:04 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[01-Nov-2017 22:34:04 UTC] PHP  56. Illuminate\View\View->render() /home/ubuntu/workspace/storage/framework/views/5620914eeb09f6a214bf12341ecbf9c1a29b289f.php:101
+[01-Nov-2017 22:34:04 UTC] PHP  57. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[01-Nov-2017 22:34:04 UTC] PHP  58. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[01-Nov-2017 22:34:04 UTC] PHP  59. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[01-Nov-2017 22:34:04 UTC] PHP  60. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[03-Nov-2017 16:09:38 UTC] PHP Parse error:  syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33
+[03-Nov-2017 16:09:38 UTC] PHP Stack trace:
+[03-Nov-2017 16:09:38 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[03-Nov-2017 16:09:38 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[03-Nov-2017 16:09:38 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[03-Nov-2017 16:09:38 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[03-Nov-2017 16:09:38 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[03-Nov-2017 16:09:38 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[03-Nov-2017 16:09:38 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[03-Nov-2017 16:09:38 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[03-Nov-2017 16:09:38 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[03-Nov-2017 16:09:38 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[03-Nov-2017 16:09:38 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[03-Nov-2017 16:09:38 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[03-Nov-2017 16:09:38 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[03-Nov-2017 16:09:38 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[03-Nov-2017 16:09:38 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[03-Nov-2017 16:09:38 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[03-Nov-2017 16:09:38 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[03-Nov-2017 16:09:38 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[03-Nov-2017 16:09:38 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[03-Nov-2017 16:09:38 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[03-Nov-2017 16:09:38 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[03-Nov-2017 16:09:38 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[03-Nov-2017 16:09:38 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[03-Nov-2017 16:09:38 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[03-Nov-2017 16:09:38 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[03-Nov-2017 16:09:38 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[03-Nov-2017 16:09:38 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[03-Nov-2017 16:09:38 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[03-Nov-2017 16:09:38 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[03-Nov-2017 16:09:38 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[03-Nov-2017 16:09:38 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[03-Nov-2017 16:09:38 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[06-Nov-2017 08:29:37 UTC] PHP Parse error:  syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33
+[06-Nov-2017 08:29:37 UTC] PHP Stack trace:
+[06-Nov-2017 08:29:37 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[06-Nov-2017 08:29:37 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[06-Nov-2017 08:29:37 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[06-Nov-2017 08:29:37 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[06-Nov-2017 08:29:37 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:29:37 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:29:37 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[06-Nov-2017 08:29:37 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:29:37 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:29:37 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[06-Nov-2017 08:29:37 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[06-Nov-2017 08:29:37 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[06-Nov-2017 08:29:37 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[06-Nov-2017 08:29:37 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:29:37 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:29:37 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[06-Nov-2017 08:29:37 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[06-Nov-2017 08:29:37 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[06-Nov-2017 08:29:37 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[06-Nov-2017 08:29:37 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:29:37 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:29:37 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[06-Nov-2017 08:29:37 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:29:37 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:29:37 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[06-Nov-2017 08:29:37 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[06-Nov-2017 08:29:37 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[06-Nov-2017 08:29:37 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[06-Nov-2017 08:29:37 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[06-Nov-2017 08:29:37 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[06-Nov-2017 08:29:37 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[06-Nov-2017 08:29:37 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[06-Nov-2017 08:31:08 UTC] PHP Parse error:  syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33
+[06-Nov-2017 08:31:08 UTC] PHP Stack trace:
+[06-Nov-2017 08:31:08 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[06-Nov-2017 08:31:08 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[06-Nov-2017 08:31:08 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[06-Nov-2017 08:31:08 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[06-Nov-2017 08:31:08 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:08 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:08 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[06-Nov-2017 08:31:08 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:08 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:08 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[06-Nov-2017 08:31:08 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[06-Nov-2017 08:31:08 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[06-Nov-2017 08:31:08 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[06-Nov-2017 08:31:08 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:08 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:08 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[06-Nov-2017 08:31:08 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[06-Nov-2017 08:31:08 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[06-Nov-2017 08:31:08 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[06-Nov-2017 08:31:08 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:08 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:08 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[06-Nov-2017 08:31:08 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:08 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:08 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[06-Nov-2017 08:31:08 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[06-Nov-2017 08:31:08 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[06-Nov-2017 08:31:08 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[06-Nov-2017 08:31:08 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[06-Nov-2017 08:31:08 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[06-Nov-2017 08:31:08 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[06-Nov-2017 08:31:08 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[06-Nov-2017 08:31:16 UTC] PHP Parse error:  syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33
+[06-Nov-2017 08:31:16 UTC] PHP Stack trace:
+[06-Nov-2017 08:31:16 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[06-Nov-2017 08:31:16 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[06-Nov-2017 08:31:16 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[06-Nov-2017 08:31:16 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[06-Nov-2017 08:31:16 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:16 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:16 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[06-Nov-2017 08:31:16 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:16 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:16 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[06-Nov-2017 08:31:16 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[06-Nov-2017 08:31:16 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[06-Nov-2017 08:31:16 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[06-Nov-2017 08:31:16 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:16 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[06-Nov-2017 08:31:16 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[06-Nov-2017 08:31:16 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[06-Nov-2017 08:31:16 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[06-Nov-2017 08:31:16 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[06-Nov-2017 08:31:16 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[06-Nov-2017 08:31:16 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[06-Nov-2017 08:31:16 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[06-Nov-2017 08:31:16 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:16 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[06-Nov-2017 08:31:16 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[06-Nov-2017 08:31:16 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[06-Nov-2017 08:31:16 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[06-Nov-2017 08:31:16 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[06-Nov-2017 08:31:16 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[06-Nov-2017 08:31:16 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[06-Nov-2017 08:31:16 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[06-Nov-2017 08:31:16 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[18-Nov-2017 18:53:59 UTC] PHP Parse error:  syntax error, unexpected '/' in /home/ubuntu/workspace/storage/framework/views/65b143ad02f6fc38562c2f3fad888578b4a6b858.php on line 91
+[18-Nov-2017 18:53:59 UTC] PHP Stack trace:
+[18-Nov-2017 18:53:59 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 18:53:59 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 18:53:59 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 18:53:59 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[18-Nov-2017 18:53:59 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 18:53:59 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 18:53:59 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[18-Nov-2017 18:53:59 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 18:53:59 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 18:53:59 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[18-Nov-2017 18:53:59 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[18-Nov-2017 18:53:59 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[18-Nov-2017 18:53:59 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[18-Nov-2017 18:53:59 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 18:53:59 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 18:53:59 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[18-Nov-2017 18:53:59 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[18-Nov-2017 18:53:59 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[18-Nov-2017 18:53:59 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[18-Nov-2017 18:53:59 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 18:53:59 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 18:53:59 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[18-Nov-2017 18:53:59 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 18:53:59 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 18:53:59 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[18-Nov-2017 18:53:59 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[18-Nov-2017 18:53:59 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[18-Nov-2017 18:53:59 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[18-Nov-2017 18:53:59 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[18-Nov-2017 18:53:59 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[18-Nov-2017 18:53:59 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[18-Nov-2017 18:53:59 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[18-Nov-2017 18:53:59 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[18-Nov-2017 18:53:59 UTC] PHP  56. Illuminate\View\View->render() /home/ubuntu/workspace/storage/framework/views/5620914eeb09f6a214bf12341ecbf9c1a29b289f.php:100
+[18-Nov-2017 18:53:59 UTC] PHP  57. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[18-Nov-2017 18:53:59 UTC] PHP  58. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[18-Nov-2017 18:53:59 UTC] PHP  59. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[18-Nov-2017 18:53:59 UTC] PHP  60. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[18-Nov-2017 19:17:35 UTC] PHP Parse error:  syntax error, unexpected ')', expecting '{' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[18-Nov-2017 19:17:35 UTC] PHP Stack trace:
+[18-Nov-2017 19:17:35 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 19:17:35 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 19:17:35 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 19:17:35 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[18-Nov-2017 19:17:35 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[18-Nov-2017 19:17:35 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[18-Nov-2017 19:17:35 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[18-Nov-2017 19:17:35 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:17:35 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:17:35 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[18-Nov-2017 19:17:35 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[18-Nov-2017 19:17:35 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:17:35 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:17:35 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[18-Nov-2017 19:17:35 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[18-Nov-2017 19:17:35 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[18-Nov-2017 19:17:35 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:17:35 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:17:35 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[18-Nov-2017 19:17:35 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[18-Nov-2017 19:17:35 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:17:35 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:24:41 UTC] PHP Parse error:  syntax error, unexpected ')', expecting '{' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[18-Nov-2017 19:24:41 UTC] PHP Stack trace:
+[18-Nov-2017 19:24:41 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 19:24:41 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 19:24:41 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 19:24:41 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[18-Nov-2017 19:24:41 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[18-Nov-2017 19:24:41 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[18-Nov-2017 19:24:41 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[18-Nov-2017 19:24:41 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:24:41 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:24:41 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[18-Nov-2017 19:24:41 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[18-Nov-2017 19:24:41 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:24:41 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:24:41 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[18-Nov-2017 19:24:41 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[18-Nov-2017 19:24:41 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[18-Nov-2017 19:24:41 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:24:41 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:24:41 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[18-Nov-2017 19:24:41 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[18-Nov-2017 19:24:41 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:24:41 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:26:24 UTC] PHP Parse error:  syntax error, unexpected 'Route' (T_STRING) in /home/ubuntu/workspace/app/Http/routes.php on line 50
+[18-Nov-2017 19:26:24 UTC] PHP Stack trace:
+[18-Nov-2017 19:26:24 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 19:26:24 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 19:26:24 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 19:26:24 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[18-Nov-2017 19:26:24 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[18-Nov-2017 19:26:24 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[18-Nov-2017 19:26:24 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[18-Nov-2017 19:26:24 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:26:24 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:26:24 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[18-Nov-2017 19:26:24 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[18-Nov-2017 19:26:24 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:26:24 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:26:24 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[18-Nov-2017 19:26:24 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[18-Nov-2017 19:26:24 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[18-Nov-2017 19:26:24 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:26:24 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:26:24 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[18-Nov-2017 19:26:24 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[18-Nov-2017 19:26:24 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:26:24 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:27:05 UTC] PHP Parse error:  syntax error, unexpected 'Route' (T_STRING) in /home/ubuntu/workspace/app/Http/routes.php on line 53
+[18-Nov-2017 19:27:05 UTC] PHP Stack trace:
+[18-Nov-2017 19:27:05 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 19:27:05 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 19:27:05 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 19:27:05 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[18-Nov-2017 19:27:05 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[18-Nov-2017 19:27:05 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[18-Nov-2017 19:27:05 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[18-Nov-2017 19:27:05 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:27:05 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[18-Nov-2017 19:27:05 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[18-Nov-2017 19:27:05 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[18-Nov-2017 19:27:05 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:27:05 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:27:05 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[18-Nov-2017 19:27:05 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[18-Nov-2017 19:27:05 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[18-Nov-2017 19:27:05 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:27:05 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[18-Nov-2017 19:27:05 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[18-Nov-2017 19:27:05 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[18-Nov-2017 19:27:05 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 19:27:05 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[18-Nov-2017 23:03:54 UTC] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 18
+[18-Nov-2017 23:03:54 UTC] PHP Stack trace:
+[18-Nov-2017 23:03:54 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 23:03:54 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 23:03:54 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 23:03:54 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[18-Nov-2017 23:03:54 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:03:54 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:03:54 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[18-Nov-2017 23:03:54 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:03:54 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:03:54 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[18-Nov-2017 23:03:54 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[18-Nov-2017 23:03:54 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[18-Nov-2017 23:03:54 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[18-Nov-2017 23:03:54 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:03:54 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:03:54 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[18-Nov-2017 23:03:54 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[18-Nov-2017 23:03:54 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[18-Nov-2017 23:03:54 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[18-Nov-2017 23:03:54 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:03:54 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:03:54 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[18-Nov-2017 23:03:54 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:03:54 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:03:54 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[18-Nov-2017 23:03:54 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[18-Nov-2017 23:03:54 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[18-Nov-2017 23:03:54 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[18-Nov-2017 23:03:54 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[18-Nov-2017 23:03:54 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[18-Nov-2017 23:03:54 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[18-Nov-2017 23:03:54 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[18-Nov-2017 23:10:14 UTC] PHP Parse error:  syntax error, unexpected '}' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 23
+[18-Nov-2017 23:10:14 UTC] PHP Stack trace:
+[18-Nov-2017 23:10:14 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[18-Nov-2017 23:10:14 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[18-Nov-2017 23:10:14 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[18-Nov-2017 23:10:14 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[18-Nov-2017 23:10:14 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:10:14 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:10:14 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[18-Nov-2017 23:10:14 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:10:14 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:10:14 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[18-Nov-2017 23:10:14 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[18-Nov-2017 23:10:14 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[18-Nov-2017 23:10:14 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[18-Nov-2017 23:10:14 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:10:14 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[18-Nov-2017 23:10:14 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[18-Nov-2017 23:10:14 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[18-Nov-2017 23:10:14 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[18-Nov-2017 23:10:14 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[18-Nov-2017 23:10:14 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[18-Nov-2017 23:10:14 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[18-Nov-2017 23:10:14 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[18-Nov-2017 23:10:14 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:10:14 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[18-Nov-2017 23:10:14 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[18-Nov-2017 23:10:14 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[18-Nov-2017 23:10:14 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[18-Nov-2017 23:10:14 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[18-Nov-2017 23:10:14 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[18-Nov-2017 23:10:14 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[18-Nov-2017 23:10:14 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[18-Nov-2017 23:10:14 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:11:17 UTC] PHP Fatal error:  Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 17
+[19-Nov-2017 12:11:17 UTC] PHP Stack trace:
+[19-Nov-2017 12:11:17 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 12:11:17 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 12:11:17 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 12:11:17 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 12:11:17 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:11:17 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:11:17 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 12:11:17 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:11:17 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:11:17 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 12:11:17 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 12:11:17 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 12:11:17 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 12:11:17 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:11:17 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:11:17 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 12:11:17 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 12:11:17 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 12:11:17 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 12:11:17 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:11:17 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:11:17 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 12:11:17 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:11:17 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:11:17 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 12:11:17 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 12:11:17 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 12:11:17 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 12:11:17 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 12:11:17 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 12:11:17 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 12:11:17 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:11:17 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[19-Nov-2017 12:14:58 UTC] PHP Fatal error:  Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 17
+[19-Nov-2017 12:14:58 UTC] PHP Stack trace:
+[19-Nov-2017 12:14:58 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 12:14:58 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 12:14:58 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 12:14:58 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 12:14:58 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:14:58 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:14:58 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 12:14:58 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:14:58 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:14:58 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 12:14:58 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 12:14:58 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 12:14:58 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 12:14:58 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:14:58 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:14:58 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 12:14:58 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 12:14:58 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 12:14:58 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 12:14:58 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:14:58 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:14:58 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 12:14:58 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:14:58 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:14:58 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 12:14:58 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 12:14:58 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 12:14:58 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 12:14:58 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 12:14:58 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 12:14:58 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 12:14:58 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:14:58 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[19-Nov-2017 12:37:54 UTC] PHP Fatal error:  Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 18
+[19-Nov-2017 12:37:54 UTC] PHP Stack trace:
+[19-Nov-2017 12:37:54 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 12:37:54 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 12:37:54 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 12:37:54 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 12:37:54 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:37:54 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:37:54 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 12:37:54 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:37:54 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:37:54 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 12:37:54 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 12:37:54 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 12:37:54 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 12:37:54 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:37:54 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:37:54 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 12:37:54 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 12:37:54 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 12:37:54 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 12:37:54 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:37:54 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:37:54 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 12:37:54 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:37:54 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:37:54 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 12:37:54 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 12:37:54 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 12:37:54 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 12:37:54 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 12:37:54 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 12:37:54 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 12:37:54 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:37:54 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[19-Nov-2017 12:38:42 UTC] PHP Fatal error:  Class 'Product' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 19
+[19-Nov-2017 12:38:42 UTC] PHP Stack trace:
+[19-Nov-2017 12:38:42 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 12:38:42 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 12:38:42 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 12:38:42 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 12:38:42 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:38:42 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:38:42 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 12:38:42 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:38:42 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:38:42 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 12:38:42 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 12:38:42 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 12:38:42 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 12:38:42 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:38:42 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:38:42 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 12:38:42 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 12:38:42 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 12:38:42 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 12:38:42 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:38:42 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:38:42 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 12:38:42 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:38:42 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:38:42 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 12:38:42 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 12:38:42 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 12:38:42 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 12:38:42 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 12:38:42 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 12:38:42 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 12:38:42 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:38:42 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[19-Nov-2017 12:39:46 UTC] PHP Fatal error:  Class 'products' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 19
+[19-Nov-2017 12:39:46 UTC] PHP Stack trace:
+[19-Nov-2017 12:39:46 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 12:39:46 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 12:39:46 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 12:39:46 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 12:39:46 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:39:46 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:39:46 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 12:39:46 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:39:46 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:39:46 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 12:39:46 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 12:39:46 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 12:39:46 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 12:39:46 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:39:46 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 12:39:46 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 12:39:46 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 12:39:46 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 12:39:46 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 12:39:46 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 12:39:46 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 12:39:46 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 12:39:46 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:39:46 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 12:39:46 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 12:39:46 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 12:39:46 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 12:39:46 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 12:39:46 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 12:39:46 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 12:39:46 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 12:39:46 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[19-Nov-2017 12:39:46 UTC] PHP  55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42
+[19-Nov-2017 13:06:32 UTC] PHP Parse error:  syntax error, unexpected '}' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 25
+[19-Nov-2017 13:06:32 UTC] PHP Stack trace:
+[19-Nov-2017 13:06:32 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[19-Nov-2017 13:06:32 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[19-Nov-2017 13:06:32 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[19-Nov-2017 13:06:32 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[19-Nov-2017 13:06:32 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 13:06:32 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 13:06:32 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[19-Nov-2017 13:06:32 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 13:06:32 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 13:06:32 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[19-Nov-2017 13:06:32 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[19-Nov-2017 13:06:32 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[19-Nov-2017 13:06:32 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[19-Nov-2017 13:06:32 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 13:06:32 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[19-Nov-2017 13:06:32 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[19-Nov-2017 13:06:32 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[19-Nov-2017 13:06:32 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[19-Nov-2017 13:06:32 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[19-Nov-2017 13:06:32 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[19-Nov-2017 13:06:32 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[19-Nov-2017 13:06:32 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[19-Nov-2017 13:06:32 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 13:06:32 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[19-Nov-2017 13:06:32 UTC] PHP  47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725
+[19-Nov-2017 13:06:32 UTC] PHP  48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085
+[19-Nov-2017 13:06:32 UTC] PHP  49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201
+[19-Nov-2017 13:06:32 UTC] PHP  50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53
+[19-Nov-2017 13:06:32 UTC] PHP  51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85
+[19-Nov-2017 13:06:32 UTC] PHP  52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120
+[19-Nov-2017 13:06:32 UTC] PHP  53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149
+[19-Nov-2017 13:06:32 UTC] PHP  54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
+[20-Nov-2017 00:20:57 UTC] PHP Fatal error:  Class 'Input' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33
+[20-Nov-2017 00:20:57 UTC] PHP Stack trace:
+[20-Nov-2017 00:20:57 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:20:57 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:20:57 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:20:57 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:20:57 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:20:57 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:20:57 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:20:57 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:20:57 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:20:57 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:20:57 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:20:57 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:20:57 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:20:57 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:20:57 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:20:57 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:20:57 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:20:57 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:20:57 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:20:57 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:20:57 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:20:57 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:20:57 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:20:57 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:20:57 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:20:57 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:20:57 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:20:57 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:21:33 UTC] PHP Fatal error:  Class 'r' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33
+[20-Nov-2017 00:21:33 UTC] PHP Stack trace:
+[20-Nov-2017 00:21:33 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:21:33 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:21:33 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:21:33 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:21:33 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:21:33 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:21:33 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:21:33 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:21:33 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:21:33 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:21:33 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:21:33 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:21:33 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:21:33 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:21:33 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:21:33 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:21:33 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:21:33 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:21:33 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:21:33 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:21:33 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:21:33 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:21:33 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:21:33 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:21:33 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:21:33 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:21:33 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:21:33 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:24:48 UTC] PHP Fatal error:  Class 'input' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33
+[20-Nov-2017 00:24:48 UTC] PHP Stack trace:
+[20-Nov-2017 00:24:48 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:24:48 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:24:48 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:24:48 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:24:48 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:24:48 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:24:48 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:24:48 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:24:48 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:24:48 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:24:48 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:24:48 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:24:48 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:24:48 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:24:48 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:24:48 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:24:48 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:24:48 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:24:48 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:24:48 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:24:48 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:24:48 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:24:48 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:24:48 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:24:48 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:24:48 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:24:48 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:24:48 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:28:36 UTC] PHP Fatal error:  Class 'Article' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52
+[20-Nov-2017 00:28:36 UTC] PHP Stack trace:
+[20-Nov-2017 00:28:36 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:28:36 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:28:36 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:28:36 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:28:36 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:36 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:36 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:28:36 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:36 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:36 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:28:36 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:28:36 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:28:36 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:28:36 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:36 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:36 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:28:36 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:28:36 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:28:36 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:28:36 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:36 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:36 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:28:36 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:36 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:36 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:28:36 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:28:36 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:28:36 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:28:38 UTC] PHP Fatal error:  Class 'Article' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52
+[20-Nov-2017 00:28:38 UTC] PHP Stack trace:
+[20-Nov-2017 00:28:38 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:28:38 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:28:38 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:28:38 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:28:38 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:38 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:38 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:28:38 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:38 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:38 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:28:38 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:28:38 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:28:38 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:28:38 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:38 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:28:38 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:28:38 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:28:38 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:28:38 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:28:38 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:28:38 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:28:38 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:28:38 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:38 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:28:38 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:28:38 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:28:38 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:28:38 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:29:19 UTC] PHP Fatal error:  Class 'Product' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52
+[20-Nov-2017 00:29:19 UTC] PHP Stack trace:
+[20-Nov-2017 00:29:19 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:29:19 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:29:19 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:29:19 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 00:29:19 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:29:19 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:29:19 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 00:29:19 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:29:19 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:29:19 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 00:29:19 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 00:29:19 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 00:29:19 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 00:29:19 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:29:19 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 00:29:19 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 00:29:19 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 00:29:19 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 00:29:19 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 00:29:19 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 00:29:19 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 00:29:19 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 00:29:19 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:29:19 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 00:29:19 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 00:29:19 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 00:29:19 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:29:19 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 00:31:47 UTC] PHP Parse error:  syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in /home/ubuntu/workspace/app/Http/routes.php on line 46
+[20-Nov-2017 00:31:47 UTC] PHP Stack trace:
+[20-Nov-2017 00:31:47 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:31:47 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:31:47 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:31:47 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:31:47 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:31:47 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:31:47 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:31:47 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:31:47 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:31:47 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:31:47 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:31:47 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:31:47 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:31:47 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:31:47 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:31:47 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:31:47 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:31:47 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:31:47 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:31:47 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:31:47 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:31:47 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:34:55 UTC] PHP Parse error:  syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[20-Nov-2017 00:34:55 UTC] PHP Stack trace:
+[20-Nov-2017 00:34:55 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:34:55 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:34:55 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:34:55 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:34:55 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:34:55 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:34:55 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:34:55 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:34:55 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:34:55 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:34:55 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:34:55 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:55 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:55 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:34:55 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:34:55 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:34:55 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:55 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:55 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:34:55 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:34:55 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:34:55 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:34:59 UTC] PHP Parse error:  syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[20-Nov-2017 00:34:59 UTC] PHP Stack trace:
+[20-Nov-2017 00:34:59 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:34:59 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:34:59 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:34:59 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:34:59 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:34:59 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:34:59 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:34:59 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:34:59 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:34:59 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:34:59 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:34:59 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:59 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:59 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:34:59 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:34:59 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:34:59 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:59 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:34:59 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:34:59 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:34:59 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:34:59 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:35:21 UTC] PHP Parse error:  syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[20-Nov-2017 00:35:21 UTC] PHP Stack trace:
+[20-Nov-2017 00:35:21 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:35:21 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:35:21 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:35:21 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:35:21 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:35:21 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:35:21 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:35:21 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:35:21 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:35:21 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:35:21 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:35:21 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:21 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:21 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:35:21 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:35:21 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:35:21 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:21 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:21 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:35:21 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:35:21 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:35:21 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:35:47 UTC] PHP Parse error:  syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45
+[20-Nov-2017 00:35:47 UTC] PHP Stack trace:
+[20-Nov-2017 00:35:47 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:35:47 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:35:47 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:35:47 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:35:47 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:35:47 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:35:47 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:35:47 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:35:47 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:35:47 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:35:47 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:35:47 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:47 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:47 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:35:47 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:35:47 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:35:47 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:47 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:35:47 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:35:47 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:35:47 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:35:47 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:46:19 UTC] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /home/ubuntu/workspace/app/Http/routes.php on line 36
+[20-Nov-2017 00:46:19 UTC] PHP Stack trace:
+[20-Nov-2017 00:46:19 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:46:19 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:46:19 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:46:19 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:46:19 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:46:19 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:46:19 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:46:19 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:46:19 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:46:19 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:46:19 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:46:19 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:19 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:19 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:46:19 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:46:19 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:46:19 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:19 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:19 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:46:19 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:46:19 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:46:19 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:46:21 UTC] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /home/ubuntu/workspace/app/Http/routes.php on line 36
+[20-Nov-2017 00:46:21 UTC] PHP Stack trace:
+[20-Nov-2017 00:46:21 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 00:46:21 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 00:46:21 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 00:46:21 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 00:46:21 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 00:46:21 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 00:46:21 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 00:46:21 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:46:21 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 00:46:21 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 00:46:21 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 00:46:21 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:21 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:21 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 00:46:21 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 00:46:21 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 00:46:21 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:21 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 00:46:21 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 00:46:21 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 00:46:21 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 00:46:21 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 01:02:22 UTC] PHP Fatal error:  Class 'Product' not found in /home/ubuntu/workspace/app/Http/routes.php on line 54
+[20-Nov-2017 01:02:22 UTC] PHP Stack trace:
+[20-Nov-2017 01:02:22 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 01:02:22 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 01:02:22 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 01:02:22 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 01:02:22 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:02:22 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:02:22 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 01:02:22 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:02:22 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:02:22 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 01:02:22 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 01:02:22 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 01:02:22 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 01:02:22 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:02:22 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:02:22 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 01:02:22 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 01:02:22 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 01:02:22 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 01:02:22 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:02:22 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:02:22 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 01:02:22 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:02:22 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:02:22 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 01:02:22 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 01:02:22 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:02:22 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-63}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:06:39 UTC] PHP Fatal error:  Class 'Categorie' not found in /home/ubuntu/workspace/app/Http/routes.php on line 58
+[20-Nov-2017 01:06:39 UTC] PHP Stack trace:
+[20-Nov-2017 01:06:39 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 01:06:39 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 01:06:39 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 01:06:39 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 01:06:39 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:39 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:39 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 01:06:39 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:39 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:39 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 01:06:39 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 01:06:39 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 01:06:39 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 01:06:39 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:39 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:39 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 01:06:39 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 01:06:39 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 01:06:39 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 01:06:39 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:39 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:39 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 01:06:39 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:39 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:39 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 01:06:39 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 01:06:39 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:06:39 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-62}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:06:41 UTC] PHP Fatal error:  Class 'Categorie' not found in /home/ubuntu/workspace/app/Http/routes.php on line 58
+[20-Nov-2017 01:06:41 UTC] PHP Stack trace:
+[20-Nov-2017 01:06:41 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 01:06:41 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 01:06:41 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 01:06:41 UTC] PHP   4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132
+[20-Nov-2017 01:06:41 UTC] PHP   5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:41 UTC] PHP   6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:41 UTC] PHP   7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP   8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP   9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44
+[20-Nov-2017 01:06:41 UTC] PHP  12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:41 UTC] PHP  13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:41 UTC] PHP  14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246
+[20-Nov-2017 01:06:41 UTC] PHP  15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675
+[20-Nov-2017 01:06:41 UTC] PHP  16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699
+[20-Nov-2017 01:06:41 UTC] PHP  17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726
+[20-Nov-2017 01:06:41 UTC] PHP  18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:41 UTC] PHP  19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103
+[20-Nov-2017 01:06:41 UTC] PHP  20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59
+[20-Nov-2017 01:06:41 UTC] PHP  25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37
+[20-Nov-2017 01:06:41 UTC] PHP  30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64
+[20-Nov-2017 01:06:41 UTC] PHP  35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49
+[20-Nov-2017 01:06:41 UTC] PHP  40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32
+[20-Nov-2017 01:06:41 UTC] PHP  42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136
+[20-Nov-2017 01:06:41 UTC] PHP  44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64
+[20-Nov-2017 01:06:41 UTC] PHP  45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:41 UTC] PHP  46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52
+[20-Nov-2017 01:06:41 UTC] PHP  47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724
+[20-Nov-2017 01:06:41 UTC] PHP  48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137
+[20-Nov-2017 01:06:41 UTC] PHP  49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:06:41 UTC] PHP  50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-62}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158
+[20-Nov-2017 01:14:41 UTC] PHP Parse error:  syntax error, unexpected ':' in /home/ubuntu/workspace/app/Http/routes.php on line 35
+[20-Nov-2017 01:14:41 UTC] PHP Stack trace:
+[20-Nov-2017 01:14:41 UTC] PHP   1. {main}() /home/ubuntu/workspace/public/index.php:0
+[20-Nov-2017 01:14:41 UTC] PHP   2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54
+[20-Nov-2017 01:14:41 UTC] PHP   3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99
+[20-Nov-2017 01:14:41 UTC] PHP   4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127
+[20-Nov-2017 01:14:41 UTC] PHP   5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232
+[20-Nov-2017 01:14:41 UTC] PHP   6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203
+[20-Nov-2017 01:14:41 UTC] PHP   7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
+[20-Nov-2017 01:14:41 UTC] PHP   8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 01:14:41 UTC] PHP   9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741
+[20-Nov-2017 01:14:41 UTC] PHP  10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740
+[20-Nov-2017 01:14:41 UTC] PHP  11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757
+[20-Nov-2017 01:14:41 UTC] PHP  12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 01:14:41 UTC] PHP  13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 01:14:41 UTC] PHP  14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29
+[20-Nov-2017 01:14:41 UTC] PHP  15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31
+[20-Nov-2017 01:14:41 UTC] PHP  16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72
+[20-Nov-2017 01:14:41 UTC] PHP  17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 01:14:41 UTC] PHP  18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507
+[20-Nov-2017 01:14:41 UTC] PHP  19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40
+[20-Nov-2017 01:14:41 UTC] PHP  20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59
+[20-Nov-2017 01:14:41 UTC] PHP  21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
+[20-Nov-2017 01:14:41 UTC] PHP  22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398
diff --git a/workspace/phpunit.xml b/workspace/phpunit.xml
new file mode 100644
index 0000000..3e884d1
--- /dev/null
+++ b/workspace/phpunit.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit backupGlobals="false"
+         backupStaticAttributes="false"
+         bootstrap="bootstrap/autoload.php"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         processIsolation="false"
+         stopOnFailure="false">
+    <testsuites>
+        <testsuite name="Application Test Suite">
+            <directory suffix="Test.php">./tests</directory>
+        </testsuite>
+    </testsuites>
+    <filter>
+        <whitelist processUncoveredFilesFromWhitelist="true">
+            <directory suffix=".php">./app</directory>
+            <exclude>
+                <file>./app/Http/routes.php</file>
+            </exclude>
+        </whitelist>
+    </filter>
+    <php>
+        <env name="APP_ENV" value="testing"/>
+        <env name="CACHE_DRIVER" value="array"/>
+        <env name="SESSION_DRIVER" value="array"/>
+        <env name="QUEUE_DRIVER" value="sync"/>
+    </php>
+</phpunit>
diff --git a/workspace/public/.htaccess b/workspace/public/.htaccess
new file mode 100644
index 0000000..903f639
--- /dev/null
+++ b/workspace/public/.htaccess
@@ -0,0 +1,20 @@
+<IfModule mod_rewrite.c>
+    <IfModule mod_negotiation.c>
+        Options -MultiViews
+    </IfModule>
+
+    RewriteEngine On
+
+    # Redirect Trailing Slashes If Not A Folder...
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteRule ^(.*)/$ /$1 [L,R=301]
+
+    # Handle Front Controller...
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteRule ^ index.php [L]
+
+    # Handle Authorization Header
+    RewriteCond %{HTTP:Authorization} .
+    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+</IfModule>
diff --git a/workspace/public/css/app.css b/workspace/public/css/app.css
new file mode 100644
index 0000000..792058e
--- /dev/null
+++ b/workspace/public/css/app.css
@@ -0,0 +1,5 @@
+@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);@charset "UTF-8";/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.img-responsive,.img-thumbnail,.table,label{max-width:100%}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.btn-danger.dropdown-toggle,.open>.btn-default.dropdown-toggle,.open>.btn-info.dropdown-toggle,.open>.btn-primary.dropdown-toggle,.open>.btn-warning.dropdown-toggle{background-image:none}.img-thumbnail,body{background-color:#f5f8fa}@font-face{font-family:'Glyphicons Halflings';src:url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1);src:url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1?#iefix) format("embedded-opentype"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff2?448c34a56d699c29117adc64c43affeb) format("woff2"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff?fa2772327f55d8198301fdb8bcfc8158) format("woff"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.ttf?e18bbf611f2a2e43afc071aa2f4e1512) format("truetype"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.svg?89889688147bd7575d6327160d64e760#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Raleway,sans-serif;font-size:14px;line-height:1.6;color:#636b6f}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3097D1;text-decoration:none}a:focus,a:hover{color:#216a94;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.6;border:1px solid #ddd;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:22px;margin-bottom:11px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:11px;margin-bottom:11px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3097D1}a.text-primary:focus,a.text-primary:hover{color:#2579a9}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#3097D1}a.bg-primary:focus,a.bg-primary:hover{background-color:#2579a9}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:22px}ol,ul{margin-bottom:11px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd,dt{line-height:1.6}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.6;color:#777}legend,pre{color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:13px;line-height:1.6;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{display:table;content:" "}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333333%}.col-xs-push-2{left:16.66666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333333%}.col-xs-push-5{left:41.66666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333333%}.col-xs-push-8{left:66.66666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333333%}.col-xs-push-11{left:91.66666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333333%}.col-sm-push-2{left:16.66666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333%}.col-sm-push-5{left:41.66666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333333%}.col-sm-push-8{left:66.66666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333%}.col-sm-push-11{left:91.66666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333333%}.col-md-pull-2{right:16.66666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333%}.col-md-pull-5{right:41.66666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333333%}.col-md-pull-8{right:66.66666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333%}.col-md-pull-11{right:91.66666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333333%}.col-md-push-2{left:16.66666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333%}.col-md-push-5{left:41.66666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333333%}.col-md-push-8{left:66.66666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333%}.col-md-push-11{left:91.66666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333333%}.col-lg-push-2{left:16.66666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333%}.col-lg-push-5{left:41.66666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333333%}.col-lg-push-8{left:66.66666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333%}.col-lg-push-11{left:91.66666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-12{margin-left:100%}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:22px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.6;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#f5f8fa}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{display:block;width:100%;margin-bottom:22px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.6;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:36px;padding:6px 12px;background-color:#fff;border:1px solid #ccd0d2;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#98cbe8;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(152,203,232,.6)}.form-control::-moz-placeholder{color:#b1b7ba;opacity:1}.form-control:-ms-input-placeholder{color:#b1b7ba}.form-control::-webkit-input-placeholder{color:#b1b7ba}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:36px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:40px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a4aaae}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#636b6f;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#636b6f;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#636b6f;background-color:#e6e5e5;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#636b6f;background-color:#e6e5e5;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#636b6f;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#636b6f}.btn-primary{color:#fff;background-color:#3097D1;border-color:#2a88bd}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2579a9;border-color:#133d55}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2579a9;border-color:#1f648b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#1f648b;border-color:#133d55}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3097D1;border-color:#2a88bd}.btn-primary .badge{color:#3097D1;background-color:#fff}.btn-success{color:#fff;background-color:#2ab27b;border-color:#259d6d}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#20895e;border-color:#0d3625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#20895e;border-color:#196c4b}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#196c4b;border-color:#0d3625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#2ab27b;border-color:#259d6d}.btn-success .badge{color:#2ab27b;background-color:#fff}.btn-info{color:#fff;background-color:#8eb4cb;border-color:#7da8c3}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#6b9dbb;border-color:#3d6983}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#6b9dbb;border-color:#538db0}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#538db0;border-color:#3d6983}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#8eb4cb;border-color:#7da8c3}.btn-info .badge{color:#8eb4cb;background-color:#fff}.btn-warning{color:#fff;background-color:#cbb956;border-color:#c5b143}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#b6a338;border-color:#685d20}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#b6a338;border-color:#9b8a30}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#9b8a30;border-color:#685d20}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#cbb956;border-color:#c5b143}.btn-warning .badge{color:#cbb956;background-color:#fff}.btn-danger{color:#fff;background-color:#bf5329;border-color:#aa4a24}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#954120;border-color:#411c0e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#954120;border-color:#78341a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#78341a;border-color:#411c0e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#bf5329;border-color:#aa4a24}.btn-danger .badge{color:#bf5329;background-color:#fff}.btn-link{color:#3097D1;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#216a94;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;transition-property:height,visibility;transition-duration:.35s;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.6;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#3097D1}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccd0d2;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav>li,.nav>li>a{display:block;position:relative}.nav:after{clear:both}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#3097D1}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#f5f8fa;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li,.nav-tabs.nav-justified>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#3097D1}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#f5f8fa}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:14px 15px;font-size:18px;line-height:22px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-danger,.progress-striped .progress-bar-info,.progress-striped .progress-bar-success,.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:7px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#d3e0e9}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5d5d;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#d3e0e9}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#eee;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.6;text-decoration:none;color:#3097D1;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#216a94;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#3097D1;border-color:#3097D1;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3097D1}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#2579a9}.label-success{background-color:#2ab27b}.label-success[href]:focus,.label-success[href]:hover{background-color:#20895e}.label-info{background-color:#8eb4cb}.label-info[href]:focus,.label-info[href]:hover{background-color:#6b9dbb}.label-warning{background-color:#cbb956}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#b6a338}.label-danger{background-color:#bf5329}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#954120}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3097D1;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:22px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#636b6f}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#3097D1}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#3097D1;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#2ab27b}.progress-bar-info{background-color:#8eb4cb}.progress-bar-warning{background-color:#cbb956}.progress-bar-danger{background-color:#bf5329}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #d3e0e9}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#3097D1;border-color:#3097D1}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#d7ebf6}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #d3e0e9;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3e0e9}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3e0e9}.panel-default{border-color:#d3e0e9}.panel-default>.panel-heading{color:#333;background-color:#fff;border-color:#d3e0e9}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3e0e9}.panel-default>.panel-heading .badge{color:#fff;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3e0e9}.panel-primary{border-color:#3097D1}.panel-primary>.panel-heading{color:#fff;background-color:#3097D1;border-color:#3097D1}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3097D1}.panel-primary>.panel-heading .badge{color:#3097D1;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3097D1}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before{display:table;content:" "}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:transparent}.carousel-control.left{background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-grid.css b/workspace/public/css/bootstrap-grid.css
new file mode 100644
index 0000000..bcd4f33
--- /dev/null
+++ b/workspace/public/css/bootstrap-grid.css
@@ -0,0 +1,1567 @@
+/*!
+ * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+@-ms-viewport {
+  width: device-width;
+}
+
+html {
+  box-sizing: border-box;
+  -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: inherit;
+}
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container {
+    max-width: 1140px;
+  }
+}
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+      flex-basis: 0;
+  -ms-flex-positive: 1;
+      flex-grow: 1;
+  max-width: 100%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+      flex: 0 0 auto;
+  width: auto;
+  max-width: none;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+      flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+      flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+      flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+      flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+      flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+      flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+      flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+      flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+      flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+      flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+      flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+      flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+      order: -1;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+      order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+      order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+      order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+      order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+      order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+      order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+      order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+      order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+      order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+      order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+      order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+      order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.flex-row {
+  -ms-flex-direction: row !important;
+      flex-direction: row !important;
+}
+
+.flex-column {
+  -ms-flex-direction: column !important;
+      flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  -ms-flex-direction: row-reverse !important;
+      flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  -ms-flex-direction: column-reverse !important;
+      flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+  -ms-flex-wrap: wrap !important;
+      flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  -ms-flex-wrap: nowrap !important;
+      flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  -ms-flex-wrap: wrap-reverse !important;
+      flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+  -ms-flex-pack: start !important;
+      justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  -ms-flex-pack: end !important;
+      justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  -ms-flex-pack: center !important;
+      justify-content: center !important;
+}
+
+.justify-content-between {
+  -ms-flex-pack: justify !important;
+      justify-content: space-between !important;
+}
+
+.justify-content-around {
+  -ms-flex-pack: distribute !important;
+      justify-content: space-around !important;
+}
+
+.align-items-start {
+  -ms-flex-align: start !important;
+      align-items: flex-start !important;
+}
+
+.align-items-end {
+  -ms-flex-align: end !important;
+      align-items: flex-end !important;
+}
+
+.align-items-center {
+  -ms-flex-align: center !important;
+      align-items: center !important;
+}
+
+.align-items-baseline {
+  -ms-flex-align: baseline !important;
+      align-items: baseline !important;
+}
+
+.align-items-stretch {
+  -ms-flex-align: stretch !important;
+      align-items: stretch !important;
+}
+
+.align-content-start {
+  -ms-flex-line-pack: start !important;
+      align-content: flex-start !important;
+}
+
+.align-content-end {
+  -ms-flex-line-pack: end !important;
+      align-content: flex-end !important;
+}
+
+.align-content-center {
+  -ms-flex-line-pack: center !important;
+      align-content: center !important;
+}
+
+.align-content-between {
+  -ms-flex-line-pack: justify !important;
+      align-content: space-between !important;
+}
+
+.align-content-around {
+  -ms-flex-line-pack: distribute !important;
+      align-content: space-around !important;
+}
+
+.align-content-stretch {
+  -ms-flex-line-pack: stretch !important;
+      align-content: stretch !important;
+}
+
+.align-self-auto {
+  -ms-flex-item-align: auto !important;
+      align-self: auto !important;
+}
+
+.align-self-start {
+  -ms-flex-item-align: start !important;
+      align-self: flex-start !important;
+}
+
+.align-self-end {
+  -ms-flex-item-align: end !important;
+      align-self: flex-end !important;
+}
+
+.align-self-center {
+  -ms-flex-item-align: center !important;
+      align-self: center !important;
+}
+
+.align-self-baseline {
+  -ms-flex-item-align: baseline !important;
+      align-self: baseline !important;
+}
+
+.align-self-stretch {
+  -ms-flex-item-align: stretch !important;
+      align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-sm-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-sm-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-sm-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-sm-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-sm-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-md-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-md-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-md-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-md-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-md-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-md-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-md-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-md-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-md-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-md-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-lg-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-lg-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-lg-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-lg-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-lg-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-xl-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-xl-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-xl-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-xl-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-xl-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-xl-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+/*# sourceMappingURL=bootstrap-grid.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-grid.css.map b/workspace/public/css/bootstrap-grid.css.map
new file mode 100644
index 0000000..acfe453
--- /dev/null
+++ b/workspace/public/css/bootstrap-grid.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n  @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n  box-sizing: border-box;\n  -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n  width: device-width;\n}\n\nhtml {\n  box-sizing: border-box;\n  -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  flex-basis: 0;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n  max-width: none;\n}\n\n.col-1 {\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  order: -1;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-sm-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-md-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    order: -1;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-lg-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-xl-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n  }\n\n  // Remove the negative margin from default .row, then the horizontal padding\n  // from all immediate children columns (to prevent runaway style inheritance).\n  .no-gutters {\n    margin-right: 0;\n    margin-left: 0;\n\n    > .col,\n    > [class*=\"col-\"] {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n  width: 100%;\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint, $container-max-width in $max-widths {\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      max-width: $container-max-width;\n    }\n  }\n}\n\n@mixin make-row() {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: ($grid-gutter-width / -2);\n  margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n  position: relative;\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we use `flex` values\n  // later on to override this initial width.\n  width: 100%;\n  min-height: 1px; // Prevent collapsing\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n  flex: 0 0 percentage($size / $columns);\n  // Add a `max-width` to ensure content within each column does not blow out\n  // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n  // do not appear to require this.\n  max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: $size / $columns;\n  margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $next: breakpoint-next($name, $breakpoints);\n  @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  $max: breakpoint-max($name, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($name) {\n      @content;\n    }\n  }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n), $grays);\n\n$blue:    #007bff !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #e83e8c !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #28a745 !default;\n$teal:    #20c997 !default;\n$cyan:    #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n), $colors);\n\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n  \"primary\":    $primary,\n  \"secondary\":  $secondary,\n  \"success\":    $success,\n  \"info\":       $info,\n  \"warning\":    $warning,\n  \"danger\":     $danger,\n  \"light\":      $light,\n  \"dark\":       $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval:      8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret:              true !default;\n$enable-rounded:            true !default;\n$enable-shadows:            false !default;\n$enable-gradients:          false !default;\n$enable-transitions:        true !default;\n$enable-hover-media-query:  false !default;\n$enable-grid-classes:       true !default;\n$enable-print-styles:       true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: ($spacer * .25),\n  2: ($spacer * .5),\n  3: $spacer,\n  4: ($spacer * 1.5),\n  5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n  25: 25%,\n  50: 50%,\n  75: 75%,\n  100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                theme-color(\"primary\") !default;\n$link-decoration:           none !default;\n$link-hover-color:          darken($link-color, 15%) !default;\n$link-hover-decoration:     underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 992px,\n  xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns:                12 !default;\n$grid-gutter-width:           30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg:              1.5 !default;\n$line-height-sm:              1.5 !default;\n\n$border-width:                1px !default;\n$border-color:                $gray-200 !default;\n\n$border-radius:               .25rem !default;\n$border-radius-lg:            .3rem !default;\n$border-radius-sm:            .2rem !default;\n\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"primary\") !default;\n\n$caret-width:                 .3em !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n$transition-collapse:         height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace:       \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base:            $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base:              1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg:                ($font-size-base * 1.25) !default;\n$font-size-sm:                ($font-size-base * .875) !default;\n\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-bold:            700 !default;\n\n$font-weight-base:            $font-weight-normal !default;\n$line-height-base:            1.5 !default;\n\n$h1-font-size:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n\n$headings-margin-bottom:      ($spacer / 2) !default;\n$headings-font-family:        inherit !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n\n$display1-size:               6rem !default;\n$display2-size:               5.5rem !default;\n$display3-size:               4.5rem !default;\n$display4-size:               3.5rem !default;\n\n$display1-weight:             300 !default;\n$display2-weight:             300 !default;\n$display3-weight:             300 !default;\n$display4-weight:             300 !default;\n$display-line-height:         $headings-line-height !default;\n\n$lead-font-size:              ($font-size-base * 1.25) !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             80% !default;\n\n$text-muted:                  $gray-600 !default;\n\n$blockquote-small-color:      $gray-600 !default;\n$blockquote-font-size:        ($font-size-base * 1.25) !default;\n\n$hr-border-color:             rgba($black,.1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight:      $font-weight-bold !default;\n\n$list-inline-padding:         5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding:          .75rem !default;\n$table-cell-padding-sm:       .3rem !default;\n\n$table-bg:                    transparent !default;\n$table-accent-bg:             rgba($black,.05) !default;\n$table-hover-bg:              rgba($black,.075) !default;\n$table-active-bg:             $table-hover-bg !default;\n\n$table-border-width:          $border-width !default;\n$table-border-color:          $gray-200 !default;\n\n$table-head-bg:               $gray-200 !default;\n$table-head-color:            $gray-700 !default;\n\n$table-dark-bg:               $gray-900 !default;\n$table-dark-accent-bg:        rgba($white, .05) !default;\n$table-dark-hover-bg:         rgba($white, .075) !default;\n$table-dark-border-color:     lighten($gray-900, 7.5%) !default;\n$table-dark-color:            $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:       .2rem !default;\n$input-btn-focus-color:       rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow:  0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-line-height-sm:    $line-height-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-line-height-lg:    $line-height-lg !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color:     $gray-600 !default;\n\n$btn-block-spacing-y:         .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           $border-radius !default;\n$btn-border-radius-lg:        $border-radius-lg !default;\n$btn-border-radius-sm:        $border-radius-sm !default;\n\n$btn-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg:                              $white !default;\n$input-disabled-bg:                     $gray-200 !default;\n\n$input-color:                           $gray-700 !default;\n$input-border-color:                    $gray-400 !default;\n$input-btn-border-width:                $border-width !default; // For form controls and buttons\n$input-box-shadow:                      inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius:                   $border-radius !default;\n$input-border-radius-lg:                $border-radius-lg !default;\n$input-border-radius-sm:                $border-radius-sm !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               $gray-600 !default;\n\n$input-height-border:                   $input-btn-border-width * 2 !default;\n\n$input-height-inner:                    ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height:                          calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm:                 ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm:                       calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg:                 ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg:                       calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition:                      border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top:                  .25rem !default;\n\n$form-check-margin-bottom:              .5rem !default;\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .25rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n\n$form-group-margin-bottom:              1rem !default;\n\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  $gray-200 !default;\n$input-group-addon-border-color:        $input-border-color !default;\n\n$custom-control-gutter:                 1.5rem !default;\n$custom-control-spacer-y:               .25rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           #ddd !default;\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg:          $gray-200 !default;\n$custom-control-description-disabled-color:     $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $white !default;\n$custom-control-indicator-checked-bg:           theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n\n$custom-control-indicator-focus-box-shadow:     0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color:         $white !default;\n$custom-control-indicator-active-bg:            lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:    theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:  str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y:           .375rem !default;\n$custom-select-padding-x:          .75rem !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height:         $input-btn-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $white !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     #333 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width:        $input-btn-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n\n$custom-select-focus-border-color:  lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow:    inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm:        75% !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-width:                 14rem !default;\n$custom-file-focus-box-shadow:      0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y:             $input-btn-padding-y !default;\n$custom-file-padding-x:             $input-btn-padding-x !default;\n$custom-file-line-height:           $input-btn-line-height !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-btn-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  placeholder: (\n    en: \"Choose file...\"\n  ),\n  button-label: (\n    en: \"Browse\"\n  )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-bg:                       $white !default;\n$dropdown-border-color:             rgba($black,.15) !default;\n$dropdown-border-width:             $border-width !default;\n$dropdown-divider-bg:               $gray-200 !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color:               $gray-900 !default;\n$dropdown-link-hover-color:         darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg:            $gray-100 !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      $gray-600 !default;\n\n$dropdown-item-padding-y:           .25rem !default;\n$dropdown-item-padding-x:           1.5rem !default;\n\n$dropdown-header-color:             $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-modal-backdrop:             1040 !default;\n$zindex-modal:                      1050 !default;\n$zindex-popover:                    1060 !default;\n$zindex-tooltip:                    1070 !default;\n\n// Navs\n\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-disabled-color:           $gray-600 !default;\n\n$nav-tabs-border-color:             #ddd !default;\n$nav-tabs-border-width:             $border-width !default;\n$nav-tabs-border-radius:            $border-radius !default;\n$nav-tabs-link-hover-border-color:  $gray-200 !default;\n$nav-tabs-link-active-color:        $gray-700 !default;\n$nav-tabs-link-active-bg:           $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius:           $border-radius !default;\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y:                  ($spacer / 2) !default;\n$navbar-padding-x:                  $spacer !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height:                   ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      $btn-border-radius !default;\n\n$navbar-dark-color:                 rgba($white,.5) !default;\n$navbar-dark-hover-color:           rgba($white,.75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg:       str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color:  rgba($white,.1) !default;\n\n$navbar-light-color:                rgba($black,.5) !default;\n$navbar-light-hover-color:          rgba($black,.7) !default;\n$navbar-light-active-color:         rgba($black,.9) !default;\n$navbar-light-disabled-color:       rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg:      str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y:              .5rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n$pagination-line-height:            1.25 !default;\n\n$pagination-color:                  $link-color !default;\n$pagination-bg:                     $white !default;\n$pagination-border-width:           $border-width !default;\n$pagination-border-color:           #ddd !default;\n\n$pagination-hover-color:            $link-hover-color !default;\n$pagination-hover-bg:               $gray-200 !default;\n$pagination-hover-border-color:     #ddd !default;\n\n$pagination-active-color:           $white !default;\n$pagination-active-bg:              theme-color(\"primary\") !default;\n$pagination-active-border-color:    theme-color(\"primary\") !default;\n\n$pagination-disabled-color:         $gray-600 !default;\n$pagination-disabled-bg:            $white !default;\n$pagination-disabled-border-color:  #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-bg:                      $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y:                     .75rem !default;\n$card-spacer-x:                     1.25rem !default;\n$card-border-width:                 $border-width !default;\n$card-border-radius:                $border-radius !default;\n$card-border-color:                 rgba($black,.125) !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg:                       rgba($black, .03) !default;\n$card-bg:                           $white !default;\n\n$card-img-overlay-padding:          1.25rem !default;\n\n$card-group-margin:                 ($grid-gutter-width / 2) !default;\n$card-deck-margin:                  $card-group-margin !default;\n\n$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     $white !default;\n$tooltip-bg:                        $black !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 3px !default;\n$tooltip-padding-x:                 8px !default;\n$tooltip-margin:                    0 !default;\n\n\n$tooltip-arrow-width:               5px !default;\n$tooltip-arrow-height:              5px !default;\n$tooltip-arrow-color:               $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg:                        $white !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              $border-width !default;\n$popover-border-color:              rgba($black,.2) !default;\n$popover-box-shadow:                0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg:                 darken($popover-bg, 3%) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          .75rem !default;\n\n$popover-body-color:                $body-color !default;\n$popover-body-padding-y:            $popover-header-padding-y !default;\n$popover-body-padding-x:            $popover-header-padding-x !default;\n\n$popover-arrow-width:               .8rem !default;\n$popover-arrow-height:              .4rem !default;\n$popover-arrow-color:               $popover-bg !default;\n\n$popover-arrow-outer-color:         fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size:                   75% !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               15px !default;\n\n$modal-dialog-margin:               10px !default;\n$modal-dialog-margin-y-sm-up:       30px !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-bg:                  $white !default;\n$modal-content-border-color:        rgba($black,.2) !default;\n$modal-content-border-width:        $border-width !default;\n$modal-content-box-shadow-xs:       0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up:    0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n$modal-header-border-color:         $gray-200 !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n$modal-header-padding:              15px !default;\n\n$modal-lg:                          800px !default;\n$modal-md:                          500px !default;\n$modal-sm:                          300px !default;\n\n$modal-transition:                  transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y:                   .75rem !default;\n$alert-padding-x:                   1.25rem !default;\n$alert-margin-bottom:               1rem !default;\n$alert-border-radius:               $border-radius !default;\n$alert-link-font-weight:            $font-weight-bold !default;\n$alert-border-width:                $border-width !default;\n\n\n// Progress bars\n\n$progress-height:                   1rem !default;\n$progress-font-size:                ($font-size-base * .75) !default;\n$progress-bg:                       $gray-200 !default;\n$progress-border-radius:            $border-radius !default;\n$progress-box-shadow:               inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"primary\") !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n\n// List group\n\n$list-group-bg:                     $white !default;\n$list-group-border-color:           rgba($black,.125) !default;\n$list-group-border-width:           $border-width !default;\n$list-group-border-radius:          $border-radius !default;\n\n$list-group-item-padding-y:         .75rem !default;\n$list-group-item-padding-x:         1.25rem !default;\n\n$list-group-hover-bg:               $gray-100 !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         $gray-600 !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           $gray-700 !default;\n$list-group-action-hover-color:     $list-group-action-color !default;\n\n$list-group-action-active-color:    $body-color !default;\n$list-group-action-active-bg:       $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      $body-bg !default;\n$thumbnail-border-width:            $border-width !default;\n$thumbnail-border-color:            #ddd !default;\n$thumbnail-border-radius:           $border-radius !default;\n$thumbnail-box-shadow:              0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition:              all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size:          90% !default;\n$figure-caption-color:              $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y:              .75rem !default;\n$breadcrumb-padding-x:              1rem !default;\n$breadcrumb-item-padding:           .5rem !default;\n\n$breadcrumb-margin-bottom:          1rem !default;\n\n$breadcrumb-bg:                     $gray-200 !default;\n$breadcrumb-divider-color:          $gray-600 !default;\n$breadcrumb-active-color:           $gray-600 !default;\n$breadcrumb-divider:                \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color:            $white !default;\n$carousel-control-width:            15% !default;\n$carousel-control-opacity:          .5 !default;\n\n$carousel-indicator-width:          30px !default;\n$carousel-indicator-height:         3px !default;\n$carousel-indicator-spacer:         3px !default;\n$carousel-indicator-active-bg:      $white !default;\n\n$carousel-caption-width:            70% !default;\n$carousel-caption-color:            $white !default;\n\n$carousel-control-icon-width:       20px !default;\n\n$carousel-control-prev-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition:               transform .6s ease !default;\n\n\n// Close\n\n$close-font-size:                   $font-size-base * 1.5 !default;\n$close-font-weight:                 $font-weight-bold !default;\n$close-color:                       $black !default;\n$close-text-shadow:                 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size:                    90% !default;\n$code-padding-y:                    .2rem !default;\n$code-padding-x:                    .4rem !default;\n$code-color:                        #bd4147 !default;\n$code-bg:                           $gray-100 !default;\n\n$kbd-color:                         $white !default;\n$kbd-bg:                            $gray-900 !default;\n\n$pre-color:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  // Common properties for all breakpoints\n  %grid-column {\n    position: relative;\n    width: 100%;\n    min-height: 1px; // Prevent columns from collapsing when empty\n    padding-right: ($gutter / 2);\n    padding-left: ($gutter / 2);\n  }\n\n  @each $breakpoint in map-keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    // Allow columns to stretch full width below their breakpoints\n    @for $i from 1 through $columns {\n      .col#{$infix}-#{$i} {\n        @extend %grid-column;\n      }\n    }\n    .col#{$infix},\n    .col#{$infix}-auto {\n      @extend %grid-column;\n    }\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex-basis: 0;\n        flex-grow: 1;\n        max-width: 100%;\n      }\n      .col#{$infix}-auto {\n        flex: 0 0 auto;\n        width: auto;\n        max-width: none; // Reset earlier grid tiers\n      }\n\n      @for $i from 1 through $columns {\n        .col#{$infix}-#{$i} {\n          @include make-col($i, $columns);\n        }\n      }\n\n      .order#{$infix}-first {\n        order: -1;\n      }\n\n      @for $i from 1 through $columns {\n        .order#{$infix}-#{$i} {\n          order: $i;\n        }\n      }\n\n      // `$columns - 1` because offsetting by the width of an entire row isn't possible\n      @for $i from 0 through ($columns - 1) {\n        @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n          .offset#{$infix}-#{$i} {\n            @include make-col-offset($i, $columns);\n          }\n        }\n      }\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-grid.min.css b/workspace/public/css/bootstrap-grid.min.css
new file mode 100644
index 0000000..a7b220f
--- /dev/null
+++ b/workspace/public/css/bootstrap-grid.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
+/*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-grid.min.css.map b/workspace/public/css/bootstrap-grid.min.css.map
new file mode 100644
index 0000000..de236e9
--- /dev/null
+++ b/workspace/public/css/bootstrap-grid.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n  @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n  box-sizing: border-box;\n  -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n  width: device-width;\n}\n\nhtml {\n  box-sizing: border-box;\n  -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  -ms-flex-preferred-size: 0;\n      flex-basis: 0;\n  -ms-flex-positive: 1;\n      flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  -ms-flex: 0 0 auto;\n      flex: 0 0 auto;\n  width: auto;\n  max-width: none;\n}\n\n.col-1 {\n  -ms-flex: 0 0 8.333333%;\n      flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  -ms-flex: 0 0 16.666667%;\n      flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  -ms-flex: 0 0 25%;\n      flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  -ms-flex: 0 0 33.333333%;\n      flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  -ms-flex: 0 0 41.666667%;\n      flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  -ms-flex: 0 0 50%;\n      flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  -ms-flex: 0 0 58.333333%;\n      flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  -ms-flex: 0 0 66.666667%;\n      flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  -ms-flex: 0 0 75%;\n      flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  -ms-flex: 0 0 83.333333%;\n      flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  -ms-flex: 0 0 91.666667%;\n      flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  -ms-flex: 0 0 100%;\n      flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  -ms-flex-order: -1;\n      order: -1;\n}\n\n.order-1 {\n  -ms-flex-order: 1;\n      order: 1;\n}\n\n.order-2 {\n  -ms-flex-order: 2;\n      order: 2;\n}\n\n.order-3 {\n  -ms-flex-order: 3;\n      order: 3;\n}\n\n.order-4 {\n  -ms-flex-order: 4;\n      order: 4;\n}\n\n.order-5 {\n  -ms-flex-order: 5;\n      order: 5;\n}\n\n.order-6 {\n  -ms-flex-order: 6;\n      order: 6;\n}\n\n.order-7 {\n  -ms-flex-order: 7;\n      order: 7;\n}\n\n.order-8 {\n  -ms-flex-order: 8;\n      order: 8;\n}\n\n.order-9 {\n  -ms-flex-order: 9;\n      order: 9;\n}\n\n.order-10 {\n  -ms-flex-order: 10;\n      order: 10;\n}\n\n.order-11 {\n  -ms-flex-order: 11;\n      order: 11;\n}\n\n.order-12 {\n  -ms-flex-order: 12;\n      order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-sm-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-sm-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-sm-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-sm-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-sm-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-sm-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-sm-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-sm-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-sm-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-sm-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-sm-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-sm-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-sm-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-md-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-md-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-md-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-md-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-md-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-md-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-md-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-md-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-md-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-md-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-md-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-md-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-md-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-lg-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-lg-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-lg-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-lg-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-lg-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-lg-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-lg-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-lg-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-lg-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-lg-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-lg-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-lg-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-lg-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-xl-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-xl-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-xl-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-xl-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-xl-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-xl-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-xl-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-xl-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-xl-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-xl-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-xl-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-xl-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-xl-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.flex-row {\n  -ms-flex-direction: row !important;\n      flex-direction: row !important;\n}\n\n.flex-column {\n  -ms-flex-direction: column !important;\n      flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  -ms-flex-direction: row-reverse !important;\n      flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  -ms-flex-direction: column-reverse !important;\n      flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  -ms-flex-wrap: wrap !important;\n      flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  -ms-flex-wrap: nowrap !important;\n      flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  -ms-flex-wrap: wrap-reverse !important;\n      flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  -ms-flex-pack: start !important;\n      justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  -ms-flex-pack: end !important;\n      justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  -ms-flex-pack: center !important;\n      justify-content: center !important;\n}\n\n.justify-content-between {\n  -ms-flex-pack: justify !important;\n      justify-content: space-between !important;\n}\n\n.justify-content-around {\n  -ms-flex-pack: distribute !important;\n      justify-content: space-around !important;\n}\n\n.align-items-start {\n  -ms-flex-align: start !important;\n      align-items: flex-start !important;\n}\n\n.align-items-end {\n  -ms-flex-align: end !important;\n      align-items: flex-end !important;\n}\n\n.align-items-center {\n  -ms-flex-align: center !important;\n      align-items: center !important;\n}\n\n.align-items-baseline {\n  -ms-flex-align: baseline !important;\n      align-items: baseline !important;\n}\n\n.align-items-stretch {\n  -ms-flex-align: stretch !important;\n      align-items: stretch !important;\n}\n\n.align-content-start {\n  -ms-flex-line-pack: start !important;\n      align-content: flex-start !important;\n}\n\n.align-content-end {\n  -ms-flex-line-pack: end !important;\n      align-content: flex-end !important;\n}\n\n.align-content-center {\n  -ms-flex-line-pack: center !important;\n      align-content: center !important;\n}\n\n.align-content-between {\n  -ms-flex-line-pack: justify !important;\n      align-content: space-between !important;\n}\n\n.align-content-around {\n  -ms-flex-line-pack: distribute !important;\n      align-content: space-around !important;\n}\n\n.align-content-stretch {\n  -ms-flex-line-pack: stretch !important;\n      align-content: stretch !important;\n}\n\n.align-self-auto {\n  -ms-flex-item-align: auto !important;\n      align-self: auto !important;\n}\n\n.align-self-start {\n  -ms-flex-item-align: start !important;\n      align-self: flex-start !important;\n}\n\n.align-self-end {\n  -ms-flex-item-align: end !important;\n      align-self: flex-end !important;\n}\n\n.align-self-center {\n  -ms-flex-item-align: center !important;\n      align-self: center !important;\n}\n\n.align-self-baseline {\n  -ms-flex-item-align: baseline !important;\n      align-self: baseline !important;\n}\n\n.align-self-stretch {\n  -ms-flex-item-align: stretch !important;\n      align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-sm-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-sm-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-sm-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-md-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-md-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-md-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-md-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-md-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-md-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-md-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-md-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-lg-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-lg-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-lg-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-xl-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-xl-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-xl-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n  }\n\n  // Remove the negative margin from default .row, then the horizontal padding\n  // from all immediate children columns (to prevent runaway style inheritance).\n  .no-gutters {\n    margin-right: 0;\n    margin-left: 0;\n\n    > .col,\n    > [class*=\"col-\"] {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n  width: 100%;\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint, $container-max-width in $max-widths {\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      max-width: $container-max-width;\n    }\n  }\n}\n\n@mixin make-row() {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: ($grid-gutter-width / -2);\n  margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n  position: relative;\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we use `flex` values\n  // later on to override this initial width.\n  width: 100%;\n  min-height: 1px; // Prevent collapsing\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n  flex: 0 0 percentage($size / $columns);\n  // Add a `max-width` to ensure content within each column does not blow out\n  // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n  // do not appear to require this.\n  max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: $size / $columns;\n  margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $next: breakpoint-next($name, $breakpoints);\n  @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  $max: breakpoint-max($name, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($name) {\n      @content;\n    }\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  // Common properties for all breakpoints\n  %grid-column {\n    position: relative;\n    width: 100%;\n    min-height: 1px; // Prevent columns from collapsing when empty\n    padding-right: ($gutter / 2);\n    padding-left: ($gutter / 2);\n  }\n\n  @each $breakpoint in map-keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    // Allow columns to stretch full width below their breakpoints\n    @for $i from 1 through $columns {\n      .col#{$infix}-#{$i} {\n        @extend %grid-column;\n      }\n    }\n    .col#{$infix},\n    .col#{$infix}-auto {\n      @extend %grid-column;\n    }\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex-basis: 0;\n        flex-grow: 1;\n        max-width: 100%;\n      }\n      .col#{$infix}-auto {\n        flex: 0 0 auto;\n        width: auto;\n        max-width: none; // Reset earlier grid tiers\n      }\n\n      @for $i from 1 through $columns {\n        .col#{$infix}-#{$i} {\n          @include make-col($i, $columns);\n        }\n      }\n\n      .order#{$infix}-first {\n        order: -1;\n      }\n\n      @for $i from 1 through $columns {\n        .order#{$infix}-#{$i} {\n          order: $i;\n        }\n      }\n\n      // `$columns - 1` because offsetting by the width of an entire row isn't possible\n      @for $i from 0 through ($columns - 1) {\n        @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n          .offset#{$infix}-#{$i} {\n            @include make-col-offset($i, $columns);\n          }\n        }\n      }\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-reboot.css b/workspace/public/css/bootstrap-reboot.css
new file mode 100644
index 0000000..713196f
--- /dev/null
+++ b/workspace/public/css/bootstrap-reboot.css
@@ -0,0 +1,342 @@
+/*!
+ * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+  -ms-overflow-style: scrollbar;
+  -webkit-tap-highlight-color: transparent;
+}
+
+@-ms-viewport {
+  width: device-width;
+}
+
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+  outline: none !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+          text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+dfn {
+  font-style: italic;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+  -webkit-text-decoration-skip: objects;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+  outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+  -ms-overflow-style: scrollbar;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg:not(:root) {
+  overflow: hidden;
+}
+
+a,
+area,
+button,
+[role="button"],
+input:not([type="range"]),
+label,
+select,
+summary,
+textarea {
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #868e96;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: .5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+/*# sourceMappingURL=bootstrap-reboot.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-reboot.css.map b/workspace/public/css/bootstrap-reboot.css.map
new file mode 100644
index 0000000..0071ed2
--- /dev/null
+++ b/workspace/public/css/bootstrap-reboot.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n//    we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -ms-text-size-adjust: 100%; // 4\n  -ms-overflow-style: scrollbar; // 5\n  -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n  @-ms-viewport {\n    width: device-width;\n  }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  font-size: $font-size-base;\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n  cursor: help; // 3\n  border-bottom: 0; // 1\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n  font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n  font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n  -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n  }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n  font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n  // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n  // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n  -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n  overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n  padding-top: $table-cell-padding;\n  padding-bottom: $table-cell-padding;\n  color: $text-muted;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n  border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n//    controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n  // bug where setting a custom line-height prevents text from being vertically\n  // centered within the input.\n  // See https://bugs.webkit.org/show_bug.cgi?id=139848\n  // and https://github.com/twbs/bootstrap/issues/11266\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // Browsers set a default `min-width: min-content;` on fieldsets,\n  // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  // So we reset that to ensure fieldsets behave more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359\n  // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n  display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n), $grays);\n\n$blue:    #007bff !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #e83e8c !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #28a745 !default;\n$teal:    #20c997 !default;\n$cyan:    #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n), $colors);\n\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n  \"primary\":    $primary,\n  \"secondary\":  $secondary,\n  \"success\":    $success,\n  \"info\":       $info,\n  \"warning\":    $warning,\n  \"danger\":     $danger,\n  \"light\":      $light,\n  \"dark\":       $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval:      8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret:              true !default;\n$enable-rounded:            true !default;\n$enable-shadows:            false !default;\n$enable-gradients:          false !default;\n$enable-transitions:        true !default;\n$enable-hover-media-query:  false !default;\n$enable-grid-classes:       true !default;\n$enable-print-styles:       true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: ($spacer * .25),\n  2: ($spacer * .5),\n  3: $spacer,\n  4: ($spacer * 1.5),\n  5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n  25: 25%,\n  50: 50%,\n  75: 75%,\n  100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                theme-color(\"primary\") !default;\n$link-decoration:           none !default;\n$link-hover-color:          darken($link-color, 15%) !default;\n$link-hover-decoration:     underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 992px,\n  xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns:                12 !default;\n$grid-gutter-width:           30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg:              1.5 !default;\n$line-height-sm:              1.5 !default;\n\n$border-width:                1px !default;\n$border-color:                $gray-200 !default;\n\n$border-radius:               .25rem !default;\n$border-radius-lg:            .3rem !default;\n$border-radius-sm:            .2rem !default;\n\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"primary\") !default;\n\n$caret-width:                 .3em !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n$transition-collapse:         height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace:       \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base:            $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base:              1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg:                ($font-size-base * 1.25) !default;\n$font-size-sm:                ($font-size-base * .875) !default;\n\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-bold:            700 !default;\n\n$font-weight-base:            $font-weight-normal !default;\n$line-height-base:            1.5 !default;\n\n$h1-font-size:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n\n$headings-margin-bottom:      ($spacer / 2) !default;\n$headings-font-family:        inherit !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n\n$display1-size:               6rem !default;\n$display2-size:               5.5rem !default;\n$display3-size:               4.5rem !default;\n$display4-size:               3.5rem !default;\n\n$display1-weight:             300 !default;\n$display2-weight:             300 !default;\n$display3-weight:             300 !default;\n$display4-weight:             300 !default;\n$display-line-height:         $headings-line-height !default;\n\n$lead-font-size:              ($font-size-base * 1.25) !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             80% !default;\n\n$text-muted:                  $gray-600 !default;\n\n$blockquote-small-color:      $gray-600 !default;\n$blockquote-font-size:        ($font-size-base * 1.25) !default;\n\n$hr-border-color:             rgba($black,.1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight:      $font-weight-bold !default;\n\n$list-inline-padding:         5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding:          .75rem !default;\n$table-cell-padding-sm:       .3rem !default;\n\n$table-bg:                    transparent !default;\n$table-accent-bg:             rgba($black,.05) !default;\n$table-hover-bg:              rgba($black,.075) !default;\n$table-active-bg:             $table-hover-bg !default;\n\n$table-border-width:          $border-width !default;\n$table-border-color:          $gray-200 !default;\n\n$table-head-bg:               $gray-200 !default;\n$table-head-color:            $gray-700 !default;\n\n$table-dark-bg:               $gray-900 !default;\n$table-dark-accent-bg:        rgba($white, .05) !default;\n$table-dark-hover-bg:         rgba($white, .075) !default;\n$table-dark-border-color:     lighten($gray-900, 7.5%) !default;\n$table-dark-color:            $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:       .2rem !default;\n$input-btn-focus-color:       rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow:  0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-line-height-sm:    $line-height-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-line-height-lg:    $line-height-lg !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color:     $gray-600 !default;\n\n$btn-block-spacing-y:         .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           $border-radius !default;\n$btn-border-radius-lg:        $border-radius-lg !default;\n$btn-border-radius-sm:        $border-radius-sm !default;\n\n$btn-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg:                              $white !default;\n$input-disabled-bg:                     $gray-200 !default;\n\n$input-color:                           $gray-700 !default;\n$input-border-color:                    $gray-400 !default;\n$input-btn-border-width:                $border-width !default; // For form controls and buttons\n$input-box-shadow:                      inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius:                   $border-radius !default;\n$input-border-radius-lg:                $border-radius-lg !default;\n$input-border-radius-sm:                $border-radius-sm !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               $gray-600 !default;\n\n$input-height-border:                   $input-btn-border-width * 2 !default;\n\n$input-height-inner:                    ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height:                          calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm:                 ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm:                       calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg:                 ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg:                       calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition:                      border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top:                  .25rem !default;\n\n$form-check-margin-bottom:              .5rem !default;\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .25rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n\n$form-group-margin-bottom:              1rem !default;\n\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  $gray-200 !default;\n$input-group-addon-border-color:        $input-border-color !default;\n\n$custom-control-gutter:                 1.5rem !default;\n$custom-control-spacer-y:               .25rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           #ddd !default;\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg:          $gray-200 !default;\n$custom-control-description-disabled-color:     $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $white !default;\n$custom-control-indicator-checked-bg:           theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n\n$custom-control-indicator-focus-box-shadow:     0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color:         $white !default;\n$custom-control-indicator-active-bg:            lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:    theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:  str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y:           .375rem !default;\n$custom-select-padding-x:          .75rem !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height:         $input-btn-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $white !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     #333 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width:        $input-btn-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n\n$custom-select-focus-border-color:  lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow:    inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm:        75% !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-width:                 14rem !default;\n$custom-file-focus-box-shadow:      0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y:             $input-btn-padding-y !default;\n$custom-file-padding-x:             $input-btn-padding-x !default;\n$custom-file-line-height:           $input-btn-line-height !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-btn-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  placeholder: (\n    en: \"Choose file...\"\n  ),\n  button-label: (\n    en: \"Browse\"\n  )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-bg:                       $white !default;\n$dropdown-border-color:             rgba($black,.15) !default;\n$dropdown-border-width:             $border-width !default;\n$dropdown-divider-bg:               $gray-200 !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color:               $gray-900 !default;\n$dropdown-link-hover-color:         darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg:            $gray-100 !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      $gray-600 !default;\n\n$dropdown-item-padding-y:           .25rem !default;\n$dropdown-item-padding-x:           1.5rem !default;\n\n$dropdown-header-color:             $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-modal-backdrop:             1040 !default;\n$zindex-modal:                      1050 !default;\n$zindex-popover:                    1060 !default;\n$zindex-tooltip:                    1070 !default;\n\n// Navs\n\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-disabled-color:           $gray-600 !default;\n\n$nav-tabs-border-color:             #ddd !default;\n$nav-tabs-border-width:             $border-width !default;\n$nav-tabs-border-radius:            $border-radius !default;\n$nav-tabs-link-hover-border-color:  $gray-200 !default;\n$nav-tabs-link-active-color:        $gray-700 !default;\n$nav-tabs-link-active-bg:           $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius:           $border-radius !default;\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y:                  ($spacer / 2) !default;\n$navbar-padding-x:                  $spacer !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height:                   ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      $btn-border-radius !default;\n\n$navbar-dark-color:                 rgba($white,.5) !default;\n$navbar-dark-hover-color:           rgba($white,.75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg:       str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color:  rgba($white,.1) !default;\n\n$navbar-light-color:                rgba($black,.5) !default;\n$navbar-light-hover-color:          rgba($black,.7) !default;\n$navbar-light-active-color:         rgba($black,.9) !default;\n$navbar-light-disabled-color:       rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg:      str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y:              .5rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n$pagination-line-height:            1.25 !default;\n\n$pagination-color:                  $link-color !default;\n$pagination-bg:                     $white !default;\n$pagination-border-width:           $border-width !default;\n$pagination-border-color:           #ddd !default;\n\n$pagination-hover-color:            $link-hover-color !default;\n$pagination-hover-bg:               $gray-200 !default;\n$pagination-hover-border-color:     #ddd !default;\n\n$pagination-active-color:           $white !default;\n$pagination-active-bg:              theme-color(\"primary\") !default;\n$pagination-active-border-color:    theme-color(\"primary\") !default;\n\n$pagination-disabled-color:         $gray-600 !default;\n$pagination-disabled-bg:            $white !default;\n$pagination-disabled-border-color:  #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-bg:                      $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y:                     .75rem !default;\n$card-spacer-x:                     1.25rem !default;\n$card-border-width:                 $border-width !default;\n$card-border-radius:                $border-radius !default;\n$card-border-color:                 rgba($black,.125) !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg:                       rgba($black, .03) !default;\n$card-bg:                           $white !default;\n\n$card-img-overlay-padding:          1.25rem !default;\n\n$card-group-margin:                 ($grid-gutter-width / 2) !default;\n$card-deck-margin:                  $card-group-margin !default;\n\n$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     $white !default;\n$tooltip-bg:                        $black !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 3px !default;\n$tooltip-padding-x:                 8px !default;\n$tooltip-margin:                    0 !default;\n\n\n$tooltip-arrow-width:               5px !default;\n$tooltip-arrow-height:              5px !default;\n$tooltip-arrow-color:               $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg:                        $white !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              $border-width !default;\n$popover-border-color:              rgba($black,.2) !default;\n$popover-box-shadow:                0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg:                 darken($popover-bg, 3%) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          .75rem !default;\n\n$popover-body-color:                $body-color !default;\n$popover-body-padding-y:            $popover-header-padding-y !default;\n$popover-body-padding-x:            $popover-header-padding-x !default;\n\n$popover-arrow-width:               .8rem !default;\n$popover-arrow-height:              .4rem !default;\n$popover-arrow-color:               $popover-bg !default;\n\n$popover-arrow-outer-color:         fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size:                   75% !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               15px !default;\n\n$modal-dialog-margin:               10px !default;\n$modal-dialog-margin-y-sm-up:       30px !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-bg:                  $white !default;\n$modal-content-border-color:        rgba($black,.2) !default;\n$modal-content-border-width:        $border-width !default;\n$modal-content-box-shadow-xs:       0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up:    0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n$modal-header-border-color:         $gray-200 !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n$modal-header-padding:              15px !default;\n\n$modal-lg:                          800px !default;\n$modal-md:                          500px !default;\n$modal-sm:                          300px !default;\n\n$modal-transition:                  transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y:                   .75rem !default;\n$alert-padding-x:                   1.25rem !default;\n$alert-margin-bottom:               1rem !default;\n$alert-border-radius:               $border-radius !default;\n$alert-link-font-weight:            $font-weight-bold !default;\n$alert-border-width:                $border-width !default;\n\n\n// Progress bars\n\n$progress-height:                   1rem !default;\n$progress-font-size:                ($font-size-base * .75) !default;\n$progress-bg:                       $gray-200 !default;\n$progress-border-radius:            $border-radius !default;\n$progress-box-shadow:               inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"primary\") !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n\n// List group\n\n$list-group-bg:                     $white !default;\n$list-group-border-color:           rgba($black,.125) !default;\n$list-group-border-width:           $border-width !default;\n$list-group-border-radius:          $border-radius !default;\n\n$list-group-item-padding-y:         .75rem !default;\n$list-group-item-padding-x:         1.25rem !default;\n\n$list-group-hover-bg:               $gray-100 !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         $gray-600 !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           $gray-700 !default;\n$list-group-action-hover-color:     $list-group-action-color !default;\n\n$list-group-action-active-color:    $body-color !default;\n$list-group-action-active-bg:       $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      $body-bg !default;\n$thumbnail-border-width:            $border-width !default;\n$thumbnail-border-color:            #ddd !default;\n$thumbnail-border-radius:           $border-radius !default;\n$thumbnail-box-shadow:              0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition:              all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size:          90% !default;\n$figure-caption-color:              $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y:              .75rem !default;\n$breadcrumb-padding-x:              1rem !default;\n$breadcrumb-item-padding:           .5rem !default;\n\n$breadcrumb-margin-bottom:          1rem !default;\n\n$breadcrumb-bg:                     $gray-200 !default;\n$breadcrumb-divider-color:          $gray-600 !default;\n$breadcrumb-active-color:           $gray-600 !default;\n$breadcrumb-divider:                \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color:            $white !default;\n$carousel-control-width:            15% !default;\n$carousel-control-opacity:          .5 !default;\n\n$carousel-indicator-width:          30px !default;\n$carousel-indicator-height:         3px !default;\n$carousel-indicator-spacer:         3px !default;\n$carousel-indicator-active-bg:      $white !default;\n\n$carousel-caption-width:            70% !default;\n$carousel-caption-color:            $white !default;\n\n$carousel-control-icon-width:       20px !default;\n\n$carousel-control-prev-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition:               transform .6s ease !default;\n\n\n// Close\n\n$close-font-size:                   $font-size-base * 1.5 !default;\n$close-font-weight:                 $font-weight-bold !default;\n$close-color:                       $black !default;\n$close-text-shadow:                 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size:                    90% !default;\n$code-padding-y:                    .2rem !default;\n$code-padding-x:                    .4rem !default;\n$code-color:                        #bd4147 !default;\n$code-bg:                           $gray-100 !default;\n\n$kbd-color:                         $white !default;\n$kbd-bg:                            $gray-900 !default;\n\n$pre-color:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n","// stylelint-disable indentation\n@mixin hover {\n  // TODO: re-enable along with mq4-hover-shim\n//  @if $enable-hover-media-query {\n//    // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n//    // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n//    @media (hover: hover) {\n//      &:hover { @content }\n//    }\n//  }\n//  @else {\n    &:hover { @content; }\n//  }\n}\n\n\n@mixin hover-focus {\n  @if $enable-hover-media-query {\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin plain-hover-focus {\n  @if $enable-hover-media-query {\n    &,\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &,\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin hover-focus-active {\n  @if $enable-hover-media-query {\n    &:focus,\n    &:active {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:active,\n    &:hover {\n      @content;\n    }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-reboot.min.css b/workspace/public/css/bootstrap-reboot.min.css
new file mode 100644
index 0000000..3f4f1a8
--- /dev/null
+++ b/workspace/public/css/bootstrap-reboot.min.css
@@ -0,0 +1,8 @@
+/*!
+ * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
+/*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap-reboot.min.css.map b/workspace/public/css/bootstrap-reboot.min.css.map
new file mode 100644
index 0000000..4b8e662
--- /dev/null
+++ b/workspace/public/css/bootstrap-reboot.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n//    we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -ms-text-size-adjust: 100%; // 4\n  -ms-overflow-style: scrollbar; // 5\n  -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n  @-ms-viewport {\n    width: device-width;\n  }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  font-size: $font-size-base;\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n  cursor: help; // 3\n  border-bottom: 0; // 1\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n  font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n  font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n  -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n  }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n  font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n  // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n  // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n  -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n  overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n  padding-top: $table-cell-padding;\n  padding-bottom: $table-cell-padding;\n  color: $text-muted;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n  border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n//    controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n  // bug where setting a custom line-height prevents text from being vertically\n  // centered within the input.\n  // See https://bugs.webkit.org/show_bug.cgi?id=139848\n  // and https://github.com/twbs/bootstrap/issues/11266\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // Browsers set a default `min-width: min-content;` on fieldsets,\n  // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  // So we reset that to ensure fieldsets behave more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359\n  // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n  display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable indentation\n@mixin hover {\n  // TODO: re-enable along with mq4-hover-shim\n//  @if $enable-hover-media-query {\n//    // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n//    // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n//    @media (hover: hover) {\n//      &:hover { @content }\n//    }\n//  }\n//  @else {\n    &:hover { @content; }\n//  }\n}\n\n\n@mixin hover-focus {\n  @if $enable-hover-media-query {\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin plain-hover-focus {\n  @if $enable-hover-media-query {\n    &,\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &,\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin hover-focus-active {\n  @if $enable-hover-media-query {\n    &:focus,\n    &:active {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:active,\n    &:hover {\n      @content;\n    }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap.css b/workspace/public/css/bootstrap.css
new file mode 100644
index 0000000..fa55c20
--- /dev/null
+++ b/workspace/public/css/bootstrap.css
@@ -0,0 +1,8374 @@
+/*!
+ * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+:root {
+  --blue: #007bff;
+  --indigo: #6610f2;
+  --purple: #6f42c1;
+  --pink: #e83e8c;
+  --red: #dc3545;
+  --orange: #fd7e14;
+  --yellow: #ffc107;
+  --green: #28a745;
+  --teal: #20c997;
+  --cyan: #17a2b8;
+  --white: #fff;
+  --gray: #868e96;
+  --gray-dark: #343a40;
+  --primary: #007bff;
+  --secondary: #868e96;
+  --success: #28a745;
+  --info: #17a2b8;
+  --warning: #ffc107;
+  --danger: #dc3545;
+  --light: #f8f9fa;
+  --dark: #343a40;
+  --breakpoint-xs: 0;
+  --breakpoint-sm: 576px;
+  --breakpoint-md: 768px;
+  --breakpoint-lg: 992px;
+  --breakpoint-xl: 1200px;
+  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  --font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+@media print {
+  *,
+  *::before,
+  *::after {
+    text-shadow: none !important;
+    box-shadow: none !important;
+  }
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+  abbr[title]::after {
+    content: " (" attr(title) ")";
+  }
+  pre {
+    white-space: pre-wrap !important;
+  }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+    page-break-inside: avoid;
+  }
+  thead {
+    display: table-header-group;
+  }
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+  .navbar {
+    display: none;
+  }
+  .badge {
+    border: 1px solid #000;
+  }
+  .table {
+    border-collapse: collapse !important;
+  }
+  .table td,
+  .table th {
+    background-color: #fff !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+    border: 1px solid #ddd !important;
+  }
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+  -ms-overflow-style: scrollbar;
+  -webkit-tap-highlight-color: transparent;
+}
+
+@-ms-viewport {
+  width: device-width;
+}
+
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block;
+}
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #212529;
+  text-align: left;
+  background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+  outline: none !important;
+}
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+}
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  -webkit-text-decoration: underline dotted;
+          text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0;
+}
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0;
+}
+
+dt {
+  font-weight: 700;
+}
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0;
+}
+
+blockquote {
+  margin: 0 0 1rem;
+}
+
+dfn {
+  font-style: italic;
+}
+
+b,
+strong {
+  font-weight: bolder;
+}
+
+small {
+  font-size: 80%;
+}
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+
+sub {
+  bottom: -.25em;
+}
+
+sup {
+  top: -.5em;
+}
+
+a {
+  color: #007bff;
+  text-decoration: none;
+  background-color: transparent;
+  -webkit-text-decoration-skip: objects;
+}
+
+a:hover {
+  color: #0056b3;
+  text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
+  color: inherit;
+  text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+  outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+  -ms-overflow-style: scrollbar;
+}
+
+figure {
+  margin: 0 0 1rem;
+}
+
+img {
+  vertical-align: middle;
+  border-style: none;
+}
+
+svg:not(:root) {
+  overflow: hidden;
+}
+
+a,
+area,
+button,
+[role="button"],
+input:not([type="range"]),
+label,
+select,
+summary,
+textarea {
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #868e96;
+  text-align: left;
+  caption-side: bottom;
+}
+
+th {
+  text-align: inherit;
+}
+
+label {
+  display: inline-block;
+  margin-bottom: .5rem;
+}
+
+button {
+  border-radius: 0;
+}
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+
+button,
+input {
+  overflow: visible;
+}
+
+button,
+select {
+  text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox;
+}
+
+textarea {
+  overflow: auto;
+  resize: vertical;
+}
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal;
+}
+
+progress {
+  vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button;
+}
+
+output {
+  display: inline-block;
+}
+
+summary {
+  display: list-item;
+}
+
+template {
+  display: none;
+}
+
+[hidden] {
+  display: none !important;
+}
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+  margin-bottom: 0.5rem;
+  font-family: inherit;
+  font-weight: 500;
+  line-height: 1.2;
+  color: inherit;
+}
+
+h1, .h1 {
+  font-size: 2.5rem;
+}
+
+h2, .h2 {
+  font-size: 2rem;
+}
+
+h3, .h3 {
+  font-size: 1.75rem;
+}
+
+h4, .h4 {
+  font-size: 1.5rem;
+}
+
+h5, .h5 {
+  font-size: 1.25rem;
+}
+
+h6, .h6 {
+  font-size: 1rem;
+}
+
+.lead {
+  font-size: 1.25rem;
+  font-weight: 300;
+}
+
+.display-1 {
+  font-size: 6rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-2 {
+  font-size: 5.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-3 {
+  font-size: 4.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+.display-4 {
+  font-size: 3.5rem;
+  font-weight: 300;
+  line-height: 1.2;
+}
+
+hr {
+  margin-top: 1rem;
+  margin-bottom: 1rem;
+  border: 0;
+  border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+small,
+.small {
+  font-size: 80%;
+  font-weight: 400;
+}
+
+mark,
+.mark {
+  padding: 0.2em;
+  background-color: #fcf8e3;
+}
+
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline {
+  padding-left: 0;
+  list-style: none;
+}
+
+.list-inline-item {
+  display: inline-block;
+}
+
+.list-inline-item:not(:last-child) {
+  margin-right: 5px;
+}
+
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+
+.blockquote {
+  margin-bottom: 1rem;
+  font-size: 1.25rem;
+}
+
+.blockquote-footer {
+  display: block;
+  font-size: 80%;
+  color: #868e96;
+}
+
+.blockquote-footer::before {
+  content: "\2014 \00A0";
+}
+
+.img-fluid {
+  max-width: 100%;
+  height: auto;
+}
+
+.img-thumbnail {
+  padding: 0.25rem;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-radius: 0.25rem;
+  transition: all 0.2s ease-in-out;
+  max-width: 100%;
+  height: auto;
+}
+
+.figure {
+  display: inline-block;
+}
+
+.figure-img {
+  margin-bottom: 0.5rem;
+  line-height: 1;
+}
+
+.figure-caption {
+  font-size: 90%;
+  color: #868e96;
+}
+
+code,
+kbd,
+pre,
+samp {
+  font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+code {
+  padding: 0.2rem 0.4rem;
+  font-size: 90%;
+  color: #bd4147;
+  background-color: #f8f9fa;
+  border-radius: 0.25rem;
+}
+
+a > code {
+  padding: 0;
+  color: inherit;
+  background-color: inherit;
+}
+
+kbd {
+  padding: 0.2rem 0.4rem;
+  font-size: 90%;
+  color: #fff;
+  background-color: #212529;
+  border-radius: 0.2rem;
+}
+
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  font-weight: 700;
+}
+
+pre {
+  display: block;
+  margin-top: 0;
+  margin-bottom: 1rem;
+  font-size: 90%;
+  color: #212529;
+}
+
+pre code {
+  padding: 0;
+  font-size: inherit;
+  color: inherit;
+  background-color: transparent;
+  border-radius: 0;
+}
+
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+@media (min-width: 576px) {
+  .container {
+    max-width: 540px;
+  }
+}
+
+@media (min-width: 768px) {
+  .container {
+    max-width: 720px;
+  }
+}
+
+@media (min-width: 992px) {
+  .container {
+    max-width: 960px;
+  }
+}
+
+@media (min-width: 1200px) {
+  .container {
+    max-width: 1140px;
+  }
+}
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+
+.col {
+  -ms-flex-preferred-size: 0;
+      flex-basis: 0;
+  -ms-flex-positive: 1;
+      flex-grow: 1;
+  max-width: 100%;
+}
+
+.col-auto {
+  -ms-flex: 0 0 auto;
+      flex: 0 0 auto;
+  width: auto;
+  max-width: none;
+}
+
+.col-1 {
+  -ms-flex: 0 0 8.333333%;
+      flex: 0 0 8.333333%;
+  max-width: 8.333333%;
+}
+
+.col-2 {
+  -ms-flex: 0 0 16.666667%;
+      flex: 0 0 16.666667%;
+  max-width: 16.666667%;
+}
+
+.col-3 {
+  -ms-flex: 0 0 25%;
+      flex: 0 0 25%;
+  max-width: 25%;
+}
+
+.col-4 {
+  -ms-flex: 0 0 33.333333%;
+      flex: 0 0 33.333333%;
+  max-width: 33.333333%;
+}
+
+.col-5 {
+  -ms-flex: 0 0 41.666667%;
+      flex: 0 0 41.666667%;
+  max-width: 41.666667%;
+}
+
+.col-6 {
+  -ms-flex: 0 0 50%;
+      flex: 0 0 50%;
+  max-width: 50%;
+}
+
+.col-7 {
+  -ms-flex: 0 0 58.333333%;
+      flex: 0 0 58.333333%;
+  max-width: 58.333333%;
+}
+
+.col-8 {
+  -ms-flex: 0 0 66.666667%;
+      flex: 0 0 66.666667%;
+  max-width: 66.666667%;
+}
+
+.col-9 {
+  -ms-flex: 0 0 75%;
+      flex: 0 0 75%;
+  max-width: 75%;
+}
+
+.col-10 {
+  -ms-flex: 0 0 83.333333%;
+      flex: 0 0 83.333333%;
+  max-width: 83.333333%;
+}
+
+.col-11 {
+  -ms-flex: 0 0 91.666667%;
+      flex: 0 0 91.666667%;
+  max-width: 91.666667%;
+}
+
+.col-12 {
+  -ms-flex: 0 0 100%;
+      flex: 0 0 100%;
+  max-width: 100%;
+}
+
+.order-first {
+  -ms-flex-order: -1;
+      order: -1;
+}
+
+.order-1 {
+  -ms-flex-order: 1;
+      order: 1;
+}
+
+.order-2 {
+  -ms-flex-order: 2;
+      order: 2;
+}
+
+.order-3 {
+  -ms-flex-order: 3;
+      order: 3;
+}
+
+.order-4 {
+  -ms-flex-order: 4;
+      order: 4;
+}
+
+.order-5 {
+  -ms-flex-order: 5;
+      order: 5;
+}
+
+.order-6 {
+  -ms-flex-order: 6;
+      order: 6;
+}
+
+.order-7 {
+  -ms-flex-order: 7;
+      order: 7;
+}
+
+.order-8 {
+  -ms-flex-order: 8;
+      order: 8;
+}
+
+.order-9 {
+  -ms-flex-order: 9;
+      order: 9;
+}
+
+.order-10 {
+  -ms-flex-order: 10;
+      order: 10;
+}
+
+.order-11 {
+  -ms-flex-order: 11;
+      order: 11;
+}
+
+.order-12 {
+  -ms-flex-order: 12;
+      order: 12;
+}
+
+.offset-1 {
+  margin-left: 8.333333%;
+}
+
+.offset-2 {
+  margin-left: 16.666667%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.offset-4 {
+  margin-left: 33.333333%;
+}
+
+.offset-5 {
+  margin-left: 41.666667%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.offset-7 {
+  margin-left: 58.333333%;
+}
+
+.offset-8 {
+  margin-left: 66.666667%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.offset-10 {
+  margin-left: 83.333333%;
+}
+
+.offset-11 {
+  margin-left: 91.666667%;
+}
+
+@media (min-width: 576px) {
+  .col-sm {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-sm-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-sm-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-sm-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-sm-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-sm-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-sm-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-sm-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-sm-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-sm-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-sm-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-sm-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-sm-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-sm-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-sm-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-sm-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-sm-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-sm-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-sm-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-sm-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-sm-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-sm-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-sm-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-sm-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-sm-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-sm-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-sm-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-sm-0 {
+    margin-left: 0;
+  }
+  .offset-sm-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-sm-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-sm-3 {
+    margin-left: 25%;
+  }
+  .offset-sm-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-sm-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-sm-6 {
+    margin-left: 50%;
+  }
+  .offset-sm-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-sm-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-sm-9 {
+    margin-left: 75%;
+  }
+  .offset-sm-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-sm-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 768px) {
+  .col-md {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-md-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-md-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-md-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-md-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-md-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-md-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-md-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-md-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-md-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-md-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-md-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-md-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-md-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-md-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-md-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-md-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-md-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-md-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-md-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-md-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-md-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-md-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-md-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-md-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-md-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-md-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-md-0 {
+    margin-left: 0;
+  }
+  .offset-md-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-md-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-md-3 {
+    margin-left: 25%;
+  }
+  .offset-md-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-md-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-md-6 {
+    margin-left: 50%;
+  }
+  .offset-md-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-md-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-md-9 {
+    margin-left: 75%;
+  }
+  .offset-md-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-md-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 992px) {
+  .col-lg {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-lg-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-lg-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-lg-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-lg-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-lg-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-lg-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-lg-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-lg-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-lg-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-lg-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-lg-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-lg-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-lg-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-lg-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-lg-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-lg-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-lg-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-lg-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-lg-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-lg-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-lg-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-lg-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-lg-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-lg-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-lg-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-lg-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-lg-0 {
+    margin-left: 0;
+  }
+  .offset-lg-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-lg-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-lg-3 {
+    margin-left: 25%;
+  }
+  .offset-lg-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-lg-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-lg-6 {
+    margin-left: 50%;
+  }
+  .offset-lg-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-lg-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-lg-9 {
+    margin-left: 75%;
+  }
+  .offset-lg-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-lg-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+@media (min-width: 1200px) {
+  .col-xl {
+    -ms-flex-preferred-size: 0;
+        flex-basis: 0;
+    -ms-flex-positive: 1;
+        flex-grow: 1;
+    max-width: 100%;
+  }
+  .col-xl-auto {
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+  }
+  .col-xl-1 {
+    -ms-flex: 0 0 8.333333%;
+        flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+  }
+  .col-xl-2 {
+    -ms-flex: 0 0 16.666667%;
+        flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+  }
+  .col-xl-3 {
+    -ms-flex: 0 0 25%;
+        flex: 0 0 25%;
+    max-width: 25%;
+  }
+  .col-xl-4 {
+    -ms-flex: 0 0 33.333333%;
+        flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+  }
+  .col-xl-5 {
+    -ms-flex: 0 0 41.666667%;
+        flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+  }
+  .col-xl-6 {
+    -ms-flex: 0 0 50%;
+        flex: 0 0 50%;
+    max-width: 50%;
+  }
+  .col-xl-7 {
+    -ms-flex: 0 0 58.333333%;
+        flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+  }
+  .col-xl-8 {
+    -ms-flex: 0 0 66.666667%;
+        flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+  }
+  .col-xl-9 {
+    -ms-flex: 0 0 75%;
+        flex: 0 0 75%;
+    max-width: 75%;
+  }
+  .col-xl-10 {
+    -ms-flex: 0 0 83.333333%;
+        flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+  }
+  .col-xl-11 {
+    -ms-flex: 0 0 91.666667%;
+        flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+  .col-xl-12 {
+    -ms-flex: 0 0 100%;
+        flex: 0 0 100%;
+    max-width: 100%;
+  }
+  .order-xl-first {
+    -ms-flex-order: -1;
+        order: -1;
+  }
+  .order-xl-1 {
+    -ms-flex-order: 1;
+        order: 1;
+  }
+  .order-xl-2 {
+    -ms-flex-order: 2;
+        order: 2;
+  }
+  .order-xl-3 {
+    -ms-flex-order: 3;
+        order: 3;
+  }
+  .order-xl-4 {
+    -ms-flex-order: 4;
+        order: 4;
+  }
+  .order-xl-5 {
+    -ms-flex-order: 5;
+        order: 5;
+  }
+  .order-xl-6 {
+    -ms-flex-order: 6;
+        order: 6;
+  }
+  .order-xl-7 {
+    -ms-flex-order: 7;
+        order: 7;
+  }
+  .order-xl-8 {
+    -ms-flex-order: 8;
+        order: 8;
+  }
+  .order-xl-9 {
+    -ms-flex-order: 9;
+        order: 9;
+  }
+  .order-xl-10 {
+    -ms-flex-order: 10;
+        order: 10;
+  }
+  .order-xl-11 {
+    -ms-flex-order: 11;
+        order: 11;
+  }
+  .order-xl-12 {
+    -ms-flex-order: 12;
+        order: 12;
+  }
+  .offset-xl-0 {
+    margin-left: 0;
+  }
+  .offset-xl-1 {
+    margin-left: 8.333333%;
+  }
+  .offset-xl-2 {
+    margin-left: 16.666667%;
+  }
+  .offset-xl-3 {
+    margin-left: 25%;
+  }
+  .offset-xl-4 {
+    margin-left: 33.333333%;
+  }
+  .offset-xl-5 {
+    margin-left: 41.666667%;
+  }
+  .offset-xl-6 {
+    margin-left: 50%;
+  }
+  .offset-xl-7 {
+    margin-left: 58.333333%;
+  }
+  .offset-xl-8 {
+    margin-left: 66.666667%;
+  }
+  .offset-xl-9 {
+    margin-left: 75%;
+  }
+  .offset-xl-10 {
+    margin-left: 83.333333%;
+  }
+  .offset-xl-11 {
+    margin-left: 91.666667%;
+  }
+}
+
+.table {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: 1rem;
+  background-color: transparent;
+}
+
+.table th,
+.table td {
+  padding: 0.75rem;
+  vertical-align: top;
+  border-top: 1px solid #e9ecef;
+}
+
+.table thead th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #e9ecef;
+}
+
+.table tbody + tbody {
+  border-top: 2px solid #e9ecef;
+}
+
+.table .table {
+  background-color: #fff;
+}
+
+.table-sm th,
+.table-sm td {
+  padding: 0.3rem;
+}
+
+.table-bordered {
+  border: 1px solid #e9ecef;
+}
+
+.table-bordered th,
+.table-bordered td {
+  border: 1px solid #e9ecef;
+}
+
+.table-bordered thead th,
+.table-bordered thead td {
+  border-bottom-width: 2px;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+.table-hover tbody tr:hover {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-primary,
+.table-primary > th,
+.table-primary > td {
+  background-color: #b8daff;
+}
+
+.table-hover .table-primary:hover {
+  background-color: #9fcdff;
+}
+
+.table-hover .table-primary:hover > td,
+.table-hover .table-primary:hover > th {
+  background-color: #9fcdff;
+}
+
+.table-secondary,
+.table-secondary > th,
+.table-secondary > td {
+  background-color: #dddfe2;
+}
+
+.table-hover .table-secondary:hover {
+  background-color: #cfd2d6;
+}
+
+.table-hover .table-secondary:hover > td,
+.table-hover .table-secondary:hover > th {
+  background-color: #cfd2d6;
+}
+
+.table-success,
+.table-success > th,
+.table-success > td {
+  background-color: #c3e6cb;
+}
+
+.table-hover .table-success:hover {
+  background-color: #b1dfbb;
+}
+
+.table-hover .table-success:hover > td,
+.table-hover .table-success:hover > th {
+  background-color: #b1dfbb;
+}
+
+.table-info,
+.table-info > th,
+.table-info > td {
+  background-color: #bee5eb;
+}
+
+.table-hover .table-info:hover {
+  background-color: #abdde5;
+}
+
+.table-hover .table-info:hover > td,
+.table-hover .table-info:hover > th {
+  background-color: #abdde5;
+}
+
+.table-warning,
+.table-warning > th,
+.table-warning > td {
+  background-color: #ffeeba;
+}
+
+.table-hover .table-warning:hover {
+  background-color: #ffe8a1;
+}
+
+.table-hover .table-warning:hover > td,
+.table-hover .table-warning:hover > th {
+  background-color: #ffe8a1;
+}
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+  background-color: #f5c6cb;
+}
+
+.table-hover .table-danger:hover {
+  background-color: #f1b0b7;
+}
+
+.table-hover .table-danger:hover > td,
+.table-hover .table-danger:hover > th {
+  background-color: #f1b0b7;
+}
+
+.table-light,
+.table-light > th,
+.table-light > td {
+  background-color: #fdfdfe;
+}
+
+.table-hover .table-light:hover {
+  background-color: #ececf6;
+}
+
+.table-hover .table-light:hover > td,
+.table-hover .table-light:hover > th {
+  background-color: #ececf6;
+}
+
+.table-dark,
+.table-dark > th,
+.table-dark > td {
+  background-color: #c6c8ca;
+}
+
+.table-hover .table-dark:hover {
+  background-color: #b9bbbe;
+}
+
+.table-hover .table-dark:hover > td,
+.table-hover .table-dark:hover > th {
+  background-color: #b9bbbe;
+}
+
+.table-active,
+.table-active > th,
+.table-active > td {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover > td,
+.table-hover .table-active:hover > th {
+  background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table .thead-dark th {
+  color: #fff;
+  background-color: #212529;
+  border-color: #32383e;
+}
+
+.table .thead-light th {
+  color: #495057;
+  background-color: #e9ecef;
+  border-color: #e9ecef;
+}
+
+.table-dark {
+  color: #fff;
+  background-color: #212529;
+}
+
+.table-dark th,
+.table-dark td,
+.table-dark thead th {
+  border-color: #32383e;
+}
+
+.table-dark.table-bordered {
+  border: 0;
+}
+
+.table-dark.table-striped tbody tr:nth-of-type(odd) {
+  background-color: rgba(255, 255, 255, 0.05);
+}
+
+.table-dark.table-hover tbody tr:hover {
+  background-color: rgba(255, 255, 255, 0.075);
+}
+
+@media (max-width: 575px) {
+  .table-responsive-sm {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-sm.table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 767px) {
+  .table-responsive-md {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-md.table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 991px) {
+  .table-responsive-lg {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-lg.table-bordered {
+    border: 0;
+  }
+}
+
+@media (max-width: 1199px) {
+  .table-responsive-xl {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+  }
+  .table-responsive-xl.table-bordered {
+    border: 0;
+  }
+}
+
+.table-responsive {
+  display: block;
+  width: 100%;
+  overflow-x: auto;
+  -webkit-overflow-scrolling: touch;
+  -ms-overflow-style: -ms-autohiding-scrollbar;
+}
+
+.table-responsive.table-bordered {
+  border: 0;
+}
+
+.form-control {
+  display: block;
+  width: 100%;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  background-image: none;
+  background-clip: padding-box;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+}
+
+.form-control::-ms-expand {
+  background-color: transparent;
+  border: 0;
+}
+
+.form-control:focus {
+  color: #495057;
+  background-color: #fff;
+  border-color: #80bdff;
+  outline: none;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.form-control::-webkit-input-placeholder {
+  color: #868e96;
+  opacity: 1;
+}
+
+.form-control:-ms-input-placeholder {
+  color: #868e96;
+  opacity: 1;
+}
+
+.form-control::-ms-input-placeholder {
+  color: #868e96;
+  opacity: 1;
+}
+
+.form-control::placeholder {
+  color: #868e96;
+  opacity: 1;
+}
+
+.form-control:disabled, .form-control[readonly] {
+  background-color: #e9ecef;
+  opacity: 1;
+}
+
+select.form-control:not([size]):not([multiple]) {
+  height: calc(2.25rem + 2px);
+}
+
+select.form-control:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.form-control-file,
+.form-control-range {
+  display: block;
+}
+
+.col-form-label {
+  padding-top: calc(0.375rem + 1px);
+  padding-bottom: calc(0.375rem + 1px);
+  margin-bottom: 0;
+  line-height: 1.5;
+}
+
+.col-form-label-lg {
+  padding-top: calc(0.5rem + 1px);
+  padding-bottom: calc(0.5rem + 1px);
+  font-size: 1.25rem;
+  line-height: 1.5;
+}
+
+.col-form-label-sm {
+  padding-top: calc(0.25rem + 1px);
+  padding-bottom: calc(0.25rem + 1px);
+  font-size: 0.875rem;
+  line-height: 1.5;
+}
+
+.col-form-legend {
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+}
+
+.form-control-plaintext {
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  margin-bottom: 0;
+  line-height: 1.5;
+  background-color: transparent;
+  border: solid transparent;
+  border-width: 1px 0;
+}
+
+.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,
+.input-group-sm > .form-control-plaintext.input-group-addon,
+.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,
+.input-group-lg > .form-control-plaintext.input-group-addon,
+.input-group-lg > .input-group-btn > .form-control-plaintext.btn {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.form-control-sm, .input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
+.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
+.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
+  height: calc(1.8125rem + 2px);
+}
+
+.form-control-lg, .input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
+.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
+.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
+  height: calc(2.875rem + 2px);
+}
+
+.form-group {
+  margin-bottom: 1rem;
+}
+
+.form-text {
+  display: block;
+  margin-top: 0.25rem;
+}
+
+.form-row {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  margin-right: -5px;
+  margin-left: -5px;
+}
+
+.form-row > .col,
+.form-row > [class*="col-"] {
+  padding-right: 5px;
+  padding-left: 5px;
+}
+
+.form-check {
+  position: relative;
+  display: block;
+  margin-bottom: 0.5rem;
+}
+
+.form-check.disabled .form-check-label {
+  color: #868e96;
+}
+
+.form-check-label {
+  padding-left: 1.25rem;
+  margin-bottom: 0;
+}
+
+.form-check-input {
+  position: absolute;
+  margin-top: 0.25rem;
+  margin-left: -1.25rem;
+}
+
+.form-check-inline {
+  display: inline-block;
+  margin-right: 0.75rem;
+}
+
+.form-check-inline .form-check-label {
+  vertical-align: middle;
+}
+
+.valid-feedback {
+  display: none;
+  margin-top: .25rem;
+  font-size: .875rem;
+  color: #28a745;
+}
+
+.valid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  width: 250px;
+  padding: .5rem;
+  margin-top: .1rem;
+  font-size: .875rem;
+  line-height: 1;
+  color: #fff;
+  background-color: rgba(40, 167, 69, 0.8);
+  border-radius: .2rem;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid, .was-validated
+.custom-select:valid,
+.custom-select.is-valid {
+  border-color: #28a745;
+}
+
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated
+.custom-select:valid:focus,
+.custom-select.is-valid:focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .form-control:valid ~ .valid-feedback,
+.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
+.form-control.is-valid ~ .valid-tooltip, .was-validated
+.custom-select:valid ~ .valid-feedback,
+.was-validated
+.custom-select:valid ~ .valid-tooltip,
+.custom-select.is-valid ~ .valid-feedback,
+.custom-select.is-valid ~ .valid-tooltip {
+  display: block;
+}
+
+.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {
+  color: #28a745;
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {
+  background-color: rgba(40, 167, 69, 0.25);
+}
+
+.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {
+  color: #28a745;
+}
+
+.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {
+  border-color: #28a745;
+}
+
+.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {
+  border-color: inherit;
+}
+
+.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
+}
+
+.invalid-feedback {
+  display: none;
+  margin-top: .25rem;
+  font-size: .875rem;
+  color: #dc3545;
+}
+
+.invalid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  width: 250px;
+  padding: .5rem;
+  margin-top: .1rem;
+  font-size: .875rem;
+  line-height: 1;
+  color: #fff;
+  background-color: rgba(220, 53, 69, 0.8);
+  border-radius: .2rem;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated
+.custom-select:invalid,
+.custom-select.is-invalid {
+  border-color: #dc3545;
+}
+
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated
+.custom-select:invalid:focus,
+.custom-select.is-invalid:focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-control:invalid ~ .invalid-feedback,
+.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
+.form-control.is-invalid ~ .invalid-tooltip, .was-validated
+.custom-select:invalid ~ .invalid-feedback,
+.was-validated
+.custom-select:invalid ~ .invalid-tooltip,
+.custom-select.is-invalid ~ .invalid-feedback,
+.custom-select.is-invalid ~ .invalid-tooltip {
+  display: block;
+}
+
+.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {
+  color: #dc3545;
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {
+  background-color: rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {
+  color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {
+  border-color: #dc3545;
+}
+
+.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {
+  border-color: inherit;
+}
+
+.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
+}
+
+.form-inline {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-flow: row wrap;
+      flex-flow: row wrap;
+  -ms-flex-align: center;
+      align-items: center;
+}
+
+.form-inline .form-check {
+  width: 100%;
+}
+
+@media (min-width: 576px) {
+  .form-inline label {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+        align-items: center;
+    -ms-flex-pack: center;
+        justify-content: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-group {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex: 0 0 auto;
+        flex: 0 0 auto;
+    -ms-flex-flow: row wrap;
+        flex-flow: row wrap;
+    -ms-flex-align: center;
+        align-items: center;
+    margin-bottom: 0;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .form-inline .form-control-plaintext {
+    display: inline-block;
+  }
+  .form-inline .input-group {
+    width: auto;
+  }
+  .form-inline .form-check {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+        align-items: center;
+    -ms-flex-pack: center;
+        justify-content: center;
+    width: auto;
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+  .form-inline .form-check-label {
+    padding-left: 0;
+  }
+  .form-inline .form-check-input {
+    position: relative;
+    margin-top: 0;
+    margin-right: 0.25rem;
+    margin-left: 0;
+  }
+  .form-inline .custom-control {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-align: center;
+        align-items: center;
+    -ms-flex-pack: center;
+        justify-content: center;
+    padding-left: 0;
+  }
+  .form-inline .custom-control-indicator {
+    position: static;
+    display: inline-block;
+    margin-right: 0.25rem;
+    vertical-align: text-bottom;
+  }
+  .form-inline .has-feedback .form-control-feedback {
+    top: 0;
+  }
+}
+
+.btn {
+  display: inline-block;
+  font-weight: 400;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: middle;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  border: 1px solid transparent;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  line-height: 1.5;
+  border-radius: 0.25rem;
+  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+
+.btn:focus, .btn:hover {
+  text-decoration: none;
+}
+
+.btn:focus, .btn.focus {
+  outline: 0;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.btn.disabled, .btn:disabled {
+  opacity: .65;
+}
+
+.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {
+  background-image: none;
+}
+
+a.btn.disabled,
+fieldset[disabled] a.btn {
+  pointer-events: none;
+}
+
+.btn-primary {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:hover {
+  color: #fff;
+  background-color: #0069d9;
+  border-color: #0062cc;
+}
+
+.btn-primary:focus, .btn-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-primary.disabled, .btn-primary:disabled {
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,
+.show > .btn-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #0062cc;
+  border-color: #005cbf;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-secondary {
+  color: #fff;
+  background-color: #868e96;
+  border-color: #868e96;
+}
+
+.btn-secondary:hover {
+  color: #fff;
+  background-color: #727b84;
+  border-color: #6c757d;
+}
+
+.btn-secondary:focus, .btn-secondary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
+}
+
+.btn-secondary.disabled, .btn-secondary:disabled {
+  background-color: #868e96;
+  border-color: #868e96;
+}
+
+.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,
+.show > .btn-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #6c757d;
+  border-color: #666e76;
+  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
+}
+
+.btn-success {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:hover {
+  color: #fff;
+  background-color: #218838;
+  border-color: #1e7e34;
+}
+
+.btn-success:focus, .btn-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-success.disabled, .btn-success:disabled {
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,
+.show > .btn-success.dropdown-toggle {
+  color: #fff;
+  background-color: #1e7e34;
+  border-color: #1c7430;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-info {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:hover {
+  color: #fff;
+  background-color: #138496;
+  border-color: #117a8b;
+}
+
+.btn-info:focus, .btn-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-info.disabled, .btn-info:disabled {
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,
+.show > .btn-info.dropdown-toggle {
+  color: #fff;
+  background-color: #117a8b;
+  border-color: #10707f;
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-warning {
+  color: #111;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:hover {
+  color: #111;
+  background-color: #e0a800;
+  border-color: #d39e00;
+}
+
+.btn-warning:focus, .btn-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-warning.disabled, .btn-warning:disabled {
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,
+.show > .btn-warning.dropdown-toggle {
+  color: #111;
+  background-color: #d39e00;
+  border-color: #c69500;
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-danger {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:hover {
+  color: #fff;
+  background-color: #c82333;
+  border-color: #bd2130;
+}
+
+.btn-danger:focus, .btn-danger.focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-danger.disabled, .btn-danger:disabled {
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,
+.show > .btn-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #bd2130;
+  border-color: #b21f2d;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-light {
+  color: #111;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:hover {
+  color: #111;
+  background-color: #e2e6ea;
+  border-color: #dae0e5;
+}
+
+.btn-light:focus, .btn-light.focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-light.disabled, .btn-light:disabled {
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,
+.show > .btn-light.dropdown-toggle {
+  color: #111;
+  background-color: #dae0e5;
+  border-color: #d3d9df;
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-dark {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:hover {
+  color: #fff;
+  background-color: #23272b;
+  border-color: #1d2124;
+}
+
+.btn-dark:focus, .btn-dark.focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-dark.disabled, .btn-dark:disabled {
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,
+.show > .btn-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #1d2124;
+  border-color: #171a1d;
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-outline-primary {
+  color: #007bff;
+  background-color: transparent;
+  background-image: none;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:hover {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.btn-outline-primary:focus, .btn-outline-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-primary.disabled, .btn-outline-primary:disabled {
+  color: #007bff;
+  background-color: transparent;
+}
+
+.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
+.show > .btn-outline-primary.dropdown-toggle {
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+}
+
+.btn-outline-secondary {
+  color: #868e96;
+  background-color: transparent;
+  background-image: none;
+  border-color: #868e96;
+}
+
+.btn-outline-secondary:hover {
+  color: #fff;
+  background-color: #868e96;
+  border-color: #868e96;
+}
+
+.btn-outline-secondary:focus, .btn-outline-secondary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
+}
+
+.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+  color: #868e96;
+  background-color: transparent;
+}
+
+.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,
+.show > .btn-outline-secondary.dropdown-toggle {
+  color: #fff;
+  background-color: #868e96;
+  border-color: #868e96;
+  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);
+}
+
+.btn-outline-success {
+  color: #28a745;
+  background-color: transparent;
+  background-image: none;
+  border-color: #28a745;
+}
+
+.btn-outline-success:hover {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+}
+
+.btn-outline-success:focus, .btn-outline-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-success.disabled, .btn-outline-success:disabled {
+  color: #28a745;
+  background-color: transparent;
+}
+
+.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,
+.show > .btn-outline-success.dropdown-toggle {
+  color: #fff;
+  background-color: #28a745;
+  border-color: #28a745;
+  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
+}
+
+.btn-outline-info {
+  color: #17a2b8;
+  background-color: transparent;
+  background-image: none;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:hover {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+}
+
+.btn-outline-info:focus, .btn-outline-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-info.disabled, .btn-outline-info:disabled {
+  color: #17a2b8;
+  background-color: transparent;
+}
+
+.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,
+.show > .btn-outline-info.dropdown-toggle {
+  color: #fff;
+  background-color: #17a2b8;
+  border-color: #17a2b8;
+  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
+}
+
+.btn-outline-warning {
+  color: #ffc107;
+  background-color: transparent;
+  background-image: none;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:hover {
+  color: #fff;
+  background-color: #ffc107;
+  border-color: #ffc107;
+}
+
+.btn-outline-warning:focus, .btn-outline-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-warning.disabled, .btn-outline-warning:disabled {
+  color: #ffc107;
+  background-color: transparent;
+}
+
+.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,
+.show > .btn-outline-warning.dropdown-toggle {
+  color: #fff;
+  background-color: #ffc107;
+  border-color: #ffc107;
+  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
+}
+
+.btn-outline-danger {
+  color: #dc3545;
+  background-color: transparent;
+  background-image: none;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:hover {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+}
+
+.btn-outline-danger:focus, .btn-outline-danger.focus {
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-danger.disabled, .btn-outline-danger:disabled {
+  color: #dc3545;
+  background-color: transparent;
+}
+
+.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,
+.show > .btn-outline-danger.dropdown-toggle {
+  color: #fff;
+  background-color: #dc3545;
+  border-color: #dc3545;
+  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
+}
+
+.btn-outline-light {
+  color: #f8f9fa;
+  background-color: transparent;
+  background-image: none;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:hover {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+}
+
+.btn-outline-light:focus, .btn-outline-light.focus {
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-light.disabled, .btn-outline-light:disabled {
+  color: #f8f9fa;
+  background-color: transparent;
+}
+
+.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,
+.show > .btn-outline-light.dropdown-toggle {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa;
+  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
+}
+
+.btn-outline-dark {
+  color: #343a40;
+  background-color: transparent;
+  background-image: none;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:hover {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+}
+
+.btn-outline-dark:focus, .btn-outline-dark.focus {
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-outline-dark.disabled, .btn-outline-dark:disabled {
+  color: #343a40;
+  background-color: transparent;
+}
+
+.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,
+.show > .btn-outline-dark.dropdown-toggle {
+  color: #fff;
+  background-color: #343a40;
+  border-color: #343a40;
+  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
+}
+
+.btn-link {
+  font-weight: 400;
+  color: #007bff;
+  background-color: transparent;
+}
+
+.btn-link:hover {
+  color: #0056b3;
+  text-decoration: underline;
+  background-color: transparent;
+  border-color: transparent;
+}
+
+.btn-link:focus, .btn-link.focus {
+  border-color: transparent;
+  box-shadow: none;
+}
+
+.btn-link:disabled, .btn-link.disabled {
+  color: #868e96;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+  border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  border-radius: 0.2rem;
+}
+
+.btn-block {
+  display: block;
+  width: 100%;
+}
+
+.btn-block + .btn-block {
+  margin-top: 0.5rem;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+
+.fade {
+  opacity: 0;
+  transition: opacity 0.15s linear;
+}
+
+.fade.show {
+  opacity: 1;
+}
+
+.collapse {
+  display: none;
+}
+
+.collapse.show {
+  display: block;
+}
+
+tr.collapse.show {
+  display: table-row;
+}
+
+tbody.collapse.show {
+  display: table-row-group;
+}
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease;
+}
+
+.dropup,
+.dropdown {
+  position: relative;
+}
+
+.dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0;
+  border-left: 0.3em solid transparent;
+}
+
+.dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 10rem;
+  padding: 0.5rem 0;
+  margin: 0.125rem 0 0;
+  font-size: 1rem;
+  color: #212529;
+  text-align: left;
+  list-style: none;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 0.25rem;
+}
+
+.dropup .dropdown-menu {
+  margin-top: 0;
+  margin-bottom: 0.125rem;
+}
+
+.dropup .dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0.3em solid;
+  border-left: 0.3em solid transparent;
+}
+
+.dropup .dropdown-toggle:empty::after {
+  margin-left: 0;
+}
+
+.dropdown-divider {
+  height: 0;
+  margin: 0.5rem 0;
+  overflow: hidden;
+  border-top: 1px solid #e9ecef;
+}
+
+.dropdown-item {
+  display: block;
+  width: 100%;
+  padding: 0.25rem 1.5rem;
+  clear: both;
+  font-weight: 400;
+  color: #212529;
+  text-align: inherit;
+  white-space: nowrap;
+  background: none;
+  border: 0;
+}
+
+.dropdown-item:focus, .dropdown-item:hover {
+  color: #16181b;
+  text-decoration: none;
+  background-color: #f8f9fa;
+}
+
+.dropdown-item.active, .dropdown-item:active {
+  color: #fff;
+  text-decoration: none;
+  background-color: #007bff;
+}
+
+.dropdown-item.disabled, .dropdown-item:disabled {
+  color: #868e96;
+  background-color: transparent;
+}
+
+.dropdown-menu.show {
+  display: block;
+}
+
+.dropdown-header {
+  display: block;
+  padding: 0.5rem 1.5rem;
+  margin-bottom: 0;
+  font-size: 0.875rem;
+  color: #868e96;
+  white-space: nowrap;
+}
+
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  -ms-flex: 0 1 auto;
+      flex: 0 1 auto;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+  z-index: 2;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+  z-index: 2;
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group,
+.btn-group-vertical .btn + .btn,
+.btn-group-vertical .btn + .btn-group,
+.btn-group-vertical .btn-group + .btn,
+.btn-group-vertical .btn-group + .btn-group {
+  margin-left: -1px;
+}
+
+.btn-toolbar {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  -ms-flex-pack: start;
+      justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+  width: auto;
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+  margin-left: 0;
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group > .btn-group {
+  float: left;
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn + .dropdown-toggle-split {
+  padding-right: 0.5625rem;
+  padding-left: 0.5625rem;
+}
+
+.btn + .dropdown-toggle-split::after {
+  margin-left: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+  -ms-flex-direction: column;
+      flex-direction: column;
+  -ms-flex-align: start;
+      align-items: flex-start;
+  -ms-flex-pack: center;
+      justify-content: center;
+}
+
+.btn-group-vertical .btn,
+.btn-group-vertical .btn-group {
+  width: 100%;
+}
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+  margin-top: -1px;
+  margin-left: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
+
+.input-group {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: stretch;
+      align-items: stretch;
+  width: 100%;
+}
+
+.input-group .form-control {
+  position: relative;
+  z-index: 2;
+  -ms-flex: 1 1 auto;
+      flex: 1 1 auto;
+  width: 1%;
+  margin-bottom: 0;
+}
+
+.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
+  z-index: 3;
+}
+
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+      align-items: center;
+}
+
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+
+.input-group-addon,
+.input-group-btn {
+  white-space: nowrap;
+}
+
+.input-group-addon {
+  padding: 0.375rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  text-align: center;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.input-group-addon.form-control-sm,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .input-group-addon.btn {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  border-radius: 0.2rem;
+}
+
+.input-group-addon.form-control-lg,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .input-group-addon.btn {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  border-radius: 0.3rem;
+}
+
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+  margin-top: 0;
+}
+
+.input-group .form-control:not(:last-child),
+.input-group-addon:not(:last-child),
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group > .btn,
+.input-group-btn:not(:last-child) > .dropdown-toggle,
+.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+.input-group-addon:not(:last-child) {
+  border-right: 0;
+}
+
+.input-group .form-control:not(:first-child),
+.input-group-addon:not(:first-child),
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group > .btn,
+.input-group-btn:not(:first-child) > .dropdown-toggle,
+.input-group-btn:not(:last-child) > .btn:not(:first-child),
+.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+.form-control + .input-group-addon:not(:first-child) {
+  border-left: 0;
+}
+
+.input-group-btn {
+  position: relative;
+  -ms-flex-align: stretch;
+      align-items: stretch;
+  font-size: 0;
+  white-space: nowrap;
+}
+
+.input-group-btn > .btn {
+  position: relative;
+}
+
+.input-group-btn > .btn + .btn {
+  margin-left: -1px;
+}
+
+.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
+  z-index: 3;
+}
+
+.input-group-btn:first-child > .btn + .btn {
+  margin-left: 0;
+}
+
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group {
+  margin-right: -1px;
+}
+
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group {
+  z-index: 2;
+  margin-left: 0;
+}
+
+.input-group-btn:not(:first-child) > .btn:first-child,
+.input-group-btn:not(:first-child) > .btn-group:first-child {
+  margin-left: -1px;
+}
+
+.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
+.input-group-btn:not(:first-child) > .btn-group:focus,
+.input-group-btn:not(:first-child) > .btn-group:active,
+.input-group-btn:not(:first-child) > .btn-group:hover {
+  z-index: 3;
+}
+
+.custom-control {
+  position: relative;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  min-height: 1.5rem;
+  padding-left: 1.5rem;
+  margin-right: 1rem;
+}
+
+.custom-control-input {
+  position: absolute;
+  z-index: -1;
+  opacity: 0;
+}
+
+.custom-control-input:checked ~ .custom-control-indicator {
+  color: #fff;
+  background-color: #007bff;
+}
+
+.custom-control-input:focus ~ .custom-control-indicator {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-control-input:active ~ .custom-control-indicator {
+  color: #fff;
+  background-color: #b3d7ff;
+}
+
+.custom-control-input:disabled ~ .custom-control-indicator {
+  background-color: #e9ecef;
+}
+
+.custom-control-input:disabled ~ .custom-control-description {
+  color: #868e96;
+}
+
+.custom-control-indicator {
+  position: absolute;
+  top: 0.25rem;
+  left: 0;
+  display: block;
+  width: 1rem;
+  height: 1rem;
+  pointer-events: none;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  background-color: #ddd;
+  background-repeat: no-repeat;
+  background-position: center center;
+  background-size: 50% 50%;
+}
+
+.custom-checkbox .custom-control-indicator {
+  border-radius: 0.25rem;
+}
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
+  background-color: #007bff;
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
+}
+
+.custom-radio .custom-control-indicator {
+  border-radius: 50%;
+}
+
+.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
+}
+
+.custom-controls-stacked {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+}
+
+.custom-controls-stacked .custom-control {
+  margin-bottom: 0.25rem;
+}
+
+.custom-controls-stacked .custom-control + .custom-control {
+  margin-left: 0;
+}
+
+.custom-select {
+  display: inline-block;
+  max-width: 100%;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  vertical-align: middle;
+  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
+  background-size: 8px 10px;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  -webkit-appearance: none;
+     -moz-appearance: none;
+          appearance: none;
+}
+
+.custom-select:focus {
+  border-color: #80bdff;
+  outline: none;
+}
+
+.custom-select:focus::-ms-value {
+  color: #495057;
+  background-color: #fff;
+}
+
+.custom-select[multiple] {
+  height: auto;
+  background-image: none;
+}
+
+.custom-select:disabled {
+  color: #868e96;
+  background-color: #e9ecef;
+}
+
+.custom-select::-ms-expand {
+  opacity: 0;
+}
+
+.custom-select-sm {
+  height: calc(1.8125rem + 2px);
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  font-size: 75%;
+}
+
+.custom-file {
+  position: relative;
+  display: inline-block;
+  max-width: 100%;
+  height: calc(2.25rem + 2px);
+  margin-bottom: 0;
+}
+
+.custom-file-input {
+  min-width: 14rem;
+  max-width: 100%;
+  height: calc(2.25rem + 2px);
+  margin: 0;
+  opacity: 0;
+}
+
+.custom-file-input:focus ~ .custom-file-control {
+  box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;
+}
+
+.custom-file-control {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 5;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  pointer-events: none;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  background-color: #fff;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+}
+
+.custom-file-control:lang(en):empty::after {
+  content: "Choose file...";
+}
+
+.custom-file-control::before {
+  position: absolute;
+  top: -1px;
+  right: -1px;
+  bottom: -1px;
+  z-index: 6;
+  display: block;
+  height: calc(2.25rem + 2px);
+  padding: 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0 0.25rem 0.25rem 0;
+}
+
+.custom-file-control:lang(en)::before {
+  content: "Browse";
+}
+
+.nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.nav-link {
+  display: block;
+  padding: 0.5rem 1rem;
+}
+
+.nav-link:focus, .nav-link:hover {
+  text-decoration: none;
+}
+
+.nav-link.disabled {
+  color: #868e96;
+}
+
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+
+.nav-tabs .nav-item {
+  margin-bottom: -1px;
+}
+
+.nav-tabs .nav-link {
+  border: 1px solid transparent;
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+}
+
+.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
+  border-color: #e9ecef #e9ecef #ddd;
+}
+
+.nav-tabs .nav-link.disabled {
+  color: #868e96;
+  background-color: transparent;
+  border-color: transparent;
+}
+
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+  color: #495057;
+  background-color: #fff;
+  border-color: #ddd #ddd #fff;
+}
+
+.nav-tabs .dropdown-menu {
+  margin-top: -1px;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+  border-radius: 0.25rem;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+  color: #fff;
+  background-color: #007bff;
+}
+
+.nav-fill .nav-item {
+  -ms-flex: 1 1 auto;
+      flex: 1 1 auto;
+  text-align: center;
+}
+
+.nav-justified .nav-item {
+  -ms-flex-preferred-size: 0;
+      flex-basis: 0;
+  -ms-flex-positive: 1;
+      flex-grow: 1;
+  text-align: center;
+}
+
+.tab-content > .tab-pane {
+  display: none;
+}
+
+.tab-content > .active {
+  display: block;
+}
+
+.navbar {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  -ms-flex-align: center;
+      align-items: center;
+  -ms-flex-pack: justify;
+      justify-content: space-between;
+  padding: 0.5rem 1rem;
+}
+
+.navbar > .container,
+.navbar > .container-fluid {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  -ms-flex-align: center;
+      align-items: center;
+  -ms-flex-pack: justify;
+      justify-content: space-between;
+}
+
+.navbar-brand {
+  display: inline-block;
+  padding-top: 0.3125rem;
+  padding-bottom: 0.3125rem;
+  margin-right: 1rem;
+  font-size: 1.25rem;
+  line-height: inherit;
+  white-space: nowrap;
+}
+
+.navbar-brand:focus, .navbar-brand:hover {
+  text-decoration: none;
+}
+
+.navbar-nav {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none;
+}
+
+.navbar-nav .nav-link {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-nav .dropdown-menu {
+  position: static;
+  float: none;
+}
+
+.navbar-text {
+  display: inline-block;
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+  -ms-flex-preferred-size: 100%;
+      flex-basis: 100%;
+  -ms-flex-positive: 1;
+      flex-grow: 1;
+  -ms-flex-align: center;
+      align-items: center;
+}
+
+.navbar-toggler {
+  padding: 0.25rem 0.75rem;
+  font-size: 1.25rem;
+  line-height: 1;
+  background: transparent;
+  border: 1px solid transparent;
+  border-radius: 0.25rem;
+}
+
+.navbar-toggler:focus, .navbar-toggler:hover {
+  text-decoration: none;
+}
+
+.navbar-toggler-icon {
+  display: inline-block;
+  width: 1.5em;
+  height: 1.5em;
+  vertical-align: middle;
+  content: "";
+  background: no-repeat center center;
+  background-size: 100% 100%;
+}
+
+@media (max-width: 575px) {
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 576px) {
+  .navbar-expand-sm {
+    -ms-flex-flow: row nowrap;
+        flex-flow: row nowrap;
+    -ms-flex-pack: start;
+        justify-content: flex-start;
+  }
+  .navbar-expand-sm .navbar-nav {
+    -ms-flex-direction: row;
+        flex-direction: row;
+  }
+  .navbar-expand-sm .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-sm .navbar-nav .dropdown-menu-right {
+    right: 0;
+    left: auto;
+  }
+  .navbar-expand-sm .navbar-nav .nav-link {
+    padding-right: .5rem;
+    padding-left: .5rem;
+  }
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid {
+    -ms-flex-wrap: nowrap;
+        flex-wrap: nowrap;
+  }
+  .navbar-expand-sm .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+        flex-basis: auto;
+  }
+  .navbar-expand-sm .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-sm .dropup .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+  }
+}
+
+@media (max-width: 767px) {
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 768px) {
+  .navbar-expand-md {
+    -ms-flex-flow: row nowrap;
+        flex-flow: row nowrap;
+    -ms-flex-pack: start;
+        justify-content: flex-start;
+  }
+  .navbar-expand-md .navbar-nav {
+    -ms-flex-direction: row;
+        flex-direction: row;
+  }
+  .navbar-expand-md .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-md .navbar-nav .dropdown-menu-right {
+    right: 0;
+    left: auto;
+  }
+  .navbar-expand-md .navbar-nav .nav-link {
+    padding-right: .5rem;
+    padding-left: .5rem;
+  }
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid {
+    -ms-flex-wrap: nowrap;
+        flex-wrap: nowrap;
+  }
+  .navbar-expand-md .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+        flex-basis: auto;
+  }
+  .navbar-expand-md .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-md .dropup .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+  }
+}
+
+@media (max-width: 991px) {
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 992px) {
+  .navbar-expand-lg {
+    -ms-flex-flow: row nowrap;
+        flex-flow: row nowrap;
+    -ms-flex-pack: start;
+        justify-content: flex-start;
+  }
+  .navbar-expand-lg .navbar-nav {
+    -ms-flex-direction: row;
+        flex-direction: row;
+  }
+  .navbar-expand-lg .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-lg .navbar-nav .dropdown-menu-right {
+    right: 0;
+    left: auto;
+  }
+  .navbar-expand-lg .navbar-nav .nav-link {
+    padding-right: .5rem;
+    padding-left: .5rem;
+  }
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid {
+    -ms-flex-wrap: nowrap;
+        flex-wrap: nowrap;
+  }
+  .navbar-expand-lg .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+        flex-basis: auto;
+  }
+  .navbar-expand-lg .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-lg .dropup .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+  }
+}
+
+@media (max-width: 1199px) {
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid {
+    padding-right: 0;
+    padding-left: 0;
+  }
+}
+
+@media (min-width: 1200px) {
+  .navbar-expand-xl {
+    -ms-flex-flow: row nowrap;
+        flex-flow: row nowrap;
+    -ms-flex-pack: start;
+        justify-content: flex-start;
+  }
+  .navbar-expand-xl .navbar-nav {
+    -ms-flex-direction: row;
+        flex-direction: row;
+  }
+  .navbar-expand-xl .navbar-nav .dropdown-menu {
+    position: absolute;
+  }
+  .navbar-expand-xl .navbar-nav .dropdown-menu-right {
+    right: 0;
+    left: auto;
+  }
+  .navbar-expand-xl .navbar-nav .nav-link {
+    padding-right: .5rem;
+    padding-left: .5rem;
+  }
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid {
+    -ms-flex-wrap: nowrap;
+        flex-wrap: nowrap;
+  }
+  .navbar-expand-xl .navbar-collapse {
+    display: -ms-flexbox !important;
+    display: flex !important;
+    -ms-flex-preferred-size: auto;
+        flex-basis: auto;
+  }
+  .navbar-expand-xl .navbar-toggler {
+    display: none;
+  }
+  .navbar-expand-xl .dropup .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+  }
+}
+
+.navbar-expand {
+  -ms-flex-flow: row nowrap;
+      flex-flow: row nowrap;
+  -ms-flex-pack: start;
+      justify-content: flex-start;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
+  padding-right: 0;
+  padding-left: 0;
+}
+
+.navbar-expand .navbar-nav {
+  -ms-flex-direction: row;
+      flex-direction: row;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu {
+  position: absolute;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu-right {
+  right: 0;
+  left: auto;
+}
+
+.navbar-expand .navbar-nav .nav-link {
+  padding-right: .5rem;
+  padding-left: .5rem;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
+  -ms-flex-wrap: nowrap;
+      flex-wrap: nowrap;
+}
+
+.navbar-expand .navbar-collapse {
+  display: -ms-flexbox !important;
+  display: flex !important;
+  -ms-flex-preferred-size: auto;
+      flex-basis: auto;
+}
+
+.navbar-expand .navbar-toggler {
+  display: none;
+}
+
+.navbar-expand .dropup .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+}
+
+.navbar-light .navbar-brand {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
+  color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+  color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+  color: rgba(0, 0, 0, 0.5);
+  border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-light .navbar-text {
+  color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-text a {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {
+  color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-dark .navbar-brand {
+  color: #fff;
+}
+
+.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
+  color: #fff;
+}
+
+.navbar-dark .navbar-nav .nav-link {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
+  color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-dark .navbar-nav .nav-link.disabled {
+  color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .active > .nav-link,
+.navbar-dark .navbar-nav .nav-link.show,
+.navbar-dark .navbar-nav .nav-link.active {
+  color: #fff;
+}
+
+.navbar-dark .navbar-toggler {
+  color: rgba(255, 255, 255, 0.5);
+  border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-dark .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-dark .navbar-text {
+  color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-dark .navbar-text a {
+  color: #fff;
+}
+
+.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {
+  color: #fff;
+}
+
+.card {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+  min-width: 0;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: border-box;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+  border-radius: 0.25rem;
+}
+
+.card > hr {
+  margin-right: 0;
+  margin-left: 0;
+}
+
+.card > .list-group:first-child .list-group-item:first-child {
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+}
+
+.card > .list-group:last-child .list-group-item:last-child {
+  border-bottom-right-radius: 0.25rem;
+  border-bottom-left-radius: 0.25rem;
+}
+
+.card-body {
+  -ms-flex: 1 1 auto;
+      flex: 1 1 auto;
+  padding: 1.25rem;
+}
+
+.card-title {
+  margin-bottom: 0.75rem;
+}
+
+.card-subtitle {
+  margin-top: -0.375rem;
+  margin-bottom: 0;
+}
+
+.card-text:last-child {
+  margin-bottom: 0;
+}
+
+.card-link:hover {
+  text-decoration: none;
+}
+
+.card-link + .card-link {
+  margin-left: 1.25rem;
+}
+
+.card-header {
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 0;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-header:first-child {
+  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+
+.card-header + .list-group .list-group-item:first-child {
+  border-top: 0;
+}
+
+.card-footer {
+  padding: 0.75rem 1.25rem;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-footer:last-child {
+  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+}
+
+.card-header-tabs {
+  margin-right: -0.625rem;
+  margin-bottom: -0.75rem;
+  margin-left: -0.625rem;
+  border-bottom: 0;
+}
+
+.card-header-pills {
+  margin-right: -0.625rem;
+  margin-left: -0.625rem;
+}
+
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1.25rem;
+}
+
+.card-img {
+  width: 100%;
+  border-radius: calc(0.25rem - 1px);
+}
+
+.card-img-top {
+  width: 100%;
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card-img-bottom {
+  width: 100%;
+  border-bottom-right-radius: calc(0.25rem - 1px);
+  border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.card-deck {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+}
+
+.card-deck .card {
+  margin-bottom: 15px;
+}
+
+@media (min-width: 576px) {
+  .card-deck {
+    -ms-flex-flow: row wrap;
+        flex-flow: row wrap;
+    margin-right: -15px;
+    margin-left: -15px;
+  }
+  .card-deck .card {
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex: 1 0 0%;
+        flex: 1 0 0%;
+    -ms-flex-direction: column;
+        flex-direction: column;
+    margin-right: 15px;
+    margin-bottom: 0;
+    margin-left: 15px;
+  }
+}
+
+.card-group {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+}
+
+.card-group .card {
+  margin-bottom: 15px;
+}
+
+@media (min-width: 576px) {
+  .card-group {
+    -ms-flex-flow: row wrap;
+        flex-flow: row wrap;
+  }
+  .card-group .card {
+    -ms-flex: 1 0 0%;
+        flex: 1 0 0%;
+    margin-bottom: 0;
+  }
+  .card-group .card + .card {
+    margin-left: 0;
+    border-left: 0;
+  }
+  .card-group .card:first-child {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+  }
+  .card-group .card:first-child .card-img-top {
+    border-top-right-radius: 0;
+  }
+  .card-group .card:first-child .card-img-bottom {
+    border-bottom-right-radius: 0;
+  }
+  .card-group .card:last-child {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
+  }
+  .card-group .card:last-child .card-img-top {
+    border-top-left-radius: 0;
+  }
+  .card-group .card:last-child .card-img-bottom {
+    border-bottom-left-radius: 0;
+  }
+  .card-group .card:only-child {
+    border-radius: 0.25rem;
+  }
+  .card-group .card:only-child .card-img-top {
+    border-top-left-radius: 0.25rem;
+    border-top-right-radius: 0.25rem;
+  }
+  .card-group .card:only-child .card-img-bottom {
+    border-bottom-right-radius: 0.25rem;
+    border-bottom-left-radius: 0.25rem;
+  }
+  .card-group .card:not(:first-child):not(:last-child):not(:only-child) {
+    border-radius: 0;
+  }
+  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
+  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {
+    border-radius: 0;
+  }
+}
+
+.card-columns .card {
+  margin-bottom: 0.75rem;
+}
+
+@media (min-width: 576px) {
+  .card-columns {
+    -webkit-column-count: 3;
+            column-count: 3;
+    -webkit-column-gap: 1.25rem;
+            column-gap: 1.25rem;
+  }
+  .card-columns .card {
+    display: inline-block;
+    width: 100%;
+  }
+}
+
+.breadcrumb {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+      flex-wrap: wrap;
+  padding: 0.75rem 1rem;
+  margin-bottom: 1rem;
+  list-style: none;
+  background-color: #e9ecef;
+  border-radius: 0.25rem;
+}
+
+.breadcrumb-item + .breadcrumb-item::before {
+  display: inline-block;
+  padding-right: 0.5rem;
+  padding-left: 0.5rem;
+  color: #868e96;
+  content: "/";
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: underline;
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: none;
+}
+
+.breadcrumb-item.active {
+  color: #868e96;
+}
+
+.pagination {
+  display: -ms-flexbox;
+  display: flex;
+  padding-left: 0;
+  list-style: none;
+  border-radius: 0.25rem;
+}
+
+.page-item:first-child .page-link {
+  margin-left: 0;
+  border-top-left-radius: 0.25rem;
+  border-bottom-left-radius: 0.25rem;
+}
+
+.page-item:last-child .page-link {
+  border-top-right-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem;
+}
+
+.page-item.active .page-link {
+  z-index: 2;
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.page-item.disabled .page-link {
+  color: #868e96;
+  pointer-events: none;
+  background-color: #fff;
+  border-color: #ddd;
+}
+
+.page-link {
+  position: relative;
+  display: block;
+  padding: 0.5rem 0.75rem;
+  margin-left: -1px;
+  line-height: 1.25;
+  color: #007bff;
+  background-color: #fff;
+  border: 1px solid #ddd;
+}
+
+.page-link:focus, .page-link:hover {
+  color: #0056b3;
+  text-decoration: none;
+  background-color: #e9ecef;
+  border-color: #ddd;
+}
+
+.pagination-lg .page-link {
+  padding: 0.75rem 1.5rem;
+  font-size: 1.25rem;
+  line-height: 1.5;
+}
+
+.pagination-lg .page-item:first-child .page-link {
+  border-top-left-radius: 0.3rem;
+  border-bottom-left-radius: 0.3rem;
+}
+
+.pagination-lg .page-item:last-child .page-link {
+  border-top-right-radius: 0.3rem;
+  border-bottom-right-radius: 0.3rem;
+}
+
+.pagination-sm .page-link {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.875rem;
+  line-height: 1.5;
+}
+
+.pagination-sm .page-item:first-child .page-link {
+  border-top-left-radius: 0.2rem;
+  border-bottom-left-radius: 0.2rem;
+}
+
+.pagination-sm .page-item:last-child .page-link {
+  border-top-right-radius: 0.2rem;
+  border-bottom-right-radius: 0.2rem;
+}
+
+.badge {
+  display: inline-block;
+  padding: 0.25em 0.4em;
+  font-size: 75%;
+  font-weight: 700;
+  line-height: 1;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: 0.25rem;
+}
+
+.badge:empty {
+  display: none;
+}
+
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+
+.badge-pill {
+  padding-right: 0.6em;
+  padding-left: 0.6em;
+  border-radius: 10rem;
+}
+
+.badge-primary {
+  color: #fff;
+  background-color: #007bff;
+}
+
+.badge-primary[href]:focus, .badge-primary[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #0062cc;
+}
+
+.badge-secondary {
+  color: #fff;
+  background-color: #868e96;
+}
+
+.badge-secondary[href]:focus, .badge-secondary[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #6c757d;
+}
+
+.badge-success {
+  color: #fff;
+  background-color: #28a745;
+}
+
+.badge-success[href]:focus, .badge-success[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #1e7e34;
+}
+
+.badge-info {
+  color: #fff;
+  background-color: #17a2b8;
+}
+
+.badge-info[href]:focus, .badge-info[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #117a8b;
+}
+
+.badge-warning {
+  color: #111;
+  background-color: #ffc107;
+}
+
+.badge-warning[href]:focus, .badge-warning[href]:hover {
+  color: #111;
+  text-decoration: none;
+  background-color: #d39e00;
+}
+
+.badge-danger {
+  color: #fff;
+  background-color: #dc3545;
+}
+
+.badge-danger[href]:focus, .badge-danger[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #bd2130;
+}
+
+.badge-light {
+  color: #111;
+  background-color: #f8f9fa;
+}
+
+.badge-light[href]:focus, .badge-light[href]:hover {
+  color: #111;
+  text-decoration: none;
+  background-color: #dae0e5;
+}
+
+.badge-dark {
+  color: #fff;
+  background-color: #343a40;
+}
+
+.badge-dark[href]:focus, .badge-dark[href]:hover {
+  color: #fff;
+  text-decoration: none;
+  background-color: #1d2124;
+}
+
+.jumbotron {
+  padding: 2rem 1rem;
+  margin-bottom: 2rem;
+  background-color: #e9ecef;
+  border-radius: 0.3rem;
+}
+
+@media (min-width: 576px) {
+  .jumbotron {
+    padding: 4rem 2rem;
+  }
+}
+
+.jumbotron-fluid {
+  padding-right: 0;
+  padding-left: 0;
+  border-radius: 0;
+}
+
+.alert {
+  position: relative;
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 1rem;
+  border: 1px solid transparent;
+  border-radius: 0.25rem;
+}
+
+.alert-heading {
+  color: inherit;
+}
+
+.alert-link {
+  font-weight: 700;
+}
+
+.alert-dismissible .close {
+  position: absolute;
+  top: 0;
+  right: 0;
+  padding: 0.75rem 1.25rem;
+  color: inherit;
+}
+
+.alert-primary {
+  color: #004085;
+  background-color: #cce5ff;
+  border-color: #b8daff;
+}
+
+.alert-primary hr {
+  border-top-color: #9fcdff;
+}
+
+.alert-primary .alert-link {
+  color: #002752;
+}
+
+.alert-secondary {
+  color: #464a4e;
+  background-color: #e7e8ea;
+  border-color: #dddfe2;
+}
+
+.alert-secondary hr {
+  border-top-color: #cfd2d6;
+}
+
+.alert-secondary .alert-link {
+  color: #2e3133;
+}
+
+.alert-success {
+  color: #155724;
+  background-color: #d4edda;
+  border-color: #c3e6cb;
+}
+
+.alert-success hr {
+  border-top-color: #b1dfbb;
+}
+
+.alert-success .alert-link {
+  color: #0b2e13;
+}
+
+.alert-info {
+  color: #0c5460;
+  background-color: #d1ecf1;
+  border-color: #bee5eb;
+}
+
+.alert-info hr {
+  border-top-color: #abdde5;
+}
+
+.alert-info .alert-link {
+  color: #062c33;
+}
+
+.alert-warning {
+  color: #856404;
+  background-color: #fff3cd;
+  border-color: #ffeeba;
+}
+
+.alert-warning hr {
+  border-top-color: #ffe8a1;
+}
+
+.alert-warning .alert-link {
+  color: #533f03;
+}
+
+.alert-danger {
+  color: #721c24;
+  background-color: #f8d7da;
+  border-color: #f5c6cb;
+}
+
+.alert-danger hr {
+  border-top-color: #f1b0b7;
+}
+
+.alert-danger .alert-link {
+  color: #491217;
+}
+
+.alert-light {
+  color: #818182;
+  background-color: #fefefe;
+  border-color: #fdfdfe;
+}
+
+.alert-light hr {
+  border-top-color: #ececf6;
+}
+
+.alert-light .alert-link {
+  color: #686868;
+}
+
+.alert-dark {
+  color: #1b1e21;
+  background-color: #d6d8d9;
+  border-color: #c6c8ca;
+}
+
+.alert-dark hr {
+  border-top-color: #b9bbbe;
+}
+
+.alert-dark .alert-link {
+  color: #040505;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 1rem 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 1rem 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+.progress {
+  display: -ms-flexbox;
+  display: flex;
+  height: 1rem;
+  overflow: hidden;
+  font-size: 0.75rem;
+  background-color: #e9ecef;
+  border-radius: 0.25rem;
+}
+
+.progress-bar {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+      align-items: center;
+  -ms-flex-pack: center;
+      justify-content: center;
+  color: #fff;
+  background-color: #007bff;
+}
+
+.progress-bar-striped {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 1rem 1rem;
+}
+
+.progress-bar-animated {
+  -webkit-animation: progress-bar-stripes 1s linear infinite;
+          animation: progress-bar-stripes 1s linear infinite;
+}
+
+.media {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: start;
+      align-items: flex-start;
+}
+
+.media-body {
+  -ms-flex: 1;
+      flex: 1;
+}
+
+.list-group {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+}
+
+.list-group-item-action {
+  width: 100%;
+  color: #495057;
+  text-align: inherit;
+}
+
+.list-group-item-action:focus, .list-group-item-action:hover {
+  color: #495057;
+  text-decoration: none;
+  background-color: #f8f9fa;
+}
+
+.list-group-item-action:active {
+  color: #212529;
+  background-color: #e9ecef;
+}
+
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: 0.75rem 1.25rem;
+  margin-bottom: -1px;
+  background-color: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.list-group-item:first-child {
+  border-top-left-radius: 0.25rem;
+  border-top-right-radius: 0.25rem;
+}
+
+.list-group-item:last-child {
+  margin-bottom: 0;
+  border-bottom-right-radius: 0.25rem;
+  border-bottom-left-radius: 0.25rem;
+}
+
+.list-group-item:focus, .list-group-item:hover {
+  text-decoration: none;
+}
+
+.list-group-item.disabled, .list-group-item:disabled {
+  color: #868e96;
+  background-color: #fff;
+}
+
+.list-group-item.active {
+  z-index: 2;
+  color: #fff;
+  background-color: #007bff;
+  border-color: #007bff;
+}
+
+.list-group-flush .list-group-item {
+  border-right: 0;
+  border-left: 0;
+  border-radius: 0;
+}
+
+.list-group-flush:first-child .list-group-item:first-child {
+  border-top: 0;
+}
+
+.list-group-flush:last-child .list-group-item:last-child {
+  border-bottom: 0;
+}
+
+.list-group-item-primary {
+  color: #004085;
+  background-color: #b8daff;
+}
+
+a.list-group-item-primary,
+button.list-group-item-primary {
+  color: #004085;
+}
+
+a.list-group-item-primary:focus, a.list-group-item-primary:hover,
+button.list-group-item-primary:focus,
+button.list-group-item-primary:hover {
+  color: #004085;
+  background-color: #9fcdff;
+}
+
+a.list-group-item-primary.active,
+button.list-group-item-primary.active {
+  color: #fff;
+  background-color: #004085;
+  border-color: #004085;
+}
+
+.list-group-item-secondary {
+  color: #464a4e;
+  background-color: #dddfe2;
+}
+
+a.list-group-item-secondary,
+button.list-group-item-secondary {
+  color: #464a4e;
+}
+
+a.list-group-item-secondary:focus, a.list-group-item-secondary:hover,
+button.list-group-item-secondary:focus,
+button.list-group-item-secondary:hover {
+  color: #464a4e;
+  background-color: #cfd2d6;
+}
+
+a.list-group-item-secondary.active,
+button.list-group-item-secondary.active {
+  color: #fff;
+  background-color: #464a4e;
+  border-color: #464a4e;
+}
+
+.list-group-item-success {
+  color: #155724;
+  background-color: #c3e6cb;
+}
+
+a.list-group-item-success,
+button.list-group-item-success {
+  color: #155724;
+}
+
+a.list-group-item-success:focus, a.list-group-item-success:hover,
+button.list-group-item-success:focus,
+button.list-group-item-success:hover {
+  color: #155724;
+  background-color: #b1dfbb;
+}
+
+a.list-group-item-success.active,
+button.list-group-item-success.active {
+  color: #fff;
+  background-color: #155724;
+  border-color: #155724;
+}
+
+.list-group-item-info {
+  color: #0c5460;
+  background-color: #bee5eb;
+}
+
+a.list-group-item-info,
+button.list-group-item-info {
+  color: #0c5460;
+}
+
+a.list-group-item-info:focus, a.list-group-item-info:hover,
+button.list-group-item-info:focus,
+button.list-group-item-info:hover {
+  color: #0c5460;
+  background-color: #abdde5;
+}
+
+a.list-group-item-info.active,
+button.list-group-item-info.active {
+  color: #fff;
+  background-color: #0c5460;
+  border-color: #0c5460;
+}
+
+.list-group-item-warning {
+  color: #856404;
+  background-color: #ffeeba;
+}
+
+a.list-group-item-warning,
+button.list-group-item-warning {
+  color: #856404;
+}
+
+a.list-group-item-warning:focus, a.list-group-item-warning:hover,
+button.list-group-item-warning:focus,
+button.list-group-item-warning:hover {
+  color: #856404;
+  background-color: #ffe8a1;
+}
+
+a.list-group-item-warning.active,
+button.list-group-item-warning.active {
+  color: #fff;
+  background-color: #856404;
+  border-color: #856404;
+}
+
+.list-group-item-danger {
+  color: #721c24;
+  background-color: #f5c6cb;
+}
+
+a.list-group-item-danger,
+button.list-group-item-danger {
+  color: #721c24;
+}
+
+a.list-group-item-danger:focus, a.list-group-item-danger:hover,
+button.list-group-item-danger:focus,
+button.list-group-item-danger:hover {
+  color: #721c24;
+  background-color: #f1b0b7;
+}
+
+a.list-group-item-danger.active,
+button.list-group-item-danger.active {
+  color: #fff;
+  background-color: #721c24;
+  border-color: #721c24;
+}
+
+.list-group-item-light {
+  color: #818182;
+  background-color: #fdfdfe;
+}
+
+a.list-group-item-light,
+button.list-group-item-light {
+  color: #818182;
+}
+
+a.list-group-item-light:focus, a.list-group-item-light:hover,
+button.list-group-item-light:focus,
+button.list-group-item-light:hover {
+  color: #818182;
+  background-color: #ececf6;
+}
+
+a.list-group-item-light.active,
+button.list-group-item-light.active {
+  color: #fff;
+  background-color: #818182;
+  border-color: #818182;
+}
+
+.list-group-item-dark {
+  color: #1b1e21;
+  background-color: #c6c8ca;
+}
+
+a.list-group-item-dark,
+button.list-group-item-dark {
+  color: #1b1e21;
+}
+
+a.list-group-item-dark:focus, a.list-group-item-dark:hover,
+button.list-group-item-dark:focus,
+button.list-group-item-dark:hover {
+  color: #1b1e21;
+  background-color: #b9bbbe;
+}
+
+a.list-group-item-dark.active,
+button.list-group-item-dark.active {
+  color: #fff;
+  background-color: #1b1e21;
+  border-color: #1b1e21;
+}
+
+.close {
+  float: right;
+  font-size: 1.5rem;
+  font-weight: 700;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  opacity: .5;
+}
+
+.close:focus, .close:hover {
+  color: #000;
+  text-decoration: none;
+  opacity: .75;
+}
+
+button.close {
+  padding: 0;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
+
+.modal-open {
+  overflow: hidden;
+}
+
+.modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1050;
+  display: none;
+  overflow: hidden;
+  outline: 0;
+}
+
+.modal.fade .modal-dialog {
+  transition: -webkit-transform 0.3s ease-out;
+  transition: transform 0.3s ease-out;
+  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
+  -webkit-transform: translate(0, -25%);
+          transform: translate(0, -25%);
+}
+
+.modal.show .modal-dialog {
+  -webkit-transform: translate(0, 0);
+          transform: translate(0, 0);
+}
+
+.modal-open .modal {
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+
+.modal-dialog {
+  position: relative;
+  width: auto;
+  margin: 10px;
+  pointer-events: none;
+}
+
+.modal-content {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+      flex-direction: column;
+  pointer-events: auto;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem;
+  outline: 0;
+}
+
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000;
+}
+
+.modal-backdrop.fade {
+  opacity: 0;
+}
+
+.modal-backdrop.show {
+  opacity: 0.5;
+}
+
+.modal-header {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: start;
+      align-items: flex-start;
+  -ms-flex-pack: justify;
+      justify-content: space-between;
+  padding: 15px;
+  border-bottom: 1px solid #e9ecef;
+  border-top-left-radius: 0.3rem;
+  border-top-right-radius: 0.3rem;
+}
+
+.modal-header .close {
+  padding: 15px;
+  margin: -15px -15px -15px auto;
+}
+
+.modal-title {
+  margin-bottom: 0;
+  line-height: 1.5;
+}
+
+.modal-body {
+  position: relative;
+  -ms-flex: 1 1 auto;
+      flex: 1 1 auto;
+  padding: 15px;
+}
+
+.modal-footer {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+      align-items: center;
+  -ms-flex-pack: end;
+      justify-content: flex-end;
+  padding: 15px;
+  border-top: 1px solid #e9ecef;
+}
+
+.modal-footer > :not(:first-child) {
+  margin-left: .25rem;
+}
+
+.modal-footer > :not(:last-child) {
+  margin-right: .25rem;
+}
+
+.modal-scrollbar-measure {
+  position: absolute;
+  top: -9999px;
+  width: 50px;
+  height: 50px;
+  overflow: scroll;
+}
+
+@media (min-width: 576px) {
+  .modal-dialog {
+    max-width: 500px;
+    margin: 30px auto;
+  }
+  .modal-sm {
+    max-width: 300px;
+  }
+}
+
+@media (min-width: 992px) {
+  .modal-lg {
+    max-width: 800px;
+  }
+}
+
+.tooltip {
+  position: absolute;
+  z-index: 1070;
+  display: block;
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.875rem;
+  word-wrap: break-word;
+  opacity: 0;
+}
+
+.tooltip.show {
+  opacity: 0.9;
+}
+
+.tooltip .arrow {
+  position: absolute;
+  display: block;
+  width: 5px;
+  height: 5px;
+}
+
+.tooltip .arrow::before {
+  position: absolute;
+  border-color: transparent;
+  border-style: solid;
+}
+
+.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^="top"] {
+  padding: 5px 0;
+}
+
+.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow {
+  bottom: 0;
+}
+
+.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before {
+  margin-left: -3px;
+  content: "";
+  border-width: 5px 5px 0;
+  border-top-color: #000;
+}
+
+.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^="right"] {
+  padding: 0 5px;
+}
+
+.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow {
+  left: 0;
+}
+
+.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before {
+  margin-top: -3px;
+  content: "";
+  border-width: 5px 5px 5px 0;
+  border-right-color: #000;
+}
+
+.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^="bottom"] {
+  padding: 5px 0;
+}
+
+.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow {
+  top: 0;
+}
+
+.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
+  margin-left: -3px;
+  content: "";
+  border-width: 0 5px 5px;
+  border-bottom-color: #000;
+}
+
+.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^="left"] {
+  padding: 0 5px;
+}
+
+.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow {
+  right: 0;
+}
+
+.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before {
+  right: 0;
+  margin-top: -3px;
+  content: "";
+  border-width: 5px 0 5px 5px;
+  border-left-color: #000;
+}
+
+.tooltip-inner {
+  max-width: 200px;
+  padding: 3px 8px;
+  color: #fff;
+  text-align: center;
+  background-color: #000;
+  border-radius: 0.25rem;
+}
+
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1060;
+  display: block;
+  max-width: 276px;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.875rem;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem;
+}
+
+.popover .arrow {
+  position: absolute;
+  display: block;
+  width: 0.8rem;
+  height: 0.4rem;
+}
+
+.popover .arrow::before,
+.popover .arrow::after {
+  position: absolute;
+  display: block;
+  border-color: transparent;
+  border-style: solid;
+}
+
+.popover .arrow::before {
+  content: "";
+  border-width: 0.8rem;
+}
+
+.popover .arrow::after {
+  content: "";
+  border-width: 0.8rem;
+}
+
+.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^="top"] {
+  margin-bottom: 0.8rem;
+}
+
+.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^="top"] .arrow {
+  bottom: 0;
+}
+
+.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before,
+.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after {
+  border-bottom-width: 0;
+}
+
+.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before {
+  bottom: -0.8rem;
+  margin-left: -0.8rem;
+  border-top-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after {
+  bottom: calc((0.8rem - 1px) * -1);
+  margin-left: -0.8rem;
+  border-top-color: #fff;
+}
+
+.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^="right"] {
+  margin-left: 0.8rem;
+}
+
+.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^="right"] .arrow {
+  left: 0;
+}
+
+.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before,
+.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after {
+  margin-top: -0.8rem;
+  border-left-width: 0;
+}
+
+.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before {
+  left: -0.8rem;
+  border-right-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after {
+  left: calc((0.8rem - 1px) * -1);
+  border-right-color: #fff;
+}
+
+.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^="bottom"] {
+  margin-top: 0.8rem;
+}
+
+.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^="bottom"] .arrow {
+  top: 0;
+}
+
+.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before,
+.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
+  margin-left: -0.8rem;
+  border-top-width: 0;
+}
+
+.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before {
+  top: -0.8rem;
+  border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
+  top: calc((0.8rem - 1px) * -1);
+  border-bottom-color: #fff;
+}
+
+.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+  position: absolute;
+  top: 0;
+  left: 50%;
+  display: block;
+  width: 20px;
+  margin-left: -10px;
+  content: "";
+  border-bottom: 1px solid #f7f7f7;
+}
+
+.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^="left"] {
+  margin-right: 0.8rem;
+}
+
+.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^="left"] .arrow {
+  right: 0;
+}
+
+.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before,
+.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after {
+  margin-top: -0.8rem;
+  border-right-width: 0;
+}
+
+.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before {
+  right: -0.8rem;
+  border-left-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after {
+  right: calc((0.8rem - 1px) * -1);
+  border-left-color: #fff;
+}
+
+.popover-header {
+  padding: 0.5rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 1rem;
+  color: inherit;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #ebebeb;
+  border-top-left-radius: calc(0.3rem - 1px);
+  border-top-right-radius: calc(0.3rem - 1px);
+}
+
+.popover-header:empty {
+  display: none;
+}
+
+.popover-body {
+  padding: 0.5rem 0.75rem;
+  color: #212529;
+}
+
+.carousel {
+  position: relative;
+}
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carousel-item {
+  position: relative;
+  display: none;
+  -ms-flex-align: center;
+      align-items: center;
+  width: 100%;
+  transition: -webkit-transform 0.6s ease;
+  transition: transform 0.6s ease;
+  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  -webkit-perspective: 1000px;
+          perspective: 1000px;
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+  display: block;
+}
+
+.carousel-item-next,
+.carousel-item-prev {
+  position: absolute;
+  top: 0;
+}
+
+.carousel-item-next.carousel-item-left,
+.carousel-item-prev.carousel-item-right {
+  -webkit-transform: translateX(0);
+          transform: translateX(0);
+}
+
+@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
+  .carousel-item-next.carousel-item-left,
+  .carousel-item-prev.carousel-item-right {
+    -webkit-transform: translate3d(0, 0, 0);
+            transform: translate3d(0, 0, 0);
+  }
+}
+
+.carousel-item-next,
+.active.carousel-item-right {
+  -webkit-transform: translateX(100%);
+          transform: translateX(100%);
+}
+
+@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
+  .carousel-item-next,
+  .active.carousel-item-right {
+    -webkit-transform: translate3d(100%, 0, 0);
+            transform: translate3d(100%, 0, 0);
+  }
+}
+
+.carousel-item-prev,
+.active.carousel-item-left {
+  -webkit-transform: translateX(-100%);
+          transform: translateX(-100%);
+}
+
+@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
+  .carousel-item-prev,
+  .active.carousel-item-left {
+    -webkit-transform: translate3d(-100%, 0, 0);
+            transform: translate3d(-100%, 0, 0);
+  }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+      align-items: center;
+  -ms-flex-pack: center;
+      justify-content: center;
+  width: 15%;
+  color: #fff;
+  text-align: center;
+  opacity: 0.5;
+}
+
+.carousel-control-prev:focus, .carousel-control-prev:hover,
+.carousel-control-next:focus,
+.carousel-control-next:hover {
+  color: #fff;
+  text-decoration: none;
+  outline: 0;
+  opacity: .9;
+}
+
+.carousel-control-prev {
+  left: 0;
+}
+
+.carousel-control-next {
+  right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+  display: inline-block;
+  width: 20px;
+  height: 20px;
+  background: transparent no-repeat center center;
+  background-size: 100% 100%;
+}
+
+.carousel-control-prev-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
+}
+
+.carousel-control-next-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
+}
+
+.carousel-indicators {
+  position: absolute;
+  right: 0;
+  bottom: 10px;
+  left: 0;
+  z-index: 15;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-pack: center;
+      justify-content: center;
+  padding-left: 0;
+  margin-right: 15%;
+  margin-left: 15%;
+  list-style: none;
+}
+
+.carousel-indicators li {
+  position: relative;
+  -ms-flex: 0 1 auto;
+      flex: 0 1 auto;
+  width: 30px;
+  height: 3px;
+  margin-right: 3px;
+  margin-left: 3px;
+  text-indent: -999px;
+  background-color: rgba(255, 255, 255, 0.5);
+}
+
+.carousel-indicators li::before {
+  position: absolute;
+  top: -10px;
+  left: 0;
+  display: inline-block;
+  width: 100%;
+  height: 10px;
+  content: "";
+}
+
+.carousel-indicators li::after {
+  position: absolute;
+  bottom: -10px;
+  left: 0;
+  display: inline-block;
+  width: 100%;
+  height: 10px;
+  content: "";
+}
+
+.carousel-indicators .active {
+  background-color: #fff;
+}
+
+.carousel-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+}
+
+.align-baseline {
+  vertical-align: baseline !important;
+}
+
+.align-top {
+  vertical-align: top !important;
+}
+
+.align-middle {
+  vertical-align: middle !important;
+}
+
+.align-bottom {
+  vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+  vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+  vertical-align: text-top !important;
+}
+
+.bg-primary {
+  background-color: #007bff !important;
+}
+
+a.bg-primary:focus, a.bg-primary:hover {
+  background-color: #0062cc !important;
+}
+
+.bg-secondary {
+  background-color: #868e96 !important;
+}
+
+a.bg-secondary:focus, a.bg-secondary:hover {
+  background-color: #6c757d !important;
+}
+
+.bg-success {
+  background-color: #28a745 !important;
+}
+
+a.bg-success:focus, a.bg-success:hover {
+  background-color: #1e7e34 !important;
+}
+
+.bg-info {
+  background-color: #17a2b8 !important;
+}
+
+a.bg-info:focus, a.bg-info:hover {
+  background-color: #117a8b !important;
+}
+
+.bg-warning {
+  background-color: #ffc107 !important;
+}
+
+a.bg-warning:focus, a.bg-warning:hover {
+  background-color: #d39e00 !important;
+}
+
+.bg-danger {
+  background-color: #dc3545 !important;
+}
+
+a.bg-danger:focus, a.bg-danger:hover {
+  background-color: #bd2130 !important;
+}
+
+.bg-light {
+  background-color: #f8f9fa !important;
+}
+
+a.bg-light:focus, a.bg-light:hover {
+  background-color: #dae0e5 !important;
+}
+
+.bg-dark {
+  background-color: #343a40 !important;
+}
+
+a.bg-dark:focus, a.bg-dark:hover {
+  background-color: #1d2124 !important;
+}
+
+.bg-white {
+  background-color: #fff !important;
+}
+
+.bg-transparent {
+  background-color: transparent !important;
+}
+
+.border {
+  border: 1px solid #e9ecef !important;
+}
+
+.border-0 {
+  border: 0 !important;
+}
+
+.border-top-0 {
+  border-top: 0 !important;
+}
+
+.border-right-0 {
+  border-right: 0 !important;
+}
+
+.border-bottom-0 {
+  border-bottom: 0 !important;
+}
+
+.border-left-0 {
+  border-left: 0 !important;
+}
+
+.border-primary {
+  border-color: #007bff !important;
+}
+
+.border-secondary {
+  border-color: #868e96 !important;
+}
+
+.border-success {
+  border-color: #28a745 !important;
+}
+
+.border-info {
+  border-color: #17a2b8 !important;
+}
+
+.border-warning {
+  border-color: #ffc107 !important;
+}
+
+.border-danger {
+  border-color: #dc3545 !important;
+}
+
+.border-light {
+  border-color: #f8f9fa !important;
+}
+
+.border-dark {
+  border-color: #343a40 !important;
+}
+
+.border-white {
+  border-color: #fff !important;
+}
+
+.rounded {
+  border-radius: 0.25rem !important;
+}
+
+.rounded-top {
+  border-top-left-radius: 0.25rem !important;
+  border-top-right-radius: 0.25rem !important;
+}
+
+.rounded-right {
+  border-top-right-radius: 0.25rem !important;
+  border-bottom-right-radius: 0.25rem !important;
+}
+
+.rounded-bottom {
+  border-bottom-right-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-left {
+  border-top-left-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-circle {
+  border-radius: 50% !important;
+}
+
+.rounded-0 {
+  border-radius: 0 !important;
+}
+
+.clearfix::after {
+  display: block;
+  clear: both;
+  content: "";
+}
+
+.d-none {
+  display: none !important;
+}
+
+.d-inline {
+  display: inline !important;
+}
+
+.d-inline-block {
+  display: inline-block !important;
+}
+
+.d-block {
+  display: block !important;
+}
+
+.d-table {
+  display: table !important;
+}
+
+.d-table-row {
+  display: table-row !important;
+}
+
+.d-table-cell {
+  display: table-cell !important;
+}
+
+.d-flex {
+  display: -ms-flexbox !important;
+  display: flex !important;
+}
+
+.d-inline-flex {
+  display: -ms-inline-flexbox !important;
+  display: inline-flex !important;
+}
+
+@media (min-width: 576px) {
+  .d-sm-none {
+    display: none !important;
+  }
+  .d-sm-inline {
+    display: inline !important;
+  }
+  .d-sm-inline-block {
+    display: inline-block !important;
+  }
+  .d-sm-block {
+    display: block !important;
+  }
+  .d-sm-table {
+    display: table !important;
+  }
+  .d-sm-table-row {
+    display: table-row !important;
+  }
+  .d-sm-table-cell {
+    display: table-cell !important;
+  }
+  .d-sm-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .d-md-none {
+    display: none !important;
+  }
+  .d-md-inline {
+    display: inline !important;
+  }
+  .d-md-inline-block {
+    display: inline-block !important;
+  }
+  .d-md-block {
+    display: block !important;
+  }
+  .d-md-table {
+    display: table !important;
+  }
+  .d-md-table-row {
+    display: table-row !important;
+  }
+  .d-md-table-cell {
+    display: table-cell !important;
+  }
+  .d-md-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-md-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .d-lg-none {
+    display: none !important;
+  }
+  .d-lg-inline {
+    display: inline !important;
+  }
+  .d-lg-inline-block {
+    display: inline-block !important;
+  }
+  .d-lg-block {
+    display: block !important;
+  }
+  .d-lg-table {
+    display: table !important;
+  }
+  .d-lg-table-row {
+    display: table-row !important;
+  }
+  .d-lg-table-cell {
+    display: table-cell !important;
+  }
+  .d-lg-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .d-xl-none {
+    display: none !important;
+  }
+  .d-xl-inline {
+    display: inline !important;
+  }
+  .d-xl-inline-block {
+    display: inline-block !important;
+  }
+  .d-xl-block {
+    display: block !important;
+  }
+  .d-xl-table {
+    display: table !important;
+  }
+  .d-xl-table-row {
+    display: table-row !important;
+  }
+  .d-xl-table-cell {
+    display: table-cell !important;
+  }
+  .d-xl-flex {
+    display: -ms-flexbox !important;
+    display: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: -ms-inline-flexbox !important;
+    display: inline-flex !important;
+  }
+}
+
+.d-print-block {
+  display: none !important;
+}
+
+@media print {
+  .d-print-block {
+    display: block !important;
+  }
+}
+
+.d-print-inline {
+  display: none !important;
+}
+
+@media print {
+  .d-print-inline {
+    display: inline !important;
+  }
+}
+
+.d-print-inline-block {
+  display: none !important;
+}
+
+@media print {
+  .d-print-inline-block {
+    display: inline-block !important;
+  }
+}
+
+@media print {
+  .d-print-none {
+    display: none !important;
+  }
+}
+
+.embed-responsive {
+  position: relative;
+  display: block;
+  width: 100%;
+  padding: 0;
+  overflow: hidden;
+}
+
+.embed-responsive::before {
+  display: block;
+  content: "";
+}
+
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  border: 0;
+}
+
+.embed-responsive-21by9::before {
+  padding-top: 42.857143%;
+}
+
+.embed-responsive-16by9::before {
+  padding-top: 56.25%;
+}
+
+.embed-responsive-4by3::before {
+  padding-top: 75%;
+}
+
+.embed-responsive-1by1::before {
+  padding-top: 100%;
+}
+
+.flex-row {
+  -ms-flex-direction: row !important;
+      flex-direction: row !important;
+}
+
+.flex-column {
+  -ms-flex-direction: column !important;
+      flex-direction: column !important;
+}
+
+.flex-row-reverse {
+  -ms-flex-direction: row-reverse !important;
+      flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+  -ms-flex-direction: column-reverse !important;
+      flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+  -ms-flex-wrap: wrap !important;
+      flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+  -ms-flex-wrap: nowrap !important;
+      flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+  -ms-flex-wrap: wrap-reverse !important;
+      flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+  -ms-flex-pack: start !important;
+      justify-content: flex-start !important;
+}
+
+.justify-content-end {
+  -ms-flex-pack: end !important;
+      justify-content: flex-end !important;
+}
+
+.justify-content-center {
+  -ms-flex-pack: center !important;
+      justify-content: center !important;
+}
+
+.justify-content-between {
+  -ms-flex-pack: justify !important;
+      justify-content: space-between !important;
+}
+
+.justify-content-around {
+  -ms-flex-pack: distribute !important;
+      justify-content: space-around !important;
+}
+
+.align-items-start {
+  -ms-flex-align: start !important;
+      align-items: flex-start !important;
+}
+
+.align-items-end {
+  -ms-flex-align: end !important;
+      align-items: flex-end !important;
+}
+
+.align-items-center {
+  -ms-flex-align: center !important;
+      align-items: center !important;
+}
+
+.align-items-baseline {
+  -ms-flex-align: baseline !important;
+      align-items: baseline !important;
+}
+
+.align-items-stretch {
+  -ms-flex-align: stretch !important;
+      align-items: stretch !important;
+}
+
+.align-content-start {
+  -ms-flex-line-pack: start !important;
+      align-content: flex-start !important;
+}
+
+.align-content-end {
+  -ms-flex-line-pack: end !important;
+      align-content: flex-end !important;
+}
+
+.align-content-center {
+  -ms-flex-line-pack: center !important;
+      align-content: center !important;
+}
+
+.align-content-between {
+  -ms-flex-line-pack: justify !important;
+      align-content: space-between !important;
+}
+
+.align-content-around {
+  -ms-flex-line-pack: distribute !important;
+      align-content: space-around !important;
+}
+
+.align-content-stretch {
+  -ms-flex-line-pack: stretch !important;
+      align-content: stretch !important;
+}
+
+.align-self-auto {
+  -ms-flex-item-align: auto !important;
+      align-self: auto !important;
+}
+
+.align-self-start {
+  -ms-flex-item-align: start !important;
+      align-self: flex-start !important;
+}
+
+.align-self-end {
+  -ms-flex-item-align: end !important;
+      align-self: flex-end !important;
+}
+
+.align-self-center {
+  -ms-flex-item-align: center !important;
+      align-self: center !important;
+}
+
+.align-self-baseline {
+  -ms-flex-item-align: baseline !important;
+      align-self: baseline !important;
+}
+
+.align-self-stretch {
+  -ms-flex-item-align: stretch !important;
+      align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-sm-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-sm-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-sm-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-sm-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-sm-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-md-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-md-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-md-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-md-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-md-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-md-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-md-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-md-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-md-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-md-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-lg-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-lg-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-lg-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-lg-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-lg-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    -ms-flex-direction: row !important;
+        flex-direction: row !important;
+  }
+  .flex-xl-column {
+    -ms-flex-direction: column !important;
+        flex-direction: column !important;
+  }
+  .flex-xl-row-reverse {
+    -ms-flex-direction: row-reverse !important;
+        flex-direction: row-reverse !important;
+  }
+  .flex-xl-column-reverse {
+    -ms-flex-direction: column-reverse !important;
+        flex-direction: column-reverse !important;
+  }
+  .flex-xl-wrap {
+    -ms-flex-wrap: wrap !important;
+        flex-wrap: wrap !important;
+  }
+  .flex-xl-nowrap {
+    -ms-flex-wrap: nowrap !important;
+        flex-wrap: nowrap !important;
+  }
+  .flex-xl-wrap-reverse {
+    -ms-flex-wrap: wrap-reverse !important;
+        flex-wrap: wrap-reverse !important;
+  }
+  .justify-content-xl-start {
+    -ms-flex-pack: start !important;
+        justify-content: flex-start !important;
+  }
+  .justify-content-xl-end {
+    -ms-flex-pack: end !important;
+        justify-content: flex-end !important;
+  }
+  .justify-content-xl-center {
+    -ms-flex-pack: center !important;
+        justify-content: center !important;
+  }
+  .justify-content-xl-between {
+    -ms-flex-pack: justify !important;
+        justify-content: space-between !important;
+  }
+  .justify-content-xl-around {
+    -ms-flex-pack: distribute !important;
+        justify-content: space-around !important;
+  }
+  .align-items-xl-start {
+    -ms-flex-align: start !important;
+        align-items: flex-start !important;
+  }
+  .align-items-xl-end {
+    -ms-flex-align: end !important;
+        align-items: flex-end !important;
+  }
+  .align-items-xl-center {
+    -ms-flex-align: center !important;
+        align-items: center !important;
+  }
+  .align-items-xl-baseline {
+    -ms-flex-align: baseline !important;
+        align-items: baseline !important;
+  }
+  .align-items-xl-stretch {
+    -ms-flex-align: stretch !important;
+        align-items: stretch !important;
+  }
+  .align-content-xl-start {
+    -ms-flex-line-pack: start !important;
+        align-content: flex-start !important;
+  }
+  .align-content-xl-end {
+    -ms-flex-line-pack: end !important;
+        align-content: flex-end !important;
+  }
+  .align-content-xl-center {
+    -ms-flex-line-pack: center !important;
+        align-content: center !important;
+  }
+  .align-content-xl-between {
+    -ms-flex-line-pack: justify !important;
+        align-content: space-between !important;
+  }
+  .align-content-xl-around {
+    -ms-flex-line-pack: distribute !important;
+        align-content: space-around !important;
+  }
+  .align-content-xl-stretch {
+    -ms-flex-line-pack: stretch !important;
+        align-content: stretch !important;
+  }
+  .align-self-xl-auto {
+    -ms-flex-item-align: auto !important;
+        align-self: auto !important;
+  }
+  .align-self-xl-start {
+    -ms-flex-item-align: start !important;
+        align-self: flex-start !important;
+  }
+  .align-self-xl-end {
+    -ms-flex-item-align: end !important;
+        align-self: flex-end !important;
+  }
+  .align-self-xl-center {
+    -ms-flex-item-align: center !important;
+        align-self: center !important;
+  }
+  .align-self-xl-baseline {
+    -ms-flex-item-align: baseline !important;
+        align-self: baseline !important;
+  }
+  .align-self-xl-stretch {
+    -ms-flex-item-align: stretch !important;
+        align-self: stretch !important;
+  }
+}
+
+.float-left {
+  float: left !important;
+}
+
+.float-right {
+  float: right !important;
+}
+
+.float-none {
+  float: none !important;
+}
+
+@media (min-width: 576px) {
+  .float-sm-left {
+    float: left !important;
+  }
+  .float-sm-right {
+    float: right !important;
+  }
+  .float-sm-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .float-md-left {
+    float: left !important;
+  }
+  .float-md-right {
+    float: right !important;
+  }
+  .float-md-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .float-lg-left {
+    float: left !important;
+  }
+  .float-lg-right {
+    float: right !important;
+  }
+  .float-lg-none {
+    float: none !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .float-xl-left {
+    float: left !important;
+  }
+  .float-xl-right {
+    float: right !important;
+  }
+  .float-xl-none {
+    float: none !important;
+  }
+}
+
+.position-static {
+  position: static !important;
+}
+
+.position-relative {
+  position: relative !important;
+}
+
+.position-absolute {
+  position: absolute !important;
+}
+
+.position-fixed {
+  position: fixed !important;
+}
+
+.position-sticky {
+  position: -webkit-sticky !important;
+  position: sticky !important;
+}
+
+.fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+.fixed-bottom {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1030;
+}
+
+@supports ((position: -webkit-sticky) or (position: sticky)) {
+  .sticky-top {
+    position: -webkit-sticky;
+    position: sticky;
+    top: 0;
+    z-index: 1020;
+  }
+}
+
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  white-space: nowrap;
+  -webkit-clip-path: inset(50%);
+          clip-path: inset(50%);
+  border: 0;
+}
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  overflow: visible;
+  clip: auto;
+  white-space: normal;
+  -webkit-clip-path: none;
+          clip-path: none;
+}
+
+.w-25 {
+  width: 25% !important;
+}
+
+.w-50 {
+  width: 50% !important;
+}
+
+.w-75 {
+  width: 75% !important;
+}
+
+.w-100 {
+  width: 100% !important;
+}
+
+.h-25 {
+  height: 25% !important;
+}
+
+.h-50 {
+  height: 50% !important;
+}
+
+.h-75 {
+  height: 75% !important;
+}
+
+.h-100 {
+  height: 100% !important;
+}
+
+.mw-100 {
+  max-width: 100% !important;
+}
+
+.mh-100 {
+  max-height: 100% !important;
+}
+
+.m-0 {
+  margin: 0 !important;
+}
+
+.mt-0,
+.my-0 {
+  margin-top: 0 !important;
+}
+
+.mr-0,
+.mx-0 {
+  margin-right: 0 !important;
+}
+
+.mb-0,
+.my-0 {
+  margin-bottom: 0 !important;
+}
+
+.ml-0,
+.mx-0 {
+  margin-left: 0 !important;
+}
+
+.m-1 {
+  margin: 0.25rem !important;
+}
+
+.mt-1,
+.my-1 {
+  margin-top: 0.25rem !important;
+}
+
+.mr-1,
+.mx-1 {
+  margin-right: 0.25rem !important;
+}
+
+.mb-1,
+.my-1 {
+  margin-bottom: 0.25rem !important;
+}
+
+.ml-1,
+.mx-1 {
+  margin-left: 0.25rem !important;
+}
+
+.m-2 {
+  margin: 0.5rem !important;
+}
+
+.mt-2,
+.my-2 {
+  margin-top: 0.5rem !important;
+}
+
+.mr-2,
+.mx-2 {
+  margin-right: 0.5rem !important;
+}
+
+.mb-2,
+.my-2 {
+  margin-bottom: 0.5rem !important;
+}
+
+.ml-2,
+.mx-2 {
+  margin-left: 0.5rem !important;
+}
+
+.m-3 {
+  margin: 1rem !important;
+}
+
+.mt-3,
+.my-3 {
+  margin-top: 1rem !important;
+}
+
+.mr-3,
+.mx-3 {
+  margin-right: 1rem !important;
+}
+
+.mb-3,
+.my-3 {
+  margin-bottom: 1rem !important;
+}
+
+.ml-3,
+.mx-3 {
+  margin-left: 1rem !important;
+}
+
+.m-4 {
+  margin: 1.5rem !important;
+}
+
+.mt-4,
+.my-4 {
+  margin-top: 1.5rem !important;
+}
+
+.mr-4,
+.mx-4 {
+  margin-right: 1.5rem !important;
+}
+
+.mb-4,
+.my-4 {
+  margin-bottom: 1.5rem !important;
+}
+
+.ml-4,
+.mx-4 {
+  margin-left: 1.5rem !important;
+}
+
+.m-5 {
+  margin: 3rem !important;
+}
+
+.mt-5,
+.my-5 {
+  margin-top: 3rem !important;
+}
+
+.mr-5,
+.mx-5 {
+  margin-right: 3rem !important;
+}
+
+.mb-5,
+.my-5 {
+  margin-bottom: 3rem !important;
+}
+
+.ml-5,
+.mx-5 {
+  margin-left: 3rem !important;
+}
+
+.p-0 {
+  padding: 0 !important;
+}
+
+.pt-0,
+.py-0 {
+  padding-top: 0 !important;
+}
+
+.pr-0,
+.px-0 {
+  padding-right: 0 !important;
+}
+
+.pb-0,
+.py-0 {
+  padding-bottom: 0 !important;
+}
+
+.pl-0,
+.px-0 {
+  padding-left: 0 !important;
+}
+
+.p-1 {
+  padding: 0.25rem !important;
+}
+
+.pt-1,
+.py-1 {
+  padding-top: 0.25rem !important;
+}
+
+.pr-1,
+.px-1 {
+  padding-right: 0.25rem !important;
+}
+
+.pb-1,
+.py-1 {
+  padding-bottom: 0.25rem !important;
+}
+
+.pl-1,
+.px-1 {
+  padding-left: 0.25rem !important;
+}
+
+.p-2 {
+  padding: 0.5rem !important;
+}
+
+.pt-2,
+.py-2 {
+  padding-top: 0.5rem !important;
+}
+
+.pr-2,
+.px-2 {
+  padding-right: 0.5rem !important;
+}
+
+.pb-2,
+.py-2 {
+  padding-bottom: 0.5rem !important;
+}
+
+.pl-2,
+.px-2 {
+  padding-left: 0.5rem !important;
+}
+
+.p-3 {
+  padding: 1rem !important;
+}
+
+.pt-3,
+.py-3 {
+  padding-top: 1rem !important;
+}
+
+.pr-3,
+.px-3 {
+  padding-right: 1rem !important;
+}
+
+.pb-3,
+.py-3 {
+  padding-bottom: 1rem !important;
+}
+
+.pl-3,
+.px-3 {
+  padding-left: 1rem !important;
+}
+
+.p-4 {
+  padding: 1.5rem !important;
+}
+
+.pt-4,
+.py-4 {
+  padding-top: 1.5rem !important;
+}
+
+.pr-4,
+.px-4 {
+  padding-right: 1.5rem !important;
+}
+
+.pb-4,
+.py-4 {
+  padding-bottom: 1.5rem !important;
+}
+
+.pl-4,
+.px-4 {
+  padding-left: 1.5rem !important;
+}
+
+.p-5 {
+  padding: 3rem !important;
+}
+
+.pt-5,
+.py-5 {
+  padding-top: 3rem !important;
+}
+
+.pr-5,
+.px-5 {
+  padding-right: 3rem !important;
+}
+
+.pb-5,
+.py-5 {
+  padding-bottom: 3rem !important;
+}
+
+.pl-5,
+.px-5 {
+  padding-left: 3rem !important;
+}
+
+.m-auto {
+  margin: auto !important;
+}
+
+.mt-auto,
+.my-auto {
+  margin-top: auto !important;
+}
+
+.mr-auto,
+.mx-auto {
+  margin-right: auto !important;
+}
+
+.mb-auto,
+.my-auto {
+  margin-bottom: auto !important;
+}
+
+.ml-auto,
+.mx-auto {
+  margin-left: auto !important;
+}
+
+@media (min-width: 576px) {
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .mt-sm-0,
+  .my-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mr-sm-0,
+  .mx-sm-0 {
+    margin-right: 0 !important;
+  }
+  .mb-sm-0,
+  .my-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-sm-0,
+  .mx-sm-0 {
+    margin-left: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-sm-1,
+  .my-sm-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-sm-1,
+  .mx-sm-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-sm-1,
+  .my-sm-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-sm-1,
+  .mx-sm-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-sm-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-sm-2,
+  .my-sm-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-sm-2,
+  .mx-sm-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-sm-2,
+  .my-sm-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-sm-2,
+  .mx-sm-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-sm-3 {
+    margin: 1rem !important;
+  }
+  .mt-sm-3,
+  .my-sm-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-sm-3,
+  .mx-sm-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-sm-3,
+  .my-sm-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-sm-3,
+  .mx-sm-3 {
+    margin-left: 1rem !important;
+  }
+  .m-sm-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-sm-4,
+  .my-sm-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-sm-4,
+  .mx-sm-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-sm-4,
+  .my-sm-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-sm-4,
+  .mx-sm-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-sm-5 {
+    margin: 3rem !important;
+  }
+  .mt-sm-5,
+  .my-sm-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-sm-5,
+  .mx-sm-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-sm-5,
+  .my-sm-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-sm-5,
+  .mx-sm-5 {
+    margin-left: 3rem !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .pt-sm-0,
+  .py-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pr-sm-0,
+  .px-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pb-sm-0,
+  .py-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-sm-0,
+  .px-sm-0 {
+    padding-left: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-sm-1,
+  .py-sm-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-sm-1,
+  .px-sm-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-sm-1,
+  .py-sm-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-sm-1,
+  .px-sm-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-sm-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-sm-2,
+  .py-sm-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-sm-2,
+  .px-sm-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-sm-2,
+  .py-sm-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-sm-2,
+  .px-sm-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-sm-3 {
+    padding: 1rem !important;
+  }
+  .pt-sm-3,
+  .py-sm-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-sm-3,
+  .px-sm-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-sm-3,
+  .py-sm-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-sm-3,
+  .px-sm-3 {
+    padding-left: 1rem !important;
+  }
+  .p-sm-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-sm-4,
+  .py-sm-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-sm-4,
+  .px-sm-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-sm-4,
+  .py-sm-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-sm-4,
+  .px-sm-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-sm-5 {
+    padding: 3rem !important;
+  }
+  .pt-sm-5,
+  .py-sm-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-sm-5,
+  .px-sm-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-sm-5,
+  .py-sm-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-sm-5,
+  .px-sm-5 {
+    padding-left: 3rem !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mt-sm-auto,
+  .my-sm-auto {
+    margin-top: auto !important;
+  }
+  .mr-sm-auto,
+  .mx-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-auto,
+  .my-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-sm-auto,
+  .mx-sm-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .mt-md-0,
+  .my-md-0 {
+    margin-top: 0 !important;
+  }
+  .mr-md-0,
+  .mx-md-0 {
+    margin-right: 0 !important;
+  }
+  .mb-md-0,
+  .my-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-md-0,
+  .mx-md-0 {
+    margin-left: 0 !important;
+  }
+  .m-md-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-md-1,
+  .my-md-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-md-1,
+  .mx-md-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-md-1,
+  .my-md-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-md-1,
+  .mx-md-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-md-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-md-2,
+  .my-md-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-md-2,
+  .mx-md-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-md-2,
+  .my-md-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-md-2,
+  .mx-md-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-md-3 {
+    margin: 1rem !important;
+  }
+  .mt-md-3,
+  .my-md-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-md-3,
+  .mx-md-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-md-3,
+  .my-md-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-md-3,
+  .mx-md-3 {
+    margin-left: 1rem !important;
+  }
+  .m-md-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-md-4,
+  .my-md-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-md-4,
+  .mx-md-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-md-4,
+  .my-md-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-md-4,
+  .mx-md-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-md-5 {
+    margin: 3rem !important;
+  }
+  .mt-md-5,
+  .my-md-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-md-5,
+  .mx-md-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-md-5,
+  .my-md-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-md-5,
+  .mx-md-5 {
+    margin-left: 3rem !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .pt-md-0,
+  .py-md-0 {
+    padding-top: 0 !important;
+  }
+  .pr-md-0,
+  .px-md-0 {
+    padding-right: 0 !important;
+  }
+  .pb-md-0,
+  .py-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-md-0,
+  .px-md-0 {
+    padding-left: 0 !important;
+  }
+  .p-md-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-md-1,
+  .py-md-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-md-1,
+  .px-md-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-md-1,
+  .py-md-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-md-1,
+  .px-md-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-md-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-md-2,
+  .py-md-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-md-2,
+  .px-md-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-md-2,
+  .py-md-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-md-2,
+  .px-md-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-md-3 {
+    padding: 1rem !important;
+  }
+  .pt-md-3,
+  .py-md-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-md-3,
+  .px-md-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-md-3,
+  .py-md-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-md-3,
+  .px-md-3 {
+    padding-left: 1rem !important;
+  }
+  .p-md-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-md-4,
+  .py-md-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-md-4,
+  .px-md-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-md-4,
+  .py-md-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-md-4,
+  .px-md-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-md-5 {
+    padding: 3rem !important;
+  }
+  .pt-md-5,
+  .py-md-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-md-5,
+  .px-md-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-md-5,
+  .py-md-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-md-5,
+  .px-md-5 {
+    padding-left: 3rem !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mt-md-auto,
+  .my-md-auto {
+    margin-top: auto !important;
+  }
+  .mr-md-auto,
+  .mx-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-auto,
+  .my-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-md-auto,
+  .mx-md-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .mt-lg-0,
+  .my-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mr-lg-0,
+  .mx-lg-0 {
+    margin-right: 0 !important;
+  }
+  .mb-lg-0,
+  .my-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-lg-0,
+  .mx-lg-0 {
+    margin-left: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-lg-1,
+  .my-lg-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-lg-1,
+  .mx-lg-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-lg-1,
+  .my-lg-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-lg-1,
+  .mx-lg-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-lg-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-lg-2,
+  .my-lg-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-lg-2,
+  .mx-lg-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-lg-2,
+  .my-lg-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-lg-2,
+  .mx-lg-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-lg-3 {
+    margin: 1rem !important;
+  }
+  .mt-lg-3,
+  .my-lg-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-lg-3,
+  .mx-lg-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-lg-3,
+  .my-lg-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-lg-3,
+  .mx-lg-3 {
+    margin-left: 1rem !important;
+  }
+  .m-lg-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-lg-4,
+  .my-lg-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-lg-4,
+  .mx-lg-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-lg-4,
+  .my-lg-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-lg-4,
+  .mx-lg-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-lg-5 {
+    margin: 3rem !important;
+  }
+  .mt-lg-5,
+  .my-lg-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-lg-5,
+  .mx-lg-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-lg-5,
+  .my-lg-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-lg-5,
+  .mx-lg-5 {
+    margin-left: 3rem !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .pt-lg-0,
+  .py-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pr-lg-0,
+  .px-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pb-lg-0,
+  .py-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-lg-0,
+  .px-lg-0 {
+    padding-left: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-lg-1,
+  .py-lg-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-lg-1,
+  .px-lg-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-lg-1,
+  .py-lg-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-lg-1,
+  .px-lg-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-lg-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-lg-2,
+  .py-lg-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-lg-2,
+  .px-lg-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-lg-2,
+  .py-lg-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-lg-2,
+  .px-lg-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-lg-3 {
+    padding: 1rem !important;
+  }
+  .pt-lg-3,
+  .py-lg-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-lg-3,
+  .px-lg-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-lg-3,
+  .py-lg-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-lg-3,
+  .px-lg-3 {
+    padding-left: 1rem !important;
+  }
+  .p-lg-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-lg-4,
+  .py-lg-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-lg-4,
+  .px-lg-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-lg-4,
+  .py-lg-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-lg-4,
+  .px-lg-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-lg-5 {
+    padding: 3rem !important;
+  }
+  .pt-lg-5,
+  .py-lg-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-lg-5,
+  .px-lg-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-lg-5,
+  .py-lg-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-lg-5,
+  .px-lg-5 {
+    padding-left: 3rem !important;
+  }
+  .m-lg-auto {
+    margin: auto !important;
+  }
+  .mt-lg-auto,
+  .my-lg-auto {
+    margin-top: auto !important;
+  }
+  .mr-lg-auto,
+  .mx-lg-auto {
+    margin-right: auto !important;
+  }
+  .mb-lg-auto,
+  .my-lg-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-lg-auto,
+  .mx-lg-auto {
+    margin-left: auto !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .m-xl-0 {
+    margin: 0 !important;
+  }
+  .mt-xl-0,
+  .my-xl-0 {
+    margin-top: 0 !important;
+  }
+  .mr-xl-0,
+  .mx-xl-0 {
+    margin-right: 0 !important;
+  }
+  .mb-xl-0,
+  .my-xl-0 {
+    margin-bottom: 0 !important;
+  }
+  .ml-xl-0,
+  .mx-xl-0 {
+    margin-left: 0 !important;
+  }
+  .m-xl-1 {
+    margin: 0.25rem !important;
+  }
+  .mt-xl-1,
+  .my-xl-1 {
+    margin-top: 0.25rem !important;
+  }
+  .mr-xl-1,
+  .mx-xl-1 {
+    margin-right: 0.25rem !important;
+  }
+  .mb-xl-1,
+  .my-xl-1 {
+    margin-bottom: 0.25rem !important;
+  }
+  .ml-xl-1,
+  .mx-xl-1 {
+    margin-left: 0.25rem !important;
+  }
+  .m-xl-2 {
+    margin: 0.5rem !important;
+  }
+  .mt-xl-2,
+  .my-xl-2 {
+    margin-top: 0.5rem !important;
+  }
+  .mr-xl-2,
+  .mx-xl-2 {
+    margin-right: 0.5rem !important;
+  }
+  .mb-xl-2,
+  .my-xl-2 {
+    margin-bottom: 0.5rem !important;
+  }
+  .ml-xl-2,
+  .mx-xl-2 {
+    margin-left: 0.5rem !important;
+  }
+  .m-xl-3 {
+    margin: 1rem !important;
+  }
+  .mt-xl-3,
+  .my-xl-3 {
+    margin-top: 1rem !important;
+  }
+  .mr-xl-3,
+  .mx-xl-3 {
+    margin-right: 1rem !important;
+  }
+  .mb-xl-3,
+  .my-xl-3 {
+    margin-bottom: 1rem !important;
+  }
+  .ml-xl-3,
+  .mx-xl-3 {
+    margin-left: 1rem !important;
+  }
+  .m-xl-4 {
+    margin: 1.5rem !important;
+  }
+  .mt-xl-4,
+  .my-xl-4 {
+    margin-top: 1.5rem !important;
+  }
+  .mr-xl-4,
+  .mx-xl-4 {
+    margin-right: 1.5rem !important;
+  }
+  .mb-xl-4,
+  .my-xl-4 {
+    margin-bottom: 1.5rem !important;
+  }
+  .ml-xl-4,
+  .mx-xl-4 {
+    margin-left: 1.5rem !important;
+  }
+  .m-xl-5 {
+    margin: 3rem !important;
+  }
+  .mt-xl-5,
+  .my-xl-5 {
+    margin-top: 3rem !important;
+  }
+  .mr-xl-5,
+  .mx-xl-5 {
+    margin-right: 3rem !important;
+  }
+  .mb-xl-5,
+  .my-xl-5 {
+    margin-bottom: 3rem !important;
+  }
+  .ml-xl-5,
+  .mx-xl-5 {
+    margin-left: 3rem !important;
+  }
+  .p-xl-0 {
+    padding: 0 !important;
+  }
+  .pt-xl-0,
+  .py-xl-0 {
+    padding-top: 0 !important;
+  }
+  .pr-xl-0,
+  .px-xl-0 {
+    padding-right: 0 !important;
+  }
+  .pb-xl-0,
+  .py-xl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pl-xl-0,
+  .px-xl-0 {
+    padding-left: 0 !important;
+  }
+  .p-xl-1 {
+    padding: 0.25rem !important;
+  }
+  .pt-xl-1,
+  .py-xl-1 {
+    padding-top: 0.25rem !important;
+  }
+  .pr-xl-1,
+  .px-xl-1 {
+    padding-right: 0.25rem !important;
+  }
+  .pb-xl-1,
+  .py-xl-1 {
+    padding-bottom: 0.25rem !important;
+  }
+  .pl-xl-1,
+  .px-xl-1 {
+    padding-left: 0.25rem !important;
+  }
+  .p-xl-2 {
+    padding: 0.5rem !important;
+  }
+  .pt-xl-2,
+  .py-xl-2 {
+    padding-top: 0.5rem !important;
+  }
+  .pr-xl-2,
+  .px-xl-2 {
+    padding-right: 0.5rem !important;
+  }
+  .pb-xl-2,
+  .py-xl-2 {
+    padding-bottom: 0.5rem !important;
+  }
+  .pl-xl-2,
+  .px-xl-2 {
+    padding-left: 0.5rem !important;
+  }
+  .p-xl-3 {
+    padding: 1rem !important;
+  }
+  .pt-xl-3,
+  .py-xl-3 {
+    padding-top: 1rem !important;
+  }
+  .pr-xl-3,
+  .px-xl-3 {
+    padding-right: 1rem !important;
+  }
+  .pb-xl-3,
+  .py-xl-3 {
+    padding-bottom: 1rem !important;
+  }
+  .pl-xl-3,
+  .px-xl-3 {
+    padding-left: 1rem !important;
+  }
+  .p-xl-4 {
+    padding: 1.5rem !important;
+  }
+  .pt-xl-4,
+  .py-xl-4 {
+    padding-top: 1.5rem !important;
+  }
+  .pr-xl-4,
+  .px-xl-4 {
+    padding-right: 1.5rem !important;
+  }
+  .pb-xl-4,
+  .py-xl-4 {
+    padding-bottom: 1.5rem !important;
+  }
+  .pl-xl-4,
+  .px-xl-4 {
+    padding-left: 1.5rem !important;
+  }
+  .p-xl-5 {
+    padding: 3rem !important;
+  }
+  .pt-xl-5,
+  .py-xl-5 {
+    padding-top: 3rem !important;
+  }
+  .pr-xl-5,
+  .px-xl-5 {
+    padding-right: 3rem !important;
+  }
+  .pb-xl-5,
+  .py-xl-5 {
+    padding-bottom: 3rem !important;
+  }
+  .pl-xl-5,
+  .px-xl-5 {
+    padding-left: 3rem !important;
+  }
+  .m-xl-auto {
+    margin: auto !important;
+  }
+  .mt-xl-auto,
+  .my-xl-auto {
+    margin-top: auto !important;
+  }
+  .mr-xl-auto,
+  .mx-xl-auto {
+    margin-right: auto !important;
+  }
+  .mb-xl-auto,
+  .my-xl-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-xl-auto,
+  .mx-xl-auto {
+    margin-left: auto !important;
+  }
+}
+
+.text-justify {
+  text-align: justify !important;
+}
+
+.text-nowrap {
+  white-space: nowrap !important;
+}
+
+.text-truncate {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.text-left {
+  text-align: left !important;
+}
+
+.text-right {
+  text-align: right !important;
+}
+
+.text-center {
+  text-align: center !important;
+}
+
+@media (min-width: 576px) {
+  .text-sm-left {
+    text-align: left !important;
+  }
+  .text-sm-right {
+    text-align: right !important;
+  }
+  .text-sm-center {
+    text-align: center !important;
+  }
+}
+
+@media (min-width: 768px) {
+  .text-md-left {
+    text-align: left !important;
+  }
+  .text-md-right {
+    text-align: right !important;
+  }
+  .text-md-center {
+    text-align: center !important;
+  }
+}
+
+@media (min-width: 992px) {
+  .text-lg-left {
+    text-align: left !important;
+  }
+  .text-lg-right {
+    text-align: right !important;
+  }
+  .text-lg-center {
+    text-align: center !important;
+  }
+}
+
+@media (min-width: 1200px) {
+  .text-xl-left {
+    text-align: left !important;
+  }
+  .text-xl-right {
+    text-align: right !important;
+  }
+  .text-xl-center {
+    text-align: center !important;
+  }
+}
+
+.text-lowercase {
+  text-transform: lowercase !important;
+}
+
+.text-uppercase {
+  text-transform: uppercase !important;
+}
+
+.text-capitalize {
+  text-transform: capitalize !important;
+}
+
+.font-weight-light {
+  font-weight: 300 !important;
+}
+
+.font-weight-normal {
+  font-weight: 400 !important;
+}
+
+.font-weight-bold {
+  font-weight: 700 !important;
+}
+
+.font-italic {
+  font-style: italic !important;
+}
+
+.text-white {
+  color: #fff !important;
+}
+
+.text-primary {
+  color: #007bff !important;
+}
+
+a.text-primary:focus, a.text-primary:hover {
+  color: #0062cc !important;
+}
+
+.text-secondary {
+  color: #868e96 !important;
+}
+
+a.text-secondary:focus, a.text-secondary:hover {
+  color: #6c757d !important;
+}
+
+.text-success {
+  color: #28a745 !important;
+}
+
+a.text-success:focus, a.text-success:hover {
+  color: #1e7e34 !important;
+}
+
+.text-info {
+  color: #17a2b8 !important;
+}
+
+a.text-info:focus, a.text-info:hover {
+  color: #117a8b !important;
+}
+
+.text-warning {
+  color: #ffc107 !important;
+}
+
+a.text-warning:focus, a.text-warning:hover {
+  color: #d39e00 !important;
+}
+
+.text-danger {
+  color: #dc3545 !important;
+}
+
+a.text-danger:focus, a.text-danger:hover {
+  color: #bd2130 !important;
+}
+
+.text-light {
+  color: #f8f9fa !important;
+}
+
+a.text-light:focus, a.text-light:hover {
+  color: #dae0e5 !important;
+}
+
+.text-dark {
+  color: #343a40 !important;
+}
+
+a.text-dark:focus, a.text-dark:hover {
+  color: #1d2124 !important;
+}
+
+.text-muted {
+  color: #868e96 !important;
+}
+
+.text-hide {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+
+.visible {
+  visibility: visible !important;
+}
+
+.invisible {
+  visibility: hidden !important;
+}
+/*# sourceMappingURL=bootstrap.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap.css.map b/workspace/public/css/bootstrap.css.map
new file mode 100644
index 0000000..77a5c8e
--- /dev/null
+++ b/workspace/public/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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JwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,kDnB/BY;CmBiCf;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBqCa;EmBnCf,sBnBmCe;CkBYd;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBoBW;CmBlBd;;AAGD;EAEE,0BnBaa;EmBZb,sBnBYa;CmBXd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBLW;CmBOd;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBuCa;EmBrCf,sBnBqCe;CkBUd;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,iDnBsBW;CmBpBd;;AAGD;EAEE,0BnBea;EmBdb,sBnBca;CmBbd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,iDnBHW;CmBKd;;ADGD;EC/CA,YJqDc;EKrDZ,0BpBoCa;EmBlCf,sBnBkCe;CkBad;;AjB5CC;EkBCA,YJ+CY;EKrDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBmBW;CmBjBd;;AAGD;EAEE,0BnBYa;EmBXb,sBnBWa;CmBVd;;AAED;;EAGE,YJsBY;EIrBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBNW;CmBQd;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBkCa;EmBhCf,sBnBgCe;CkBed;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBiBW;CmBfd;;AAGD;EAEE,0BnBUa;EmBTb,sBnBSa;CmBRd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBRW;CmBUd;;ADGD;EC/CA,YJqDc;EKrDZ,0BpBMc;EmBJhB,sBnBIgB;CkB2Cf;;AjB5CC;EkBCA,YJ+CY;EKrDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,kDnBXY;CmBaf;;AAGD;EAEE,0BnBlBc;EmBmBd,sBnBnBc;CmBoBf;;AAED;;EAGE,YJsBY;EIrBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,kDnBpCY;CmBsCf;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBac;EmBXhB,sBnBWgB;CkBoCf;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,+CnBJY;CmBMf;;AAGD;EAEE,0BnBXc;EmBYd,sBnBZc;CmBaf;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,+CnB7BY;CmB+Bf;;ADSD;ECLA,enBlBe;EmBmBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBrBe;CkB6Bd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBzBa;EmB0Bb,sBnB1Ba;CCzBS;;AkBsDxB;EAEE,gDnB/Ba;CmBgCd;;AAED;EAEE,enBpCa;EmBqCb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB5Ca;EmB6Cb,sBnB7Ca;EmB+Cb,gDnB/Ca;CmBgDd;;ADzBD;ECLA,enBrCgB;EmBsChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBxCgB;CkBgDf;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnB5Cc;EmB6Cd,sBnB7Cc;CCNQ;;AkBsDxB;EAEE,kDnBlDc;CmBmDf;;AAED;EAEE,enBvDc;EmBwDd,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB/Dc;EmBgEd,sBnBhEc;EmBkEd,kDnBlEc;CmBmEf;;ADzBD;ECLA,enBXe;EmBYf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBde;CkBsBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBlBa;EmBmBb,sBnBnBa;CChCS;;AkBsDxB;EAEE,gDnBxBa;CmByBd;;AAED;EAEE,enB7Ba;EmB8Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBrCa;EmBsCb,sBnBtCa;EmBwCb,gDnBxCa;CmByCd;;ADzBD;ECLA,enBTe;EmBUf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBZe;CkBoBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBhBa;EmBiBb,sBnBjBa;CClCS;;AkBsDxB;EAEE,iDnBtBa;CmBuBd;;AAED;EAEE,enB3Ba;EmB4Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBnCa;EmBoCb,sBnBpCa;EmBsCb,iDnBtCa;CmBuCd;;ADzBD;ECLA,enBZe;EmBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBfe;CkBuBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBnBa;EmBoBb,sBnBpBa;CC/BS;;AkBsDxB;EAEE,gDnBzBa;CmB0Bd;;AAED;EAEE,enB9Ba;EmB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBtCa;EmBuCb,sBnBvCa;EmByCb,gDnBzCa;CmB0Cd;;ADzBD;ECLA,enBde;EmBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBjBe;CkByBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBrBa;EmBsBb,sBnBtBa;CC7BS;;AkBsDxB;EAEE,gDnB3Ba;CmB4Bd;;AAED;EAEE,enBhCa;EmBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBxCa;EmByCb,sBnBzCa;EmB2Cb,gDnB3Ca;CmB4Cd;;ADzBD;ECLA,enB1CgB;EmB2ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnB7CgB;CkBqDf;;AjBtDC;EkBiDA,enBxCc;EmByCd,0BnBjDc;EmBkDd,sBnBlDc;CCDQ;;AkBsDxB;EAEE,kDnBvDc;CmBwDf;;AAED;EAEE,enB5Dc;EmB6Dd,8BAA6B;CAC9B;;AAED;;EAGE,enB3Dc;EmB4Dd,0BnBpEc;EmBqEd,sBnBrEc;EmBuEd,kDnBvEc;CmBwEf;;ADzBD;ECLA,enBnCgB;EmBoChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBtCgB;CkB8Cf;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnB1Cc;EmB2Cd,sBnB3Cc;CCRQ;;AkBsDxB;EAEE,+CnBhDc;CmBiDf;;AAED;EAEE,enBrDc;EmBsDd,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB7Dc;EmB8Dd,sBnB9Dc;EmBgEd,+CnBhEc;CmBiEf;;ADVH;EACE,iBlB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;G8ByB3B;EAtDT;IxBhKI,gCN6LgC;IM5LhC,iCN4LgC;G8BqBzB;EAlDX;IxBlJI,oCN+KgC;IM9KhC,mCN8KgC;G8BwBzB;EArDX;IAyDU,iBAAgB;GAMjB;EA/DT;;IA6DY,iBAAgB;GACjB;ChC2qHV;;AgC/pHD;EAEI,uB9BoWsC;C8BnWvC;;AnB/LC;EmB4LJ;IAMI,wB9B8WiC;Y8B9WjC,gB9B8WiC;I8B7WjC,4B9B8WuC;Y8B9WvC,oB9B8WuC;G8BvW1C;EAdD;IAUM,sBAAqB;IACrB,YAAW;GACZ;ChCkqHJ;;AiCl6HD;EACE,qBAAa;EAAb,cAAa;EACb,oBAAe;MAAf,gBAAe;EACf,sB/BowBsC;E+BnwBtC,oB/BswBsC;E+BrwBtC,iBAAgB;EAChB,0B/BOgB;EMTd,uBNmMgC;C+B/LnC;;AAED;EAGI,sBAAqB;EACrB,sB/B0vBqC;E+BzvBrC,qB/ByvBqC;E+BxvBrC,e/BCc;E+BAd,aAAiC;CAClC;;AARH;EAiBI,2BAA0B;CAC3B;;AAlBH;EAqBI,sBAAqB;CACtB;;AAtBH;EAyBI,e/BlBc;C+BmBf;;ACpCH;EACE,qBAAa;EAAb,cAAa;E7BGb,gBAAe;EACf,iBAAgB;EGDd,uBNmMgC;CgCnMnC;;AAED;EAGM,eAAc;E1BsBhB,gCNwKgC;EMvKhC,mCNuKgC;CgC5L/B;;AALL;E1BWI,iCNsLgC;EMrLhC,oCNqLgC;CgCvL/B;;AAVL;EAcI,WAAU;EACV,YhCVW;EgCWX,0BhCca;EgCbb,sBhCaa;CgCZd;;AAlBH;EAqBI,ehCVc;EgCWd,qBAAoB;EACpB,uBhClBW;EgCmBX,mBhCijBoC;CgChjBrC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wBhCohBwC;EgCnhBxC,kBhC8J+B;EgC7J/B,kBhCuhBsC;EgCthBtC,ehCJe;EgCKf,uBhC9Ba;EgC+Bb,uBhCyhBsC;CgCjhBvC;;A/B3BG;E+BsBA,ehCgGgD;EgC/FhD,sBAAqB;EACrB,0BhClCc;EgCmCd,mBhCuhBoC;CC7iBnC;;AgCvBH;EACE,wBjCyjBsC;EiCxjBtC,mBjC2NkD;EiC1NlD,iBjC2L6B;CiC1L9B;;AAIG;E3BoBF,+BNyK+B;EMxK/B,kCNwK+B;CiC3L5B;;AAGD;E3BCF,gCNuL+B;EMtL/B,mCNsL+B;CiCtL5B;;AAfL;EACE,wBjCujBqC;EiCtjBrC,oBjC4NkD;EiC3NlD,iBjC4L6B;CiC3L9B;;AAIG;E3BoBF,+BN0K+B;EMzK/B,kCNyK+B;CiC5L5B;;AAGD;E3BCF,gCNwL+B;EMvL/B,mCNuL+B;CiCvL5B;;ACbP;EACE,sBAAqB;EACrB,sBlCmpBsC;EkClpBtC,elC+oBqC;EkC9oBrC,iBlC4N+B;EkC3N/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBNmMgC;CkCnLnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBlC4nBsC;EkC3nBtC,oBlC2nBsC;EMzpBpC,qBN4pBqC;CkC5nBxC;;AAOC;EC1CA,YpB4Dc;EoB3Dd,0BnCkCe;CkCSd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCegB;CkC4Bf;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCyCe;CkCEd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnC2Ce;CkCAd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB0Dc;EoBzDd,0BnCwCe;CkCGd;;AjCtBC;EkCjBE,YpBqDU;EoBpDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCsCe;CkCKd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB0Dc;EoBzDd,0BnCUgB;CkCiCf;;AjCtBC;EkCjBE,YpBqDU;EoBpDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCiBgB;CkC0Bf;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AmC1BL;EACE,mBAAoD;EACpD,oBpCklBsC;EoCjlBtC,0BpCUgB;EMTd,sBNoM+B;CoC/LlC;;AzB+CG;EyBxDJ;IAOI,mBpC6kBoC;GoC3kBvC;CtCyoIA;;AsCvoID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBrCisByC;EqChsBzC,oBrCisBsC;EqChsBtC,8BAA6C;E/BJ3C,uBNmMgC;CqC7LnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBrCiN+B;CqChNhC;;AAOD;EAGI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBrCqqBuC;EqCpqBvC,eAAc;CACf;;AASD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ACXH;EACE;IAAO,4BAAuC;GzCoyI7C;EyCnyID;IAAK,yBAAwB;GzCsyI5B;CACF;;AyCzyID;EACE;IAAO,4BAAuC;GzCoyI7C;EyCnyID;IAAK,yBAAwB;GzCsyI5B;CACF;;AyCpyID;EACE,qBAAa;EAAb,cAAa;EACb,avCysBsC;EuCxsBtC,iBAAgB;EAChB,mBvCwsByD;EuCvsBzD,0BvCGgB;EMTd,uBNmMgC;CuC3LnC;;AAED;EACE,qBAAa;EAAb,cAAa;EACb,uBAAmB;MAAnB,oBAAmB;EACnB,sBAAuB;MAAvB,wBAAuB;EACvB,YvCPa;EuCQb,0BvCiBe;CuChBhB;;AAED;EnBqBE,sMAA6I;EmBnB7I,2BvCwrBsC;CuCvrBvC;;AAED;EACE,2DvC2rBoD;UuC3rBpD,mDvC2rBoD;CuC1rBrD;;AC7BD;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;MAAvB,wBAAuB;CACxB;;AAED;EACE,YAAO;MAAP,QAAO;CACR;;ACHD;EACE,qBAAa;EAAb,cAAa;EACb,2BAAsB;MAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCHgB;EyCIhB,oBAAmB;CAapB;;AxCZG;EwCGA,ezCRc;EyCSd,sBAAqB;EACrB,0BzChBc;CCcb;;AwCPL;EAaI,ezCZc;EyCad,0BzCpBc;CyCqBf;;AAQH;EACE,mBAAkB;EAClB,eAAc;EACd,yBzCqrByC;EyCnrBzC,oBzCqJ+B;EyCpJ/B,uBzCrCa;EyCsCb,uCzC5Ba;CyCwDd;;AAnCD;EnChCI,gCN6LgC;EM5LhC,iCN4LgC;CyClJjC;;AAXH;EAcI,iBAAgB;EnChChB,oCN+KgC;EM9KhC,mCN8KgC;CyC7IjC;;AxCnCC;EwCsCA,sBAAqB;CxCnCpB;;AwCgBL;EAwBI,ezCjDc;EyCkDd,uBzCxDW;CyCyDZ;;AA1BH;EA8BI,WAAU;EACV,YzC9DW;EyC+DX,0BzCtCa;EyCuCb,sBzCvCa;CyCwCd;;AASH;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AClGH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"print\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n",":root {\n  // Custom variable values only support SassScript inside `#{}`.\n  @each $color, $value in $colors {\n    --#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$color}: #{$value};\n  }\n\n  @each $bp, $value in $grid-breakpoints {\n    --breakpoint-#{$bp}: #{$value};\n  }\n\n  // Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n  --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n  @media print {\n    *,\n    *::before,\n    *::after {\n      // Bootstrap specific; comment out `color` and `background`\n      //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n      text-shadow: none !important;\n      //background: transparent !important;\n      box-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n      text-decoration: underline;\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //a[href]::after {\n    //  content: \" (\" attr(href) \")\";\n    //}\n\n    abbr[title]::after {\n      content: \" (\" attr(title) \")\";\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    //\n\n    //a[href^=\"#\"]::after,\n    //a[href^=\"javascript:\"]::after {\n    // content: \"\";\n    //}\n\n    pre {\n      white-space: pre-wrap !important;\n    }\n    pre,\n    blockquote {\n      border: $border-width solid #999;   // Bootstrap custom code; using `$border-width` instead of 1px\n      page-break-inside: avoid;\n    }\n\n    //\n    // Printing Tables:\n    // http://css-discuss.incutio.com/wiki/Printing_Tables\n    //\n\n    thead {\n      display: table-header-group;\n    }\n\n    tr,\n    img {\n      page-break-inside: avoid;\n    }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    h2,\n    h3 {\n      page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Bootstrap components\n    .navbar {\n      display: none;\n    }\n    .badge {\n      border: $border-width solid #000;\n    }\n\n    .table {\n      border-collapse: collapse !important;\n\n      td,\n      th {\n        background-color: #fff !important;\n      }\n    }\n    .table-bordered {\n      th,\n      td {\n        border: 1px solid #ddd !important;\n      }\n    }\n\n    // Bootstrap specific changes end\n  }\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #868e96;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #868e96;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.2;\n  color: inherit;\n}\n\nh1, .h1 {\n  font-size: 2.5rem;\n}\n\nh2, .h2 {\n  font-size: 2rem;\n}\n\nh3, .h3 {\n  font-size: 1.75rem;\n}\n\nh4, .h4 {\n  font-size: 1.5rem;\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n  margin-right: 5px;\n}\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #868e96;\n}\n\n.blockquote-footer::before {\n  content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 0.25rem;\n  transition: all 0.2s ease-in-out;\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 90%;\n  color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #bd4147;\n  background-color: #f8f9fa;\n  border-radius: 0.25rem;\n}\n\na > code {\n  padding: 0;\n  color: inherit;\n  background-color: inherit;\n}\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem;\n}\n\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n}\n\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  font-size: 90%;\n  color: #212529;\n}\n\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  background-color: transparent;\n  border-radius: 0;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  flex-basis: 0;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n  max-width: none;\n}\n\n.col-1 {\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  order: -1;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-sm-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-md-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    order: -1;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-lg-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-xl-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  background-color: transparent;\n}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n  background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem;\n}\n\n.table-bordered {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n  border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n  background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n  background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n  background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n  background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n  background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n  background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n  background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n  background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n  background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n  background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n  background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n  background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n  background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #212529;\n  border-color: #32383e;\n}\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #e9ecef;\n}\n\n.table-dark {\n  color: #fff;\n  background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n  border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n  border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n  background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-sm.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 767px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-md.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 991px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-lg.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 1199px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-xl.table-bordered {\n    border: 0;\n  }\n}\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n  border: 0;\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-image: none;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: none;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n  height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.col-form-legend {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n}\n\n.form-control-plaintext {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  line-height: 1.5;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(2.875rem + 2px);\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.form-check {\n  position: relative;\n  display: block;\n  margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n  color: #868e96;\n}\n\n.form-check-label {\n  padding-left: 1.25rem;\n  margin-bottom: 0;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.25rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-inline {\n  display: inline-block;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n  vertical-align: middle;\n}\n\n.valid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #28a745;\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n  border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n  background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n  color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #dc3545;\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(220, 53, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n  border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n  background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n  color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center;\n}\n\n.form-inline .form-check {\n  width: 100%;\n}\n\n@media (min-width: 576px) {\n  .form-inline label {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: flex;\n    flex: 0 0 auto;\n    flex-flow: row wrap;\n    align-items: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-plaintext {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: auto;\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  .form-inline .form-check-label {\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding-left: 0;\n  }\n  .form-inline .custom-control-indicator {\n    position: static;\n    display: inline-block;\n    margin-right: 0.25rem;\n    vertical-align: text-bottom;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  user-select: none;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n  text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n  opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n  background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n\n.btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #0062cc;\n  border-color: #005cbf;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:hover {\n  color: #fff;\n  background-color: #727b84;\n  border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #666e76;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n  color: #fff;\n  background-color: #1e7e34;\n  border-color: #1c7430;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n  color: #fff;\n  background-color: #117a8b;\n  border-color: #10707f;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n  color: #111;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:hover {\n  color: #111;\n  background-color: #e0a800;\n  border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n  color: #111;\n  background-color: #d39e00;\n  border-color: #c69500;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #bd2130;\n  border-color: #b21f2d;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n  color: #111;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n  color: #111;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n  color: #111;\n  background-color: #dae0e5;\n  border-color: #d3d9df;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:hover {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #1d2124;\n  border-color: #171a1d;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n  color: #007bff;\n  background-color: transparent;\n  background-image: none;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n  color: #868e96;\n  background-color: transparent;\n  background-image: none;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n  color: #28a745;\n  background-color: transparent;\n  background-image: none;\n  border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n  color: #17a2b8;\n  background-color: transparent;\n  background-image: none;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n  color: #ffc107;\n  background-color: transparent;\n  background-image: none;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n  color: #ffc107;\n  background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n  color: #dc3545;\n  background-color: transparent;\n  background-image: none;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n  color: #dc3545;\n  background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n  color: #f8f9fa;\n  background-color: transparent;\n  background-image: none;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n  color: #343a40;\n  background-color: transparent;\n  background-image: none;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n  color: #343a40;\n  background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n  font-weight: 400;\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n  border-color: transparent;\n  box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n  color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-block + .btn-block {\n  margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.fade {\n  opacity: 0;\n  transition: opacity 0.15s linear;\n}\n\n.fade.show {\n  opacity: 1;\n}\n\n.collapse {\n  display: none;\n}\n\n.collapse.show {\n  display: block;\n}\n\ntr.collapse.show {\n  display: table-row;\n}\n\ntbody.collapse.show {\n  display: table-row-group;\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n  margin-top: 0;\n  margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background: none;\n  border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n  color: #16181b;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n  color: #fff;\n  text-decoration: none;\n  background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #868e96;\n  white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n  margin-left: -1px;\n}\n\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n  float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n  width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n\n.input-group {\n  position: relative;\n  display: flex;\n  align-items: stretch;\n  width: 100%;\n}\n\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n  z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: flex;\n  align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n  white-space: nowrap;\n}\n\n.input-group-addon {\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n  border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n  border-left: 0;\n}\n\n.input-group-btn {\n  position: relative;\n  align-items: stretch;\n  font-size: 0;\n  white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n  position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n  z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n  margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n  margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n  z-index: 2;\n  margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n  margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n  z-index: 3;\n}\n\n.custom-control {\n  position: relative;\n  display: inline-flex;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n  background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n  color: #868e96;\n}\n\n.custom-control-indicator {\n  position: absolute;\n  top: 0.25rem;\n  left: 0;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  user-select: none;\n  background-color: #ddd;\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n  background-color: #007bff;\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n  display: flex;\n  flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n  margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n  margin-left: 0;\n}\n\n.custom-select {\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n  background-size: 8px 10px;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  appearance: none;\n}\n\n.custom-select:focus {\n  border-color: #80bdff;\n  outline: none;\n}\n\n.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple] {\n  height: auto;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #868e96;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  opacity: 0;\n}\n\n.custom-select-sm {\n  height: calc(1.8125rem + 2px);\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  font-size: 75%;\n}\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  min-width: 14rem;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin: 0;\n  opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n  box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 5;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  pointer-events: none;\n  user-select: none;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n  content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n  position: absolute;\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  z-index: 6;\n  display: block;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n  content: \"Browse\";\n}\n\n.nav {\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n  text-decoration: none;\n}\n\n.nav-link.disabled {\n  color: #868e96;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n  margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n  border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n  color: #868e96;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: #495057;\n  background-color: #fff;\n  border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n  flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified .nav-item {\n  flex-basis: 0;\n  flex-grow: 1;\n  text-align: center;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n  text-decoration: none;\n}\n\n.navbar-nav {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n  flex-basis: 100%;\n  flex-grow: 1;\n  align-items: center;\n}\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n  text-decoration: none;\n}\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-sm .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-sm .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 767px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-md .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 991px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-lg .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-lg .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 1199px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-xl .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n.navbar-expand {\n  flex-flow: row nowrap;\n  justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n  flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: .5rem;\n  padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n  display: flex !important;\n  flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n  display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n  color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n  color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n  color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n  color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n  color: #fff;\n}\n\n.card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem;\n}\n\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n  flex: 1 1 auto;\n  padding: 1.25rem;\n}\n\n.card-title {\n  margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link:hover {\n  text-decoration: none;\n}\n\n.card-link + .card-link {\n  margin-left: 1.25rem;\n}\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n  border-top: 0;\n}\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem;\n}\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n  display: flex;\n  flex-direction: column;\n}\n\n.card-deck .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-deck {\n    flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    display: flex;\n    flex: 1 0 0%;\n    flex-direction: column;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}\n\n.card-group {\n  display: flex;\n  flex-direction: column;\n}\n\n.card-group .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-group {\n    flex-flow: row wrap;\n  }\n  .card-group .card {\n    flex: 1 0 0%;\n    margin-bottom: 0;\n  }\n  .card-group .card + .card {\n    margin-left: 0;\n    border-left: 0;\n  }\n  .card-group .card:first-child {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-top {\n    border-top-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-bottom {\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:last-child {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-top {\n    border-top-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-bottom {\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:only-child {\n    border-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-top {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-bottom {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n    border-radius: 0;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n    border-radius: 0;\n  }\n}\n\n.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    column-count: 3;\n    column-gap: 1.25rem;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\n  }\n}\n\n.breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n  display: inline-block;\n  padding-right: 0.5rem;\n  padding-left: 0.5rem;\n  color: #868e96;\n  content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  color: #868e96;\n}\n\n.pagination {\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n  color: #868e96;\n  pointer-events: none;\n  background-color: #fff;\n  border-color: #ddd;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #007bff;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n  color: #0056b3;\n  text-decoration: none;\n  background-color: #e9ecef;\n  border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #0062cc;\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #6c757d;\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1e7e34;\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #117a8b;\n}\n\n.badge-warning {\n  color: #111;\n  background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #d39e00;\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #bd2130;\n}\n\n.badge-light {\n  color: #111;\n  background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #dae0e5;\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1d2124;\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\n}\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n}\n\n.alert-dismissible .close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  padding: 0.75rem 1.25rem;\n  color: inherit;\n}\n\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n  color: #002752;\n}\n\n.alert-secondary {\n  color: #464a4e;\n  background-color: #e7e8ea;\n  border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n  border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n  color: #2e3133;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n  color: #0b2e13;\n}\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n  color: #062c33;\n}\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n  color: #533f03;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n  color: #491217;\n}\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n  color: #686868;\n}\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.progress-bar {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: #fff;\n  background-color: #007bff;\n}\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n  animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\n}\n\n.list-group {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n  color: #495057;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n  color: #212529;\n  background-color: #e9ecef;\n}\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n  text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n  color: #868e96;\n  background-color: #fff;\n}\n\n.list-group-item.active {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  border-bottom: 0;\n}\n\n.list-group-item-primary {\n  color: #004085;\n  background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n  color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n  color: #004085;\n  background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n  color: #fff;\n  background-color: #004085;\n  border-color: #004085;\n}\n\n.list-group-item-secondary {\n  color: #464a4e;\n  background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n  color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n  color: #464a4e;\n  background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n  color: #fff;\n  background-color: #464a4e;\n  border-color: #464a4e;\n}\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n  color: #155724;\n  background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n  color: #fff;\n  background-color: #155724;\n  border-color: #155724;\n}\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n  color: #0c5460;\n  background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n  color: #fff;\n  background-color: #0c5460;\n  border-color: #0c5460;\n}\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n  color: #856404;\n  background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n  color: #fff;\n  background-color: #856404;\n  border-color: #856404;\n}\n\n.list-group-item-danger {\n  color: #721c24;\n  background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n  color: #721c24;\n  background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n  color: #fff;\n  background-color: #721c24;\n  border-color: #721c24;\n}\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n  color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n  color: #818182;\n  background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n  color: #fff;\n  background-color: #818182;\n  border-color: #818182;\n}\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n  color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n  color: #1b1e21;\n  background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n  color: #fff;\n  background-color: #1b1e21;\n  border-color: #1b1e21;\n}\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5;\n}\n\n.close:focus, .close:hover {\n  color: #000;\n  text-decoration: none;\n  opacity: .75;\n}\n\nbutton.close {\n  padding: 0;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n\n.modal-open {\n  overflow: hidden;\n}\n\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  outline: 0;\n}\n\n.modal.fade .modal-dialog {\n  transition: transform 0.3s ease-out;\n  transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n  transform: translate(0, 0);\n}\n\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n  pointer-events: none;\n}\n\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n\n.modal-backdrop.fade {\n  opacity: 0;\n}\n\n.modal-backdrop.show {\n  opacity: 0.5;\n}\n\n.modal-header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  padding: 15px;\n  border-bottom: 1px solid #e9ecef;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n  padding: 15px;\n  margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.modal-body {\n  position: relative;\n  flex: 1 1 auto;\n  padding: 15px;\n}\n\n.modal-footer {\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  padding: 15px;\n  border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 30px auto;\n  }\n  .modal-sm {\n    max-width: 300px;\n  }\n}\n\n@media (min-width: 992px) {\n  .modal-lg {\n    max-width: 800px;\n  }\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0;\n}\n\n.tooltip.show {\n  opacity: 0.9;\n}\n\n.tooltip .arrow {\n  position: absolute;\n  display: block;\n  width: 5px;\n  height: 5px;\n}\n\n.tooltip .arrow::before {\n  position: absolute;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n  right: 0;\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n  position: absolute;\n  display: block;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.popover .arrow::before {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n  margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n  bottom: -0.8rem;\n  margin-left: -0.8rem;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  bottom: calc((0.8rem - 1px) * -1);\n  margin-left: -0.8rem;\n  border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n  margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n  left: -0.8rem;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  left: calc((0.8rem - 1px) * -1);\n  border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n  margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  margin-left: -0.8rem;\n  border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n  top: -0.8rem;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  top: calc((0.8rem - 1px) * -1);\n  border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: 20px;\n  margin-left: -10px;\n  content: \"\";\n  border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n  margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n  right: -0.8rem;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  right: calc((0.8rem - 1px) * -1);\n  border-left-color: #fff;\n}\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  color: inherit;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  align-items: center;\n  width: 100%;\n  transition: transform 0.6s ease;\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n  position: absolute;\n  top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n  transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-next.carousel-item-left,\n  .carousel-item-prev.carousel-item-right {\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n  transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-next,\n  .active.carousel-item-right {\n    transform: translate3d(100%, 0, 0);\n  }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n  transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-prev,\n  .active.carousel-item-left {\n    transform: translate3d(-100%, 0, 0);\n  }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: .9;\n}\n\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: transparent no-repeat center center;\n  background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  left: 0;\n  z-index: 15;\n  display: flex;\n  justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  position: relative;\n  flex: 0 1 auto;\n  width: 30px;\n  height: 3px;\n  margin-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n  position: absolute;\n  top: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators li::after {\n  position: absolute;\n  bottom: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators .active {\n  background-color: #fff;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n  background-color: #6c757d !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #868e96 !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.d-none {\n  display: none !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n.d-print-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-block {\n    display: block !important;\n  }\n}\n\n.d-print-inline {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n}\n\n.d-print-inline-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n}\n\n@media print {\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n\n.embed-responsive::before {\n  display: block;\n  content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n\n.embed-responsive-21by9::before {\n  padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n  padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n  padding-top: 100%;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n}\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important;\n  }\n  .float-sm-right {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important;\n  }\n  .float-md-right {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important;\n  }\n  .float-lg-right {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important;\n  }\n  .float-xl-right {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: sticky !important;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n@supports (position: sticky) {\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  clip-path: inset(50%);\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n  clip-path: none;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-justify {\n  text-align: justify !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n  color: #0062cc !important;\n}\n\n.text-secondary {\n  color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n  color: #6c757d !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n  color: #1e7e34 !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n  color: #117a8b !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n  color: #d39e00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n  color: #bd2130 !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n  color: #dae0e5 !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n  color: #1d2124 !important;\n}\n\n.text-muted {\n  color: #868e96 !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n//    we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -ms-text-size-adjust: 100%; // 4\n  -ms-overflow-style: scrollbar; // 5\n  -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n  @-ms-viewport {\n    width: device-width;\n  }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  font-size: $font-size-base;\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n  cursor: help; // 3\n  border-bottom: 0; // 1\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n  font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n  font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n  -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n  }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n  font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n  // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n  // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n  -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n  overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n  padding-top: $table-cell-padding;\n  padding-bottom: $table-cell-padding;\n  color: $text-muted;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n  border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n//    controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n  // bug where setting a custom line-height prevents text from being vertically\n  // centered within the input.\n  // See https://bugs.webkit.org/show_bug.cgi?id=139848\n  // and https://github.com/twbs/bootstrap/issues/11266\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // Browsers set a default `min-width: min-content;` on fieldsets,\n  // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  // So we reset that to ensure fieldsets behave more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359\n  // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n  display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n), $grays);\n\n$blue:    #007bff !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #e83e8c !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #28a745 !default;\n$teal:    #20c997 !default;\n$cyan:    #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n), $colors);\n\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n  \"primary\":    $primary,\n  \"secondary\":  $secondary,\n  \"success\":    $success,\n  \"info\":       $info,\n  \"warning\":    $warning,\n  \"danger\":     $danger,\n  \"light\":      $light,\n  \"dark\":       $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval:      8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret:              true !default;\n$enable-rounded:            true !default;\n$enable-shadows:            false !default;\n$enable-gradients:          false !default;\n$enable-transitions:        true !default;\n$enable-hover-media-query:  false !default;\n$enable-grid-classes:       true !default;\n$enable-print-styles:       true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: ($spacer * .25),\n  2: ($spacer * .5),\n  3: $spacer,\n  4: ($spacer * 1.5),\n  5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n  25: 25%,\n  50: 50%,\n  75: 75%,\n  100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                theme-color(\"primary\") !default;\n$link-decoration:           none !default;\n$link-hover-color:          darken($link-color, 15%) !default;\n$link-hover-decoration:     underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 992px,\n  xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns:                12 !default;\n$grid-gutter-width:           30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg:              1.5 !default;\n$line-height-sm:              1.5 !default;\n\n$border-width:                1px !default;\n$border-color:                $gray-200 !default;\n\n$border-radius:               .25rem !default;\n$border-radius-lg:            .3rem !default;\n$border-radius-sm:            .2rem !default;\n\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"primary\") !default;\n\n$caret-width:                 .3em !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n$transition-collapse:         height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace:       \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base:            $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base:              1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg:                ($font-size-base * 1.25) !default;\n$font-size-sm:                ($font-size-base * .875) !default;\n\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-bold:            700 !default;\n\n$font-weight-base:            $font-weight-normal !default;\n$line-height-base:            1.5 !default;\n\n$h1-font-size:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n\n$headings-margin-bottom:      ($spacer / 2) !default;\n$headings-font-family:        inherit !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n\n$display1-size:               6rem !default;\n$display2-size:               5.5rem !default;\n$display3-size:               4.5rem !default;\n$display4-size:               3.5rem !default;\n\n$display1-weight:             300 !default;\n$display2-weight:             300 !default;\n$display3-weight:             300 !default;\n$display4-weight:             300 !default;\n$display-line-height:         $headings-line-height !default;\n\n$lead-font-size:              ($font-size-base * 1.25) !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             80% !default;\n\n$text-muted:                  $gray-600 !default;\n\n$blockquote-small-color:      $gray-600 !default;\n$blockquote-font-size:        ($font-size-base * 1.25) !default;\n\n$hr-border-color:             rgba($black,.1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight:      $font-weight-bold !default;\n\n$list-inline-padding:         5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding:          .75rem !default;\n$table-cell-padding-sm:       .3rem !default;\n\n$table-bg:                    transparent !default;\n$table-accent-bg:             rgba($black,.05) !default;\n$table-hover-bg:              rgba($black,.075) !default;\n$table-active-bg:             $table-hover-bg !default;\n\n$table-border-width:          $border-width !default;\n$table-border-color:          $gray-200 !default;\n\n$table-head-bg:               $gray-200 !default;\n$table-head-color:            $gray-700 !default;\n\n$table-dark-bg:               $gray-900 !default;\n$table-dark-accent-bg:        rgba($white, .05) !default;\n$table-dark-hover-bg:         rgba($white, .075) !default;\n$table-dark-border-color:     lighten($gray-900, 7.5%) !default;\n$table-dark-color:            $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y:         .375rem !default;\n$input-btn-padding-x:         .75rem !default;\n$input-btn-line-height:       $line-height-base !default;\n\n$input-btn-focus-width:       .2rem !default;\n$input-btn-focus-color:       rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow:  0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm:      .25rem !default;\n$input-btn-padding-x-sm:      .5rem !default;\n$input-btn-line-height-sm:    $line-height-sm !default;\n\n$input-btn-padding-y-lg:      .5rem !default;\n$input-btn-padding-x-lg:      1rem !default;\n$input-btn-line-height-lg:    $line-height-lg !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color:     $gray-600 !default;\n\n$btn-block-spacing-y:         .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           $border-radius !default;\n$btn-border-radius-lg:        $border-radius-lg !default;\n$btn-border-radius-sm:        $border-radius-sm !default;\n\n$btn-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg:                              $white !default;\n$input-disabled-bg:                     $gray-200 !default;\n\n$input-color:                           $gray-700 !default;\n$input-border-color:                    $gray-400 !default;\n$input-btn-border-width:                $border-width !default; // For form controls and buttons\n$input-box-shadow:                      inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius:                   $border-radius !default;\n$input-border-radius-lg:                $border-radius-lg !default;\n$input-border-radius-sm:                $border-radius-sm !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               $gray-600 !default;\n\n$input-height-border:                   $input-btn-border-width * 2 !default;\n\n$input-height-inner:                    ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height:                          calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm:                 ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm:                       calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg:                 ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg:                       calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition:                      border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top:                  .25rem !default;\n\n$form-check-margin-bottom:              .5rem !default;\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .25rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n\n$form-group-margin-bottom:              1rem !default;\n\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  $gray-200 !default;\n$input-group-addon-border-color:        $input-border-color !default;\n\n$custom-control-gutter:                 1.5rem !default;\n$custom-control-spacer-y:               .25rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           #ddd !default;\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg:          $gray-200 !default;\n$custom-control-description-disabled-color:     $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $white !default;\n$custom-control-indicator-checked-bg:           theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n\n$custom-control-indicator-focus-box-shadow:     0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color:         $white !default;\n$custom-control-indicator-active-bg:            lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:    theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:  str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y:           .375rem !default;\n$custom-select-padding-x:          .75rem !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height:         $input-btn-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $white !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     #333 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width:        $input-btn-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n\n$custom-select-focus-border-color:  lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow:    inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm:        75% !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-width:                 14rem !default;\n$custom-file-focus-box-shadow:      0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y:             $input-btn-padding-y !default;\n$custom-file-padding-x:             $input-btn-padding-x !default;\n$custom-file-line-height:           $input-btn-line-height !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-btn-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  placeholder: (\n    en: \"Choose file...\"\n  ),\n  button-label: (\n    en: \"Browse\"\n  )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-bg:                       $white !default;\n$dropdown-border-color:             rgba($black,.15) !default;\n$dropdown-border-width:             $border-width !default;\n$dropdown-divider-bg:               $gray-200 !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color:               $gray-900 !default;\n$dropdown-link-hover-color:         darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg:            $gray-100 !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      $gray-600 !default;\n\n$dropdown-item-padding-y:           .25rem !default;\n$dropdown-item-padding-x:           1.5rem !default;\n\n$dropdown-header-color:             $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-modal-backdrop:             1040 !default;\n$zindex-modal:                      1050 !default;\n$zindex-popover:                    1060 !default;\n$zindex-tooltip:                    1070 !default;\n\n// Navs\n\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-disabled-color:           $gray-600 !default;\n\n$nav-tabs-border-color:             #ddd !default;\n$nav-tabs-border-width:             $border-width !default;\n$nav-tabs-border-radius:            $border-radius !default;\n$nav-tabs-link-hover-border-color:  $gray-200 !default;\n$nav-tabs-link-active-color:        $gray-700 !default;\n$nav-tabs-link-active-bg:           $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius:           $border-radius !default;\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y:                  ($spacer / 2) !default;\n$navbar-padding-x:                  $spacer !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height:                   ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      $btn-border-radius !default;\n\n$navbar-dark-color:                 rgba($white,.5) !default;\n$navbar-dark-hover-color:           rgba($white,.75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg:       str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color:  rgba($white,.1) !default;\n\n$navbar-light-color:                rgba($black,.5) !default;\n$navbar-light-hover-color:          rgba($black,.7) !default;\n$navbar-light-active-color:         rgba($black,.9) !default;\n$navbar-light-disabled-color:       rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg:      str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y:              .5rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n$pagination-line-height:            1.25 !default;\n\n$pagination-color:                  $link-color !default;\n$pagination-bg:                     $white !default;\n$pagination-border-width:           $border-width !default;\n$pagination-border-color:           #ddd !default;\n\n$pagination-hover-color:            $link-hover-color !default;\n$pagination-hover-bg:               $gray-200 !default;\n$pagination-hover-border-color:     #ddd !default;\n\n$pagination-active-color:           $white !default;\n$pagination-active-bg:              theme-color(\"primary\") !default;\n$pagination-active-border-color:    theme-color(\"primary\") !default;\n\n$pagination-disabled-color:         $gray-600 !default;\n$pagination-disabled-bg:            $white !default;\n$pagination-disabled-border-color:  #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-bg:                      $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y:                     .75rem !default;\n$card-spacer-x:                     1.25rem !default;\n$card-border-width:                 $border-width !default;\n$card-border-radius:                $border-radius !default;\n$card-border-color:                 rgba($black,.125) !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg:                       rgba($black, .03) !default;\n$card-bg:                           $white !default;\n\n$card-img-overlay-padding:          1.25rem !default;\n\n$card-group-margin:                 ($grid-gutter-width / 2) !default;\n$card-deck-margin:                  $card-group-margin !default;\n\n$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     $white !default;\n$tooltip-bg:                        $black !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 3px !default;\n$tooltip-padding-x:                 8px !default;\n$tooltip-margin:                    0 !default;\n\n\n$tooltip-arrow-width:               5px !default;\n$tooltip-arrow-height:              5px !default;\n$tooltip-arrow-color:               $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg:                        $white !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              $border-width !default;\n$popover-border-color:              rgba($black,.2) !default;\n$popover-box-shadow:                0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg:                 darken($popover-bg, 3%) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          .75rem !default;\n\n$popover-body-color:                $body-color !default;\n$popover-body-padding-y:            $popover-header-padding-y !default;\n$popover-body-padding-x:            $popover-header-padding-x !default;\n\n$popover-arrow-width:               .8rem !default;\n$popover-arrow-height:              .4rem !default;\n$popover-arrow-color:               $popover-bg !default;\n\n$popover-arrow-outer-color:         fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size:                   75% !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               15px !default;\n\n$modal-dialog-margin:               10px !default;\n$modal-dialog-margin-y-sm-up:       30px !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-bg:                  $white !default;\n$modal-content-border-color:        rgba($black,.2) !default;\n$modal-content-border-width:        $border-width !default;\n$modal-content-box-shadow-xs:       0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up:    0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n$modal-header-border-color:         $gray-200 !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n$modal-header-padding:              15px !default;\n\n$modal-lg:                          800px !default;\n$modal-md:                          500px !default;\n$modal-sm:                          300px !default;\n\n$modal-transition:                  transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y:                   .75rem !default;\n$alert-padding-x:                   1.25rem !default;\n$alert-margin-bottom:               1rem !default;\n$alert-border-radius:               $border-radius !default;\n$alert-link-font-weight:            $font-weight-bold !default;\n$alert-border-width:                $border-width !default;\n\n\n// Progress bars\n\n$progress-height:                   1rem !default;\n$progress-font-size:                ($font-size-base * .75) !default;\n$progress-bg:                       $gray-200 !default;\n$progress-border-radius:            $border-radius !default;\n$progress-box-shadow:               inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"primary\") !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n\n// List group\n\n$list-group-bg:                     $white !default;\n$list-group-border-color:           rgba($black,.125) !default;\n$list-group-border-width:           $border-width !default;\n$list-group-border-radius:          $border-radius !default;\n\n$list-group-item-padding-y:         .75rem !default;\n$list-group-item-padding-x:         1.25rem !default;\n\n$list-group-hover-bg:               $gray-100 !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         $gray-600 !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           $gray-700 !default;\n$list-group-action-hover-color:     $list-group-action-color !default;\n\n$list-group-action-active-color:    $body-color !default;\n$list-group-action-active-bg:       $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      $body-bg !default;\n$thumbnail-border-width:            $border-width !default;\n$thumbnail-border-color:            #ddd !default;\n$thumbnail-border-radius:           $border-radius !default;\n$thumbnail-box-shadow:              0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition:              all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size:          90% !default;\n$figure-caption-color:              $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y:              .75rem !default;\n$breadcrumb-padding-x:              1rem !default;\n$breadcrumb-item-padding:           .5rem !default;\n\n$breadcrumb-margin-bottom:          1rem !default;\n\n$breadcrumb-bg:                     $gray-200 !default;\n$breadcrumb-divider-color:          $gray-600 !default;\n$breadcrumb-active-color:           $gray-600 !default;\n$breadcrumb-divider:                \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color:            $white !default;\n$carousel-control-width:            15% !default;\n$carousel-control-opacity:          .5 !default;\n\n$carousel-indicator-width:          30px !default;\n$carousel-indicator-height:         3px !default;\n$carousel-indicator-spacer:         3px !default;\n$carousel-indicator-active-bg:      $white !default;\n\n$carousel-caption-width:            70% !default;\n$carousel-caption-color:            $white !default;\n\n$carousel-control-icon-width:       20px !default;\n\n$carousel-control-prev-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:     str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition:               transform .6s ease !default;\n\n\n// Close\n\n$close-font-size:                   $font-size-base * 1.5 !default;\n$close-font-weight:                 $font-weight-bold !default;\n$close-color:                       $black !default;\n$close-text-shadow:                 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size:                    90% !default;\n$code-padding-y:                    .2rem !default;\n$code-padding-x:                    .4rem !default;\n$code-color:                        #bd4147 !default;\n$code-bg:                           $gray-100 !default;\n\n$kbd-color:                         $white !default;\n$kbd-bg:                            $gray-900 !default;\n\n$pre-color:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n","// stylelint-disable indentation\n@mixin hover {\n  // TODO: re-enable along with mq4-hover-shim\n//  @if $enable-hover-media-query {\n//    // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n//    // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n//    @media (hover: hover) {\n//      &:hover { @content }\n//    }\n//  }\n//  @else {\n    &:hover { @content; }\n//  }\n}\n\n\n@mixin hover-focus {\n  @if $enable-hover-media-query {\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin plain-hover-focus {\n  @if $enable-hover-media-query {\n    &,\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &,\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin hover-focus-active {\n  @if $enable-hover-media-query {\n    &:focus,\n    &:active {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:active,\n    &:hover {\n      @content;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: $headings-margin-bottom;\n  font-family: $headings-font-family;\n  font-weight: $headings-font-weight;\n  line-height: $headings-line-height;\n  color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n  font-size: $lead-font-size;\n  font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n  font-size: $display1-size;\n  font-weight: $display1-weight;\n  line-height: $display-line-height;\n}\n.display-2 {\n  font-size: $display2-size;\n  font-weight: $display2-weight;\n  line-height: $display-line-height;\n}\n.display-3 {\n  font-size: $display3-size;\n  font-weight: $display3-weight;\n  line-height: $display-line-height;\n}\n.display-4 {\n  font-size: $display4-size;\n  font-weight: $display4-weight;\n  line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n  font-size: $small-font-size;\n  font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n  padding: $mark-padding;\n  background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n  @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  @include list-unstyled;\n}\n.list-inline-item {\n  display: inline-block;\n\n  &:not(:last-child) {\n    margin-right: $list-inline-padding;\n  }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n  margin-bottom: $spacer;\n  font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%; // back to default font-size\n  color: $blockquote-small-color;\n\n  &::before {\n    content: \"\\2014 \\00A0\"; // em dash, nbsp\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n  @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n  padding: $thumbnail-padding;\n  background-color: $thumbnail-bg;\n  border: $thumbnail-border-width solid $thumbnail-border-color;\n  @include border-radius($thumbnail-border-radius);\n  @include transition($thumbnail-transition);\n  @include box-shadow($thumbnail-box-shadow);\n\n  // Keep them at most 100% wide\n  @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n  // Ensures the caption's text aligns with the image.\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: ($spacer / 2);\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: $figure-caption-font-size;\n  color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n  background-image: url($file-1x);\n\n  // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n  // but doesn't convert dppx=>dpi.\n  // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n  // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n  @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n  only screen and (min-resolution: 2dppx) { // Standardized\n    background-image: url($file-2x);\n    background-size: $width-1x $height-1x;\n  }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-radius: $radius;\n  }\n}\n\n@mixin border-top-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: $radius;\n    border-top-right-radius: $radius;\n  }\n}\n\n@mixin border-right-radius($radius) {\n  @if $enable-rounded {\n    border-top-right-radius: $radius;\n    border-bottom-right-radius: $radius;\n  }\n}\n\n@mixin border-bottom-radius($radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: $radius;\n    border-bottom-left-radius: $radius;\n  }\n}\n\n@mixin border-left-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: $radius;\n    border-bottom-left-radius: $radius;\n  }\n}\n","@mixin transition($transition...) {\n  @if $enable-transitions {\n    @if length($transition) == 0 {\n      transition: $transition-base;\n    } @else {\n      transition: $transition;\n    }\n  }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: $code-padding-y $code-padding-x;\n  font-size: $code-font-size;\n  color: $code-color;\n  background-color: $code-bg;\n  @include border-radius($border-radius);\n\n  // Streamline the style when inside anchors to avoid broken underline and more\n  a > & {\n    padding: 0;\n    color: inherit;\n    background-color: inherit;\n  }\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: $code-padding-y $code-padding-x;\n  font-size: $code-font-size;\n  color: $kbd-color;\n  background-color: $kbd-bg;\n  @include border-radius($border-radius-sm);\n  @include box-shadow($kbd-box-shadow);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: $nested-kbd-font-weight;\n    @include box-shadow(none);\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  font-size: $code-font-size;\n  color: $pre-color;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: $pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n  }\n\n  // Remove the negative margin from default .row, then the horizontal padding\n  // from all immediate children columns (to prevent runaway style inheritance).\n  .no-gutters {\n    margin-right: 0;\n    margin-left: 0;\n\n    > .col,\n    > [class*=\"col-\"] {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n  width: 100%;\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint, $container-max-width in $max-widths {\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      max-width: $container-max-width;\n    }\n  }\n}\n\n@mixin make-row() {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: ($grid-gutter-width / -2);\n  margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n  position: relative;\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we use `flex` values\n  // later on to override this initial width.\n  width: 100%;\n  min-height: 1px; // Prevent collapsing\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n  flex: 0 0 percentage($size / $columns);\n  // Add a `max-width` to ensure content within each column does not blow out\n  // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n  // do not appear to require this.\n  max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: $size / $columns;\n  margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $next: breakpoint-next($name, $breakpoints);\n  @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  $max: breakpoint-max($name, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($name) {\n      @content;\n    }\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  // Common properties for all breakpoints\n  %grid-column {\n    position: relative;\n    width: 100%;\n    min-height: 1px; // Prevent columns from collapsing when empty\n    padding-right: ($gutter / 2);\n    padding-left: ($gutter / 2);\n  }\n\n  @each $breakpoint in map-keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    // Allow columns to stretch full width below their breakpoints\n    @for $i from 1 through $columns {\n      .col#{$infix}-#{$i} {\n        @extend %grid-column;\n      }\n    }\n    .col#{$infix},\n    .col#{$infix}-auto {\n      @extend %grid-column;\n    }\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex-basis: 0;\n        flex-grow: 1;\n        max-width: 100%;\n      }\n      .col#{$infix}-auto {\n        flex: 0 0 auto;\n        width: auto;\n        max-width: none; // Reset earlier grid tiers\n      }\n\n      @for $i from 1 through $columns {\n        .col#{$infix}-#{$i} {\n          @include make-col($i, $columns);\n        }\n      }\n\n      .order#{$infix}-first {\n        order: -1;\n      }\n\n      @for $i from 1 through $columns {\n        .order#{$infix}-#{$i} {\n          order: $i;\n        }\n      }\n\n      // `$columns - 1` because offsetting by the width of an entire row isn't possible\n      @for $i from 0 through ($columns - 1) {\n        @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n          .offset#{$infix}-#{$i} {\n            @include make-col-offset($i, $columns);\n          }\n        }\n      }\n    }\n  }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $spacer;\n  background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n  th,\n  td {\n    padding: $table-cell-padding;\n    vertical-align: top;\n    border-top: $table-border-width solid $table-border-color;\n  }\n\n  thead th {\n    vertical-align: bottom;\n    border-bottom: (2 * $table-border-width) solid $table-border-color;\n  }\n\n  tbody + tbody {\n    border-top: (2 * $table-border-width) solid $table-border-color;\n  }\n\n  .table {\n    background-color: $body-bg;\n  }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n  th,\n  td {\n    padding: $table-cell-padding-sm;\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: $table-border-width solid $table-border-color;\n\n  th,\n  td {\n    border: $table-border-width solid $table-border-color;\n  }\n\n  thead {\n    th,\n    td {\n      border-bottom-width: (2 * $table-border-width);\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  tbody tr:nth-of-type(odd) {\n    background-color: $table-accent-bg;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  tbody tr {\n    @include hover {\n      background-color: $table-hover-bg;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n  @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n  .thead-dark {\n    th {\n      color: $table-dark-color;\n      background-color: $table-dark-bg;\n      border-color: $table-dark-border-color;\n    }\n  }\n\n  .thead-light {\n    th {\n      color: $table-head-color;\n      background-color: $table-head-bg;\n      border-color: $table-border-color;\n    }\n  }\n}\n\n.table-dark {\n  color: $table-dark-color;\n  background-color: $table-dark-bg;\n\n  th,\n  td,\n  thead th {\n    border-color: $table-dark-border-color;\n  }\n\n  &.table-bordered {\n    border: 0;\n  }\n\n  &.table-striped {\n    tbody tr:nth-of-type(odd) {\n      background-color: $table-dark-accent-bg;\n    }\n  }\n\n  &.table-hover {\n    tbody tr {\n      @include hover {\n        background-color: $table-dark-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    &#{$infix} {\n      @include media-breakpoint-down($breakpoint) {\n        display: block;\n        width: 100%;\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n        -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n        // Prevent double border on horizontal scroll due to use of `display: block;`\n        &.table-bordered {\n          border: 0;\n        }\n      }\n    }\n  }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table-#{$state} {\n    &,\n    > th,\n    > td {\n      background-color: $background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover {\n    $hover-background: darken($background, 5%);\n\n    .table-#{$state} {\n      @include hover {\n        background-color: $hover-background;\n\n        > td,\n        > th {\n          background-color: $hover-background;\n        }\n      }\n    }\n  }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n  $prev-key: null;\n  $prev-num: null;\n  @each $key, $num in $map {\n    @if $prev-num == null {\n      // Do nothing\n    } @else if not comparable($prev-num, $num) {\n      @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n    } @else if $prev-num >= $num {\n      @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n    }\n    $prev-key: $key;\n    $prev-num: $num;\n  }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n  $values: map-values($map);\n  $first-value: nth($values, 1);\n  @if $first-value != 0 {\n    @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n  }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n  $index: str-index($string, $search);\n\n  @if $index {\n    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n  }\n\n  @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n  $r: red($color);\n  $g: green($color);\n  $b: blue($color);\n\n  $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n  @if ($yiq >= 150) {\n    @return #111;\n  } @else {\n    @return #fff;\n  }\n}\n\n// Retreive color Sass maps\n@function color($key: \"blue\") {\n  @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n  @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n  @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n  $color: theme-color($color-name);\n  $color-base: if($level > 0, #000, #fff);\n  $level: abs($level);\n\n  @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: $input-btn-padding-y $input-btn-padding-x;\n  font-size: $font-size-base;\n  line-height: $input-btn-line-height;\n  color: $input-color;\n  background-color: $input-bg;\n  // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.\n  background-image: none;\n  background-clip: padding-box;\n  border: $input-btn-border-width solid $input-border-color;\n\n  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n  @if $enable-rounded {\n    // Manually use the if/else instead of the mixin to account for iOS override\n    border-radius: $input-border-radius;\n  } @else {\n    // Otherwise undo the iOS default\n    border-radius: 0;\n  }\n\n  @include box-shadow($input-box-shadow);\n  @include transition($input-transition);\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    background-color: transparent;\n    border: 0;\n  }\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  @include form-control-focus();\n\n  // Placeholder\n  &::placeholder {\n    color: $input-placeholder-color;\n    // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n    opacity: 1;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &:disabled,\n  &[readonly] {\n    background-color: $input-disabled-bg;\n    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n    opacity: 1;\n  }\n}\n\nselect.form-control {\n  &:not([size]):not([multiple]) {\n    height: $input-height;\n  }\n\n  &:focus::-ms-value {\n    // Suppress the nested default white text on blue background highlight given to\n    // the selected option text when the (still closed) <select> receives focus\n    // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n    // match the appearance of the native widget.\n    // See https://github.com/twbs/bootstrap/issues/19398.\n    color: $input-color;\n    background-color: $input-bg;\n  }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n  display: block;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label text to\n// align with the form controls.\n.col-form-label {\n  padding-top: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n  margin-bottom: 0; // Override the `<label>` default\n  line-height: $input-btn-line-height;\n}\n\n.col-form-label-lg {\n  padding-top: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n  font-size: $font-size-lg;\n  line-height: $input-btn-line-height-lg;\n}\n\n.col-form-label-sm {\n  padding-top: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n  font-size: $font-size-sm;\n  line-height: $input-btn-line-height-sm;\n}\n\n\n//\n// Legends\n//\n\n// For use with horizontal and inline forms, when you need the legend text to\n// be the same size as regular labels, and to align with the form controls.\n.col-form-legend {\n  padding-top: $input-btn-padding-y;\n  padding-bottom: $input-btn-padding-y;\n  margin-bottom: 0;\n  font-size: $font-size-base;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n  padding-top: $input-btn-padding-y;\n  padding-bottom: $input-btn-padding-y;\n  margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n  line-height: $input-btn-line-height;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: $input-btn-border-width 0;\n\n  &.form-control-sm,\n  &.form-control-lg {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n  padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n  font-size: $font-size-sm;\n  line-height: $input-btn-line-height-sm;\n  @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n  &:not([size]):not([multiple]) {\n    height: $input-height-sm;\n  }\n}\n\n.form-control-lg {\n  padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n  font-size: $font-size-lg;\n  line-height: $input-btn-line-height-lg;\n  @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n  &:not([size]):not([multiple]) {\n    height: $input-height-lg;\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n  display: block;\n  margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n\n  > .col,\n  > [class*=\"col-\"] {\n    padding-right: 5px;\n    padding-left: 5px;\n  }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n  position: relative;\n  display: block;\n  margin-bottom: $form-check-margin-bottom;\n\n  &.disabled {\n    .form-check-label {\n      color: $text-muted;\n    }\n  }\n}\n\n.form-check-label {\n  padding-left: $form-check-input-gutter;\n  margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: $form-check-input-margin-y;\n  margin-left: -$form-check-input-gutter;\n}\n\n// Radios and checkboxes on same line\n.form-check-inline {\n  display: inline-block;\n  margin-right: $form-check-inline-margin-x;\n\n  .form-check-label {\n    vertical-align: middle;\n  }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n  // Because we use flex, the initial sizing of checkboxes is collapsed and\n  // doesn't occupy the full-width (which is what we want for xs grid tier),\n  // so we force that here.\n  .form-check {\n    width: 100%;\n  }\n\n  // Kick in the inline\n  @include media-breakpoint-up(sm) {\n    label {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 0;\n    }\n\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: flex;\n      flex: 0 0 auto;\n      flex-flow: row wrap;\n      align-items: center;\n      margin-bottom: 0;\n    }\n\n    // Allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-plaintext {\n      display: inline-block;\n    }\n\n    .input-group {\n      width: auto;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .form-check {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      width: auto;\n      margin-top: 0;\n      margin-bottom: 0;\n    }\n    .form-check-label {\n      padding-left: 0;\n    }\n    .form-check-input {\n      position: relative;\n      margin-top: 0;\n      margin-right: $form-check-input-margin-x;\n      margin-left: 0;\n    }\n\n    // Custom form controls\n    .custom-control {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 0;\n    }\n    .custom-control-indicator {\n      position: static;\n      display: inline-block;\n      margin-right: $form-check-input-margin-x; // Flexbox alignment means we lose our HTML space here, so we compensate.\n      vertical-align: text-bottom;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n  &:focus {\n    color: $input-focus-color;\n    background-color: $input-focus-bg;\n    border-color: $input-focus-border-color;\n    outline: none;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $input-box-shadow, $input-btn-focus-box-shadow;\n    } @else {\n      box-shadow: $input-btn-focus-box-shadow;\n    }\n  }\n}\n\n\n@mixin form-validation-state($state, $color) {\n\n  .#{$state}-feedback {\n    display: none;\n    margin-top: .25rem;\n    font-size: .875rem;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    width: 250px;\n    padding: .5rem;\n    margin-top: .1rem;\n    font-size: .875rem;\n    line-height: 1;\n    color: #fff;\n    background-color: rgba($color,.8);\n    border-radius: .2rem;\n  }\n\n  .form-control,\n  .custom-select {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      &:focus {\n        box-shadow: 0 0 0 .2rem rgba($color,.25);\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n\n  // TODO: redo check markup lol crap\n  .form-check-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      + .form-check-label {\n        color: $color;\n      }\n    }\n  }\n\n  // custom radios and checks\n  .custom-control-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-control-indicator {\n        background-color: rgba($color, .25);\n      }\n      ~ .custom-control-description {\n        color: $color;\n      }\n    }\n  }\n\n  // custom file\n  .custom-file-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-file-control {\n        border-color: $color;\n\n        &::before { border-color: inherit; }\n      }\n      &:focus {\n        box-shadow: 0 0 0 .2rem rgba($color,.25);\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n  display: inline-block;\n  font-weight: $btn-font-weight;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  user-select: none;\n  border: $input-btn-border-width solid transparent;\n  @include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);\n  @include transition($btn-transition);\n\n  // Share hover and focus styles\n  @include hover-focus {\n    text-decoration: none;\n  }\n  &:focus,\n  &.focus {\n    outline: 0;\n    box-shadow: $input-btn-focus-box-shadow;\n  }\n\n  // Disabled comes first so active can properly restyle\n  &.disabled,\n  &:disabled {\n    opacity: .65;\n    @include box-shadow(none);\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active {\n    background-image: none;\n    @include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow);\n  }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n  .btn-#{$color} {\n    @include button-variant($value, $value);\n  }\n}\n\n@each $color, $value in $theme-colors {\n  .btn-outline-#{$color} {\n    @if $color == \"light\" {\n      @include button-outline-variant($value, $gray-900);\n    } @else {\n      @include button-outline-variant($value, $white);\n    }\n  }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n  font-weight: $font-weight-normal;\n  color: $link-color;\n  background-color: transparent;\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n    background-color: transparent;\n    border-color: transparent;\n  }\n\n  &:focus,\n  &.focus {\n    border-color: transparent;\n    box-shadow: none;\n  }\n\n  &:disabled,\n  &.disabled {\n    color: $btn-link-disabled-color;\n  }\n\n  // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n  @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n  @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: $btn-block-spacing-y;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n  color: color-yiq($background);\n  @include gradient-bg($background);\n  border-color: $border;\n  @include box-shadow($btn-box-shadow);\n\n  @include hover {\n    color: color-yiq($hover-background);\n    @include gradient-bg($hover-background);\n    border-color: $hover-border;\n  }\n\n  &:focus,\n  &.focus {\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $btn-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n    } @else {\n      box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n    }\n  }\n\n  // Disabled comes first so active can properly restyle\n  &.disabled,\n  &:disabled {\n    background-color: $background;\n    border-color: $border;\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active,\n  .show > &.dropdown-toggle {\n    color: color-yiq($active-background);\n    background-color: $active-background;\n    @if $enable-gradients {\n      background-image: none; // Remove the gradient for the pressed/active state\n    }\n    border-color: $active-border;\n\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $btn-active-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n    } @else {\n      box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n    }\n  }\n}\n\n@mixin button-outline-variant($color, $color-hover: #fff) {\n  color: $color;\n  background-color: transparent;\n  background-image: none;\n  border-color: $color;\n\n  @include hover {\n    color: $color-hover;\n    background-color: $color;\n    border-color: $color;\n  }\n\n  &:focus,\n  &.focus {\n    box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $color;\n    background-color: transparent;\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active,\n  .show > &.dropdown-toggle {\n    color: $color-hover;\n    background-color: $color;\n    border-color: $color;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n  }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n  padding: $padding-y $padding-x;\n  font-size: $font-size;\n  line-height: $line-height;\n  @include border-radius($border-radius);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n  @if $enable-gradients {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n  } @else {\n    background-color: $color;\n  }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n  background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n  opacity: 0;\n  @include transition($transition-fade);\n\n  &.show {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n  &.show {\n    display: block;\n  }\n}\n\ntr {\n  &.collapse.show {\n    display: table-row;\n  }\n}\n\ntbody {\n  &.collapse.show {\n    display: table-row-group;\n  }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle {\n  // Generate the caret automatically\n  @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: $zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: $dropdown-min-width;\n  padding: $dropdown-padding-y 0;\n  margin: $dropdown-spacer 0 0; // override default ul\n  font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n  color: $body-color;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  list-style: none;\n  background-color: $dropdown-bg;\n  background-clip: padding-box;\n  border: $dropdown-border-width solid $dropdown-border-color;\n  @include border-radius($border-radius);\n  @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n  .dropdown-menu {\n    margin-top: 0;\n    margin-bottom: $dropdown-spacer;\n  }\n\n  .dropdown-toggle {\n    @include caret(up);\n  }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n  @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n  display: block;\n  width: 100%; // For `<button>`s\n  padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n  clear: both;\n  font-weight: $font-weight-normal;\n  color: $dropdown-link-color;\n  text-align: inherit; // For `<button>`s\n  white-space: nowrap; // prevent links from randomly breaking onto new lines\n  background: none; // For `<button>`s\n  border: 0; // For `<button>`s\n\n  @include hover-focus {\n    color: $dropdown-link-hover-color;\n    text-decoration: none;\n    @include gradient-bg($dropdown-link-hover-bg);\n  }\n\n  &.active,\n  &:active {\n    color: $dropdown-link-active-color;\n    text-decoration: none;\n    @include gradient-bg($dropdown-link-active-bg);\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $dropdown-link-disabled-color;\n    background-color: transparent;\n    // Remove CSS gradients if they're enabled\n    @if $enable-gradients {\n      background-image: none;\n    }\n  }\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: $dropdown-padding-y $dropdown-item-padding-x;\n  margin-bottom: 0; // for use with heading elements\n  font-size: $font-size-sm;\n  color: $dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n  border-top: $caret-width solid;\n  border-right: $caret-width solid transparent;\n  border-bottom: 0;\n  border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n  border-top: 0;\n  border-right: $caret-width solid transparent;\n  border-bottom: $caret-width solid;\n  border-left: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n  @if $enable-caret {\n    &::after {\n      display: inline-block;\n      width: 0;\n      height: 0;\n      margin-left: $caret-width * .85;\n      vertical-align: $caret-width * .85;\n      content: \"\";\n      @if $direction == down {\n        @include caret-down;\n      } @else if $direction == up {\n        @include caret-up;\n      }\n    }\n\n    &:empty::after {\n      margin-left: 0;\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n  height: 0;\n  margin: ($spacer / 2) 0;\n  overflow: hidden;\n  border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n\n  > .btn {\n    position: relative;\n    flex: 0 1 auto;\n\n    // Bring the hover, focused, and \"active\" buttons to the front to overlay\n    // the borders properly\n    @include hover {\n      z-index: 2;\n    }\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n\n  // Prevent double borders when buttons are next to each other\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -$input-btn-border-width;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n\n  .input-group {\n    width: auto;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group\n// and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n\n  &:not(:last-child):not(.dropdown-toggle) {\n    @include border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu\n// immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including\n// dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    @include border-right-radius(0);\n  }\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  @include border-left-radius(0);\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.btn + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x * .75;\n  padding-left: $input-btn-padding-x * .75;\n\n  &::after {\n    margin-left: 0;\n  }\n}\n\n.btn-sm + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x-sm * .75;\n  padding-left: $input-btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x-lg * .75;\n  padding-left: $input-btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n  @include box-shadow($btn-active-box-shadow);\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    @include box-shadow(none);\n  }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n\n  .btn,\n  .btn-group {\n    width: 100%;\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -$input-btn-border-width;\n    margin-left: 0;\n  }\n\n  > .btn {\n    &:not(:first-child):not(:last-child) {\n      border-radius: 0;\n    }\n\n    &:first-child:not(:last-child) {\n      @include border-bottom-radius(0);\n    }\n\n    &:last-child:not(:first-child) {\n      @include border-top-radius(0);\n    }\n  }\n\n  > .btn-group:not(:first-child):not(:last-child) > .btn {\n    border-radius: 0;\n  }\n\n  > .btn-group:first-child:not(:last-child) {\n    > .btn:last-child,\n    > .dropdown-toggle {\n      @include border-bottom-radius(0);\n    }\n  }\n\n  > .btn-group:last-child:not(:first-child) > .btn:first-child {\n    @include border-top-radius(0);\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n  position: relative;\n  display: flex;\n  align-items: stretch;\n  width: 100%;\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n    flex: 1 1 auto;\n    // Add width 1% and flex-basis auto to ensure that button will not wrap out\n    // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n    width: 1%;\n    margin-bottom: 0;\n\n    // Bring the \"active\" form control to the front\n    @include hover-focus-active {\n      z-index: 3;\n    }\n  }\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: flex;\n  align-items: center;\n  &:not(:first-child):not(:last-child) {\n    @include border-radius(0);\n  }\n}\n\n.input-group-addon,\n.input-group-btn {\n  white-space: nowrap;\n}\n\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  @extend .form-control-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  @extend .form-control-sm;\n}\n\n\n//\n// Text input groups\n//\n\n.input-group-addon {\n  padding: $input-btn-padding-y $input-btn-padding-x;\n  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n  font-size: $font-size-base; // Match inputs\n  font-weight: $font-weight-normal;\n  line-height: $input-btn-line-height;\n  color: $input-group-addon-color;\n  text-align: center;\n  background-color: $input-group-addon-bg;\n  border: $input-btn-border-width solid $input-group-addon-border-color;\n  @include border-radius($input-border-radius);\n\n  // Sizing\n  &.form-control-sm {\n    padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n    font-size: $font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  &.form-control-lg {\n    padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n    font-size: $font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n\n//\n// Reset rounded corners\n//\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n  @include border-right-radius(0);\n}\n.input-group-addon:not(:last-child) {\n  border-right: 0;\n}\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n  @include border-left-radius(0);\n}\n.form-control + .input-group-addon:not(:first-child) {\n  border-left: 0;\n}\n\n//\n// Button input groups\n//\n\n.input-group-btn {\n  position: relative;\n  align-items: stretch;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n\n    + .btn {\n      margin-left: (-$input-btn-border-width);\n    }\n\n    // Bring the \"active\" button to the front\n    @include hover-focus-active {\n      z-index: 3;\n    }\n  }\n\n  &:first-child > .btn + .btn {\n    margin-left: 0;\n  }\n\n  // Negative margin to only have a single, shared border between the two\n  &:not(:last-child) {\n    > .btn,\n    > .btn-group {\n      margin-right: (-$input-btn-border-width);\n    }\n  }\n  &:not(:first-child) {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      // remove nagative margin ($input-btn-border-width) to solve overlapping issue with button.\n      margin-left: 0;\n\n      // When input is first, overlap the right side of it with the button(-group)\n      &:first-child {\n        margin-left: (-$input-btn-border-width);\n      }\n\n      // Because specificity\n      @include hover-focus-active {\n        z-index: 3;\n      }\n    }\n  }\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n  position: relative;\n  display: inline-flex;\n  min-height: (1rem * $line-height-base);\n  padding-left: $custom-control-gutter;\n  margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1; // Put the input behind the label so it doesn't overlay text\n  opacity: 0;\n\n  &:checked ~ .custom-control-indicator {\n    color: $custom-control-indicator-checked-color;\n    @include gradient-bg($custom-control-indicator-checked-bg);\n    @include box-shadow($custom-control-indicator-checked-box-shadow);\n  }\n\n  &:focus ~ .custom-control-indicator {\n    // the mixin is not used here to make sure there is feedback\n    box-shadow: $custom-control-indicator-focus-box-shadow;\n  }\n\n  &:active ~ .custom-control-indicator {\n    color: $custom-control-indicator-active-color;\n    @include gradient-bg($custom-control-indicator-active-bg);\n    @include box-shadow($custom-control-indicator-active-box-shadow);\n  }\n\n  &:disabled {\n    ~ .custom-control-indicator {\n      background-color: $custom-control-indicator-disabled-bg;\n    }\n\n    ~ .custom-control-description {\n      color: $custom-control-description-disabled-color;\n    }\n  }\n}\n\n// Custom indicator\n//\n// Generates a shadow element to create our makeshift checkbox/radio background.\n\n.custom-control-indicator {\n  position: absolute;\n  top: (($line-height-base - $custom-control-indicator-size) / 2);\n  left: 0;\n  display: block;\n  width: $custom-control-indicator-size;\n  height: $custom-control-indicator-size;\n  pointer-events: none;\n  user-select: none;\n  background-color: $custom-control-indicator-bg;\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: $custom-control-indicator-bg-size;\n  @include box-shadow($custom-control-indicator-box-shadow);\n}\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n  .custom-control-indicator {\n    @include border-radius($custom-checkbox-indicator-border-radius);\n  }\n\n  .custom-control-input:checked ~ .custom-control-indicator {\n    background-image: $custom-checkbox-indicator-icon-checked;\n  }\n\n  .custom-control-input:indeterminate ~ .custom-control-indicator {\n    background-color: $custom-checkbox-indicator-indeterminate-bg;\n    background-image: $custom-checkbox-indicator-icon-indeterminate;\n    @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n  }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n  .custom-control-indicator {\n    border-radius: $custom-radio-indicator-border-radius;\n  }\n\n  .custom-control-input:checked ~ .custom-control-indicator {\n    background-image: $custom-radio-indicator-icon-checked;\n  }\n}\n\n\n// Layout options\n//\n// By default radios and checkboxes are `inline-block` with no additional spacing\n// set. Use these optional classes to tweak the layout.\n\n.custom-controls-stacked {\n  display: flex;\n  flex-direction: column;\n\n  .custom-control {\n    margin-bottom: $custom-control-spacer-y;\n\n    + .custom-control {\n      margin-left: 0;\n    }\n  }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n  display: inline-block;\n  max-width: 100%;\n  height: $input-height;\n  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n  line-height: $custom-select-line-height;\n  color: $custom-select-color;\n  vertical-align: middle;\n  background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n  background-size: $custom-select-bg-size;\n  border: $custom-select-border-width solid $custom-select-border-color;\n  @if $enable-rounded {\n    border-radius: $custom-select-border-radius;\n  } @else {\n    border-radius: 0;\n  }\n  appearance: none;\n\n  &:focus {\n    border-color: $custom-select-focus-border-color;\n    outline: none;\n    @include box-shadow($custom-select-focus-box-shadow);\n\n    &::-ms-value {\n      // For visual consistency with other platforms/browsers,\n      // supress the default white text on blue background highlight given to\n      // the selected option text when the (still closed) <select> receives focus\n      // in IE and (under certain conditions) Edge.\n      // See https://github.com/twbs/bootstrap/issues/19398.\n      color: $input-color;\n      background-color: $input-bg;\n    }\n  }\n\n  &[multiple] {\n    height: auto;\n    background-image: none;\n  }\n\n  &:disabled {\n    color: $custom-select-disabled-color;\n    background-color: $custom-select-disabled-bg;\n  }\n\n  // Hides the default caret in IE11\n  &::-ms-expand {\n    opacity: 0;\n  }\n}\n\n.custom-select-sm {\n  height: $custom-select-height-sm;\n  padding-top: $custom-select-padding-y;\n  padding-bottom: $custom-select-padding-y;\n  font-size: $custom-select-font-size-sm;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  max-width: 100%;\n  height: $custom-file-height;\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  min-width: $custom-file-width;\n  max-width: 100%;\n  height: $custom-file-height;\n  margin: 0;\n  opacity: 0;\n\n  &:focus ~ .custom-file-control {\n    box-shadow: $custom-file-focus-box-shadow;\n  }\n}\n\n.custom-file-control {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 5;\n  height: $custom-file-height;\n  padding: $custom-file-padding-y $custom-file-padding-x;\n  line-height: $custom-file-line-height;\n  color: $custom-file-color;\n  pointer-events: none;\n  user-select: none;\n  background-color: $custom-file-bg;\n  border: $custom-file-border-width solid $custom-file-border-color;\n  @include border-radius($custom-file-border-radius);\n  @include box-shadow($custom-file-box-shadow);\n\n  @each $lang, $text in map-get($custom-file-text, placeholder) {\n    &:lang(#{$lang}):empty::after {\n      content: $text;\n    }\n  }\n\n  &::before {\n    position: absolute;\n    top: -$custom-file-border-width;\n    right: -$custom-file-border-width;\n    bottom: -$custom-file-border-width;\n    z-index: 6;\n    display: block;\n    height: $custom-file-height;\n    padding: $custom-file-padding-y $custom-file-padding-x;\n    line-height: $custom-file-line-height;\n    color: $custom-file-button-color;\n    @include gradient-bg($custom-file-button-bg);\n    border: $custom-file-border-width solid $custom-file-border-color;\n    @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n  }\n\n  @each $lang, $text in map-get($custom-file-text, button-label) {\n    &:lang(#{$lang})::before {\n      content: $text;\n    }\n  }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: $nav-link-padding-y $nav-link-padding-x;\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n\n  // Disabled state lightens text\n  &.disabled {\n    color: $nav-link-disabled-color;\n  }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n  border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n  .nav-item {\n    margin-bottom: -$nav-tabs-border-width;\n  }\n\n  .nav-link {\n    border: $nav-tabs-border-width solid transparent;\n    @include border-top-radius($nav-tabs-border-radius);\n\n    @include hover-focus {\n      border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n    }\n\n    &.disabled {\n      color: $nav-link-disabled-color;\n      background-color: transparent;\n      border-color: transparent;\n    }\n  }\n\n  .nav-link.active,\n  .nav-item.show .nav-link {\n    color: $nav-tabs-link-active-color;\n    background-color: $nav-tabs-link-active-bg;\n    border-color: $nav-tabs-link-active-border-color $nav-tabs-link-active-border-color $nav-tabs-link-active-bg;\n  }\n\n  .dropdown-menu {\n    // Make dropdown border overlap tab border\n    margin-top: -$nav-tabs-border-width;\n    // Remove the top rounded corners here since there is a hard edge above the menu\n    @include border-top-radius(0);\n  }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n  .nav-link {\n    @include border-radius($nav-pills-border-radius);\n  }\n\n  .nav-link.active,\n  .show > .nav-link {\n    color: $nav-pills-link-active-color;\n    background-color: $nav-pills-link-active-bg;\n  }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n  .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n}\n\n.nav-justified {\n  .nav-item {\n    flex-basis: 0;\n    flex-grow: 1;\n    text-align: center;\n  }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap; // allow us to do the line break for collapsing content\n  align-items: center;\n  justify-content: space-between; // space out brand from logo\n  padding: $navbar-padding-y $navbar-padding-x;\n\n  // Because flex properties aren't inherited, we need to redeclare these first\n  // few properities so that content nested within behave properly.\n  > .container,\n  > .container-fluid {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n  }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: $navbar-brand-padding-y;\n  padding-bottom: $navbar-brand-padding-y;\n  margin-right: $navbar-padding-x;\n  font-size: $navbar-brand-font-size;\n  line-height: inherit;\n  white-space: nowrap;\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n  display: flex;\n  flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-link {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .dropdown-menu {\n    position: static;\n    float: none;\n  }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n  display: inline-block;\n  padding-top: $nav-link-padding-y;\n  padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n  flex-basis: 100%;\n  flex-grow: 1;\n  // For always expanded or extra full navbars, ensure content aligns itself\n  // properly vertically. Can be easily overridden with flex utilities.\n  align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n  padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n  font-size: $navbar-toggler-font-size;\n  line-height: 1;\n  background: transparent; // remove default button style\n  border: $border-width solid transparent; // remove default button style\n  @include border-radius($navbar-toggler-border-radius);\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    &#{$infix} {\n      @include media-breakpoint-down($breakpoint) {\n        > .container,\n        > .container-fluid {\n          padding-right: 0;\n          padding-left: 0;\n        }\n      }\n\n      @include media-breakpoint-up($next) {\n        flex-flow: row nowrap;\n        justify-content: flex-start;\n\n        .navbar-nav {\n          flex-direction: row;\n\n          .dropdown-menu {\n            position: absolute;\n          }\n\n          .dropdown-menu-right {\n            right: 0;\n            left: auto; // Reset the default from `.dropdown-menu`\n          }\n\n          .nav-link {\n            padding-right: .5rem;\n            padding-left: .5rem;\n          }\n        }\n\n        // For nesting containers, have to redeclare for alignment purposes\n        > .container,\n        > .container-fluid {\n          flex-wrap: nowrap;\n        }\n\n        .navbar-collapse {\n          display: flex !important;  // stylelint-disable-line declaration-no-important\n\n          // Changes flex-bases to auto because of an IE10 bug\n          flex-basis: auto;\n        }\n\n        .navbar-toggler {\n          display: none;\n        }\n\n        .dropup {\n          .dropdown-menu {\n            top: auto;\n            bottom: 100%;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n  .navbar-brand {\n    color: $navbar-light-active-color;\n\n    @include hover-focus {\n      color: $navbar-light-active-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-light-color;\n\n      @include hover-focus {\n        color: $navbar-light-hover-color;\n      }\n\n      &.disabled {\n        color: $navbar-light-disabled-color;\n      }\n    }\n\n    .show > .nav-link,\n    .active > .nav-link,\n    .nav-link.show,\n    .nav-link.active {\n      color: $navbar-light-active-color;\n    }\n  }\n\n  .navbar-toggler {\n    color: $navbar-light-color;\n    border-color: $navbar-light-toggler-border-color;\n  }\n\n  .navbar-toggler-icon {\n    background-image: $navbar-light-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-light-color;\n    a {\n      color: $navbar-light-active-color;\n\n      @include hover-focus {\n        color: $navbar-light-active-color;\n      }\n    }\n  }\n}\n\n// White links against a dark background\n.navbar-dark {\n  .navbar-brand {\n    color: $navbar-dark-active-color;\n\n    @include hover-focus {\n      color: $navbar-dark-active-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-dark-color;\n\n      @include hover-focus {\n        color: $navbar-dark-hover-color;\n      }\n\n      &.disabled {\n        color: $navbar-dark-disabled-color;\n      }\n    }\n\n    .show > .nav-link,\n    .active > .nav-link,\n    .nav-link.show,\n    .nav-link.active {\n      color: $navbar-dark-active-color;\n    }\n  }\n\n  .navbar-toggler {\n    color: $navbar-dark-color;\n    border-color: $navbar-dark-toggler-border-color;\n  }\n\n  .navbar-toggler-icon {\n    background-image: $navbar-dark-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-dark-color;\n    a {\n      color: $navbar-dark-active-color;\n\n      @include hover-focus {\n        color: $navbar-dark-active-color;\n      }\n    }\n  }\n}\n","//\n// Base styles\n//\n\n.card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: $card-bg;\n  background-clip: border-box;\n  border: $card-border-width solid $card-border-color;\n  @include border-radius($card-border-radius);\n\n  > hr {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  > .list-group:first-child {\n    .list-group-item:first-child {\n      @include border-top-radius($card-border-radius);\n    }\n  }\n\n  > .list-group:last-child {\n    .list-group-item:last-child {\n      @include border-bottom-radius($card-border-radius);\n    }\n  }\n}\n\n.card-body {\n  // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n  // as much space as possible, ensuring footers are aligned to the bottom.\n  flex: 1 1 auto;\n  padding: $card-spacer-x;\n}\n\n.card-title {\n  margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n  margin-top: -($card-spacer-y / 2);\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link {\n  @include hover {\n    text-decoration: none;\n  }\n\n  + .card-link {\n    margin-left: $card-spacer-x;\n  }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n  padding: $card-spacer-y $card-spacer-x;\n  margin-bottom: 0; // Removes the default margin-bottom of <hN>\n  background-color: $card-cap-bg;\n  border-bottom: $card-border-width solid $card-border-color;\n\n  &:first-child {\n    @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n  }\n\n  + .list-group {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n}\n\n.card-footer {\n  padding: $card-spacer-y $card-spacer-x;\n  background-color: $card-cap-bg;\n  border-top: $card-border-width solid $card-border-color;\n\n  &:last-child {\n    @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n  }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n  margin-right: -($card-spacer-x / 2);\n  margin-bottom: -$card-spacer-y;\n  margin-left: -($card-spacer-x / 2);\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -($card-spacer-x / 2);\n  margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: $card-img-overlay-padding;\n}\n\n.card-img {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n  display: flex;\n  flex-direction: column;\n\n  .card {\n    margin-bottom: $card-deck-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    flex-flow: row wrap;\n    margin-right: -$card-deck-margin;\n    margin-left: -$card-deck-margin;\n\n    .card {\n      display: flex;\n      // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n      flex: 1 0 0%;\n      flex-direction: column;\n      margin-right: $card-deck-margin;\n      margin-bottom: 0; // Override the default\n      margin-left: $card-deck-margin;\n    }\n  }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n  display: flex;\n  flex-direction: column;\n\n  .card {\n    margin-bottom: $card-group-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    flex-flow: row wrap;\n\n    .card {\n      // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n      flex: 1 0 0%;\n      margin-bottom: 0;\n\n      + .card {\n        margin-left: 0;\n        border-left: 0;\n      }\n\n      // Handle rounded corners\n      @if $enable-rounded {\n        &:first-child {\n          @include border-right-radius(0);\n\n          .card-img-top {\n            border-top-right-radius: 0;\n          }\n          .card-img-bottom {\n            border-bottom-right-radius: 0;\n          }\n        }\n\n        &:last-child {\n          @include border-left-radius(0);\n\n          .card-img-top {\n            border-top-left-radius: 0;\n          }\n          .card-img-bottom {\n            border-bottom-left-radius: 0;\n          }\n        }\n\n        &:only-child {\n          @include border-radius($card-border-radius);\n\n          .card-img-top {\n            @include border-top-radius($card-border-radius);\n          }\n          .card-img-bottom {\n            @include border-bottom-radius($card-border-radius);\n          }\n        }\n\n        &:not(:first-child):not(:last-child):not(:only-child) {\n          border-radius: 0;\n\n          .card-img-top,\n          .card-img-bottom {\n            border-radius: 0;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n  .card {\n    margin-bottom: $card-columns-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    column-count: $card-columns-count;\n    column-gap: $card-columns-gap;\n\n    .card {\n      display: inline-block; // Don't let them vertically span multiple columns\n      width: 100%; // Don't let their width change\n    }\n  }\n}\n",".breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n  margin-bottom: $breadcrumb-margin-bottom;\n  list-style: none;\n  background-color: $breadcrumb-bg;\n  @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n  // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n  + .breadcrumb-item::before {\n    display: inline-block; // Suppress underlining of the separator in modern browsers\n    padding-right: $breadcrumb-item-padding;\n    padding-left: $breadcrumb-item-padding;\n    color: $breadcrumb-divider-color;\n    content: \"#{$breadcrumb-divider}\";\n  }\n\n  // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n  // without `<ul>`s. The `::before` pseudo-element generates an element\n  // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n  //\n  // To trick IE into suppressing the underline, we give the pseudo-element an\n  // underline and then immediately remove it.\n  + .breadcrumb-item:hover::before {\n    text-decoration: underline;\n  }\n  // stylelint-disable-next-line no-duplicate-selectors\n  + .breadcrumb-item:hover::before {\n    text-decoration: none;\n  }\n\n  &.active {\n    color: $breadcrumb-active-color;\n  }\n}\n",".pagination {\n  display: flex;\n  @include list-unstyled();\n  @include border-radius();\n}\n\n.page-item {\n  &:first-child {\n    .page-link {\n      margin-left: 0;\n      @include border-left-radius($border-radius);\n    }\n  }\n  &:last-child {\n    .page-link {\n      @include border-right-radius($border-radius);\n    }\n  }\n\n  &.active .page-link {\n    z-index: 2;\n    color: $pagination-active-color;\n    background-color: $pagination-active-bg;\n    border-color: $pagination-active-border-color;\n  }\n\n  &.disabled .page-link {\n    color: $pagination-disabled-color;\n    pointer-events: none;\n    background-color: $pagination-disabled-bg;\n    border-color: $pagination-disabled-border-color;\n  }\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: $pagination-padding-y $pagination-padding-x;\n  margin-left: -$pagination-border-width;\n  line-height: $pagination-line-height;\n  color: $pagination-color;\n  background-color: $pagination-bg;\n  border: $pagination-border-width solid $pagination-border-color;\n\n  @include hover-focus {\n    color: $pagination-hover-color;\n    text-decoration: none;\n    background-color: $pagination-hover-bg;\n    border-color: $pagination-hover-border-color;\n  }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n  @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n  @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n  .page-link {\n    padding: $padding-y $padding-x;\n    font-size: $font-size;\n    line-height: $line-height;\n  }\n\n  .page-item {\n    &:first-child {\n      .page-link {\n        @include border-left-radius($border-radius);\n      }\n    }\n    &:last-child {\n      .page-link {\n        @include border-right-radius($border-radius);\n      }\n    }\n  }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n  display: inline-block;\n  padding: $badge-padding-y $badge-padding-x;\n  font-size: $badge-font-size;\n  font-weight: $badge-font-weight;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  @include border-radius($badge-border-radius);\n\n  // Empty badges collapse automatically\n  &:empty {\n    display: none;\n  }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n  padding-right: $badge-pill-padding-x;\n  padding-left: $badge-pill-padding-x;\n  @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n  .badge-#{$color} {\n    @include badge-variant($value);\n  }\n}\n","@mixin badge-variant($bg) {\n  color: color-yiq($bg);\n  background-color: $bg;\n\n  &[href] {\n    @include hover-focus {\n      color: color-yiq($bg);\n      text-decoration: none;\n      background-color: darken($bg, 10%);\n    }\n  }\n}\n",".jumbotron {\n  padding: $jumbotron-padding ($jumbotron-padding / 2);\n  margin-bottom: $jumbotron-padding;\n  background-color: $jumbotron-bg;\n  @include border-radius($border-radius-lg);\n\n  @include media-breakpoint-up(sm) {\n    padding: ($jumbotron-padding * 2) $jumbotron-padding;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n  position: relative;\n  padding: $alert-padding-y $alert-padding-x;\n  margin-bottom: $alert-margin-bottom;\n  border: $alert-border-width solid transparent;\n  @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n  // Specified to prevent conflicts of changing $headings-color\n  color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n  font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n  // Adjust close link position\n  .close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: $alert-padding-y $alert-padding-x;\n    color: inherit;\n  }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n  .alert-#{$color} {\n    @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));\n  }\n}\n","@mixin alert-variant($background, $border, $color) {\n  color: $color;\n  @include gradient-bg($background);\n  border-color: $border;\n\n  hr {\n    border-top-color: darken($border, 5%);\n  }\n\n  .alert-link {\n    color: darken($color, 10%);\n  }\n}\n","@keyframes progress-bar-stripes {\n  from { background-position: $progress-height 0; }\n  to { background-position: 0 0; }\n}\n\n.progress {\n  display: flex;\n  height: $progress-height;\n  overflow: hidden; // force rounded corners by cropping it\n  font-size: $progress-font-size;\n  background-color: $progress-bg;\n  @include border-radius($progress-border-radius);\n}\n\n.progress-bar {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: $progress-bar-color;\n  background-color: $progress-bar-bg;\n}\n\n.progress-bar-striped {\n  @include gradient-striped();\n  background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n  animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  display: flex;\n  flex-direction: column;\n\n  // No need to set list-style: none; since .list-group-item is block level\n  padding-left: 0; // reset padding because ul and ol\n  margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n  width: 100%; // For `<button>`s (anchors become 100% by default though)\n  color: $list-group-action-color;\n  text-align: inherit; // For `<button>`s (anchors inherit)\n\n  // Hover state\n  @include hover-focus {\n    color: $list-group-action-hover-color;\n    text-decoration: none;\n    background-color: $list-group-hover-bg;\n  }\n\n  &:active {\n    color: $list-group-action-active-color;\n    background-color: $list-group-action-active-bg;\n  }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: $list-group-item-padding-y $list-group-item-padding-x;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -$list-group-border-width;\n  background-color: $list-group-bg;\n  border: $list-group-border-width solid $list-group-border-color;\n\n  &:first-child {\n    @include border-top-radius($list-group-border-radius);\n  }\n\n  &:last-child {\n    margin-bottom: 0;\n    @include border-bottom-radius($list-group-border-radius);\n  }\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $list-group-disabled-color;\n    background-color: $list-group-disabled-bg;\n  }\n\n  // Include both here for `<a>`s and `<button>`s\n  &.active {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: $list-group-active-color;\n    background-color: $list-group-active-bg;\n    border-color: $list-group-active-border-color;\n  }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n  .list-group-item {\n    border-right: 0;\n    border-left: 0;\n    border-radius: 0;\n  }\n\n  &:first-child {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n\n  &:last-child {\n    .list-group-item:last-child {\n      border-bottom: 0;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n  @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n  .list-group-item-#{$state} {\n    color: $color;\n    background-color: $background;\n  }\n\n  a.list-group-item-#{$state},\n  button.list-group-item-#{$state} {\n    color: $color;\n\n    @include hover-focus {\n      color: $color;\n      background-color: darken($background, 5%);\n    }\n\n    &.active {\n      color: #fff;\n      background-color: $color;\n      border-color: $color;\n    }\n  }\n}\n",".close {\n  float: right;\n  font-size: $close-font-size;\n  font-weight: $close-font-weight;\n  line-height: 1;\n  color: $close-color;\n  text-shadow: $close-text-shadow;\n  opacity: .5;\n\n  @include hover-focus {\n    color: $close-color;\n    text-decoration: none;\n    opacity: .75;\n  }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n  padding: 0;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-modal;\n  display: none;\n  overflow: hidden;\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n  // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n  // See also https://github.com/twbs/bootstrap/issues/17695\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    @include transition($modal-transition);\n    transform: translate(0, -25%);\n  }\n  &.show .modal-dialog { transform: translate(0, 0); }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: $modal-dialog-margin;\n  // allow clicks to pass through for custom click handling to close modal\n  pointer-events: none;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  // counteract the pointer-events: none; in the .modal-dialog\n  pointer-events: auto;\n  background-color: $modal-content-bg;\n  background-clip: padding-box;\n  border: $modal-content-border-width solid $modal-content-border-color;\n  @include border-radius($border-radius-lg);\n  @include box-shadow($modal-content-box-shadow-xs);\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-modal-backdrop;\n  background-color: $modal-backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  display: flex;\n  align-items: flex-start; // so the close btn always stays on the upper right corner\n  justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n  padding: $modal-header-padding;\n  border-bottom: $modal-header-border-width solid $modal-header-border-color;\n  @include border-top-radius($border-radius-lg);\n\n  .close {\n    padding: $modal-header-padding;\n    // auto on the left force icon to the right even when there is no .modal-title\n    margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n  }\n}\n\n// Title text within header\n.modal-title {\n  margin-bottom: 0;\n  line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  // Enable `flex-grow: 1` so that the body take up as much space as possible\n  // when should there be a fixed height on `.modal-dialog`.\n  flex: 1 1 auto;\n  padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  display: flex;\n  align-items: center; // vertically center\n  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n  padding: $modal-inner-padding;\n  border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n  // Easily place margin between footer elements\n  > :not(:first-child) { margin-left: .25rem; }\n  > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    max-width: $modal-md;\n    margin: $modal-dialog-margin-y-sm-up auto;\n  }\n\n  .modal-content {\n    @include box-shadow($modal-content-box-shadow-sm-up);\n  }\n\n  .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n  .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n  position: absolute;\n  z-index: $zindex-tooltip;\n  display: block;\n  margin: $tooltip-margin;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  @include reset-text();\n  font-size: $font-size-sm;\n  // Allow breaking very long words so they don't overflow the tooltip's bounds\n  word-wrap: break-word;\n  opacity: 0;\n\n  &.show { opacity: $tooltip-opacity; }\n\n  .arrow {\n    position: absolute;\n    display: block;\n    width: $tooltip-arrow-width;\n    height: $tooltip-arrow-height;\n  }\n\n  .arrow::before {\n    position: absolute;\n    border-color: transparent;\n    border-style: solid;\n  }\n\n  &.bs-tooltip-top {\n    padding: $tooltip-arrow-width 0;\n    .arrow {\n      bottom: 0;\n    }\n\n    .arrow::before {\n      margin-left: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n      border-top-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-right {\n    padding: 0 $tooltip-arrow-width;\n    .arrow {\n      left: 0;\n    }\n\n    .arrow::before {\n      margin-top: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n      border-right-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-bottom {\n    padding: $tooltip-arrow-width 0;\n    .arrow {\n      top: 0;\n    }\n\n    .arrow::before {\n      margin-left: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n      border-bottom-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-left {\n    padding: 0 $tooltip-arrow-width;\n    .arrow {\n      right: 0;\n    }\n\n    .arrow::before {\n      right: 0;\n      margin-top: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n      border-left-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-auto {\n    &[x-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[x-placement^=\"right\"] {\n      @extend .bs-tooltip-right;\n    }\n    &[x-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[x-placement^=\"left\"] {\n      @extend .bs-tooltip-left;\n    }\n  }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: $tooltip-max-width;\n  padding: $tooltip-padding-y $tooltip-padding-x;\n  color: $tooltip-color;\n  text-align: center;\n  background-color: $tooltip-bg;\n  @include border-radius($border-radius);\n}\n","@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: left; // Fallback for where `start` is not supported\n  text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n}\n",".popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: $zindex-popover;\n  display: block;\n  max-width: $popover-max-width;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  @include reset-text();\n  font-size: $font-size-sm;\n  // Allow breaking very long words so they don't overflow the popover's bounds\n  word-wrap: break-word;\n  background-color: $popover-bg;\n  background-clip: padding-box;\n  border: $popover-border-width solid $popover-border-color;\n  @include border-radius($border-radius-lg);\n  @include box-shadow($popover-box-shadow);\n\n  // Arrows\n  //\n  // .arrow is outer, .arrow::after is inner\n\n  .arrow {\n    position: absolute;\n    display: block;\n    width: $popover-arrow-width;\n    height: $popover-arrow-height;\n  }\n\n  .arrow::before,\n  .arrow::after {\n    position: absolute;\n    display: block;\n    border-color: transparent;\n    border-style: solid;\n  }\n\n  .arrow::before {\n    content: \"\";\n    border-width: $popover-arrow-width;\n  }\n  .arrow::after {\n    content: \"\";\n    border-width: $popover-arrow-width;\n  }\n\n  // Popover directions\n\n  &.bs-popover-top {\n    margin-bottom: $popover-arrow-width;\n\n    .arrow {\n      bottom: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      border-bottom-width: 0;\n    }\n\n    .arrow::before {\n      bottom: -$popover-arrow-width;\n      margin-left: -$popover-arrow-width;\n      border-top-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      margin-left: -$popover-arrow-width;\n      border-top-color: $popover-arrow-color;\n    }\n  }\n\n  &.bs-popover-right {\n    margin-left: $popover-arrow-width;\n\n    .arrow {\n      left: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-top: -$popover-arrow-width;\n      border-left-width: 0;\n    }\n\n    .arrow::before {\n      left: -$popover-arrow-width;\n      border-right-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-right-color: $popover-arrow-color;\n    }\n  }\n\n  &.bs-popover-bottom {\n    margin-top: $popover-arrow-width;\n\n    .arrow {\n      top: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-left: -$popover-arrow-width;\n      border-top-width: 0;\n    }\n\n    .arrow::before {\n      top: -$popover-arrow-width;\n      border-bottom-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-bottom-color: $popover-arrow-color;\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: 20px;\n      margin-left: -10px;\n      content: \"\";\n      border-bottom: $popover-border-width solid $popover-header-bg;\n    }\n  }\n\n  &.bs-popover-left {\n    margin-right: $popover-arrow-width;\n\n    .arrow {\n      right: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-top: -$popover-arrow-width;\n      border-right-width: 0;\n    }\n\n    .arrow::before {\n      right: -$popover-arrow-width;\n      border-left-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-left-color: $popover-arrow-color;\n    }\n  }\n  &.bs-popover-auto {\n    &[x-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[x-placement^=\"right\"] {\n      @extend .bs-popover-right;\n    }\n    &[x-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[x-placement^=\"left\"] {\n      @extend .bs-popover-left;\n    }\n  }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n  padding: $popover-header-padding-y $popover-header-padding-x;\n  margin-bottom: 0; // Reset the default from Reboot\n  font-size: $font-size-base;\n  color: $popover-header-color;\n  background-color: $popover-header-bg;\n  border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n  $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n  @include border-top-radius($offset-border-width);\n\n  &:empty {\n    display: none;\n  }\n}\n\n.popover-body {\n  padding: $popover-body-padding-y $popover-body-padding-x;\n  color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  align-items: center;\n  width: 100%;\n  @include transition($carousel-transition);\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n  position: absolute;\n  top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n  transform: translateX(0);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n  transform: translateX(100%);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(100%, 0, 0);\n  }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n  transform: translateX(-100%);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(-100%, 0, 0);\n  }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  // Use flex for alignment (1-3)\n  display: flex; // 1. allow flex styles\n  align-items: center; // 2. vertically center contents\n  justify-content: center; // 3. horizontally center contents\n  width: $carousel-control-width;\n  color: $carousel-control-color;\n  text-align: center;\n  opacity: $carousel-control-opacity;\n  // We can't have a transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Hover/focus state\n  @include hover-focus {\n    color: $carousel-control-color;\n    text-decoration: none;\n    outline: 0;\n    opacity: .9;\n  }\n}\n.carousel-control-prev {\n  left: 0;\n  @if $enable-gradients {\n    background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n  }\n}\n.carousel-control-next {\n  right: 0;\n  @if $enable-gradients {\n    background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n  }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: $carousel-control-icon-width;\n  height: $carousel-control-icon-width;\n  background: transparent no-repeat center center;\n  background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n  background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n  background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  left: 0;\n  z-index: 15;\n  display: flex;\n  justify-content: center;\n  padding-left: 0; // override <ol> default\n  // Use the .carousel-control's width as margin so we don't overlay those\n  margin-right: $carousel-control-width;\n  margin-left: $carousel-control-width;\n  list-style: none;\n\n  li {\n    position: relative;\n    flex: 0 1 auto;\n    width: $carousel-indicator-width;\n    height: $carousel-indicator-height;\n    margin-right: $carousel-indicator-spacer;\n    margin-left: $carousel-indicator-spacer;\n    text-indent: -999px;\n    background-color: rgba($carousel-indicator-active-bg, .5);\n\n    // Use pseudo classes to increase the hit area by 10px on top and bottom.\n    &::before {\n      position: absolute;\n      top: -10px;\n      left: 0;\n      display: inline-block;\n      width: 100%;\n      height: 10px;\n      content: \"\";\n    }\n    &::after {\n      position: absolute;\n      bottom: -10px;\n      left: 0;\n      display: inline-block;\n      width: 100%;\n      height: 10px;\n      content: \"\";\n    }\n  }\n\n  .active {\n    background-color: $carousel-indicator-active-bg;\n  }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n  position: absolute;\n  right: ((100% - $carousel-caption-width) / 2);\n  bottom: 20px;\n  left: ((100% - $carousel-caption-width) / 2);\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: $carousel-caption-color;\n  text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline    { vertical-align: baseline !important; } // Browser default\n.align-top         { vertical-align: top !important; }\n.align-middle      { vertical-align: middle !important; }\n.align-bottom      { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top    { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    background-color: $color !important;\n  }\n  a#{$parent} {\n    @include hover-focus {\n      background-color: darken($color, 10%) !important;\n    }\n  }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n  #{$parent} {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n  @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n  @each $color, $value in $theme-colors {\n    @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n  }\n}\n\n.bg-white {\n  background-color: $white !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border          { border: $border-width solid $border-color !important; }\n.border-0        { border: 0 !important; }\n.border-top-0    { border-top: 0 !important; }\n.border-right-0  { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0   { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n  .border-#{$color} {\n    border-color: $value !important;\n  }\n}\n\n.border-white {\n  border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n  border-radius: $border-radius !important;\n}\n.rounded-top {\n  border-top-left-radius: $border-radius !important;\n  border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n  border-top-right-radius: $border-radius !important;\n  border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n  border-bottom-right-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n  border-top-left-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n","@mixin clearfix() {\n  &::after {\n    display: block;\n    clear: both;\n    content: \"\";\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .d#{$infix}-none         { display: none !important; }\n    .d#{$infix}-inline       { display: inline !important; }\n    .d#{$infix}-inline-block { display: inline-block !important; }\n    .d#{$infix}-block        { display: block !important; }\n    .d#{$infix}-table        { display: table !important; }\n    .d#{$infix}-table-row    { display: table-row !important; }\n    .d#{$infix}-table-cell   { display: table-cell !important; }\n    .d#{$infix}-flex         { display: flex !important; }\n    .d#{$infix}-inline-flex  { display: inline-flex !important; }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n.d-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n\n.d-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n\n.d-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.d-print-none {\n  @media print {\n    display: none !important;\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n\n  &::before {\n    display: block;\n    content: \"\";\n  }\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n.embed-responsive-21by9 {\n  &::before {\n    padding-top: percentage(9 / 21);\n  }\n}\n\n.embed-responsive-16by9 {\n  &::before {\n    padding-top: percentage(9 / 16);\n  }\n}\n\n.embed-responsive-4by3 {\n  &::before {\n    padding-top: percentage(3 / 4);\n  }\n}\n\n.embed-responsive-1by1 {\n  &::before {\n    padding-top: percentage(1 / 1);\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .float#{$infix}-left  { @include float-left; }\n    .float#{$infix}-right { @include float-right; }\n    .float#{$infix}-none  { @include float-none; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n  float: left !important;\n}\n@mixin float-right {\n  float: right !important;\n}\n@mixin float-none {\n  float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n  .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.sticky-top {\n  @supports (position: sticky) {\n    position: sticky;\n    top: 0;\n    z-index: $zindex-sticky;\n  }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n  @include sr-only();\n}\n\n.sr-only-focusable {\n  @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  white-space: nowrap;\n  clip-path: inset(50%);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    overflow: visible;\n    clip: auto;\n    white-space: normal;\n    clip-path: none;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n  @each $size, $length in $sizes {\n    .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n  }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify  { text-align: justify !important; }\n.text-nowrap   { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .text#{$infix}-left   { text-align: left !important; }\n    .text#{$infix}-right  { text-align: right !important; }\n    .text#{$infix}-center { text-align: center !important; }\n  }\n}\n\n// Transformation\n\n.text-lowercase  { text-transform: lowercase !important; }\n.text-uppercase  { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light  { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold   { font-weight: $font-weight-bold !important; }\n.font-italic        { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n  @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n  @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $color !important;\n  }\n  a#{$parent} {\n    @include hover-focus {\n      color: darken($color, 10%) !important;\n    }\n  }\n}\n","// CSS image replacement\n@mixin text-hide() {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n  @include invisible(visible);\n}\n\n.invisible {\n  @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n  visibility: $visibility !important;\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap.min.css b/workspace/public/css/bootstrap.min.css
new file mode 100644
index 0000000..ad65b4e
--- /dev/null
+++ b/workspace/public/css/bootstrap.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--primary:#007bff;--secondary:#868e96;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:"SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#868e96}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f8f9fa;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#212529}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #e9ecef}.table-bordered td,.table-bordered th{border:1px solid #e9ecef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddfe2}.table-hover .table-secondary:hover{background-color:#cfd2d6}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#e9ecef}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm.table-bordered{border:0}}@media (max-width:767px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md.table-bordered{border:0}}@media (max-width:991px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg.table-bordered{border:0}}@media (max-width:1199px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-image:none;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#868e96;opacity:1}.form-control:-ms-input-placeholder{color:#868e96;opacity:1}.form-control::-ms-input-placeholder{color:#868e96;opacity:1}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.col-form-legend{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;font-size:1rem}.form-control-plaintext{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.form-control-plaintext.input-group-addon,.input-group-lg>.input-group-btn>.form-control-plaintext.btn,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.form-control-plaintext.input-group-addon,.input-group-sm>.input-group-btn>.form-control-plaintext.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#868e96}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-inline{display:inline-block;margin-right:.75rem}.form-check-inline .form-check-label{vertical-align:middle}.valid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid+.form-check-label,.was-validated .form-check-input:valid+.form-check-label{color:#28a745}.custom-control-input.is-valid~.custom-control-indicator,.was-validated .custom-control-input:valid~.custom-control-indicator{background-color:rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-description,.was-validated .custom-control-input:valid~.custom-control-description{color:#28a745}.custom-file-input.is-valid~.custom-file-control,.was-validated .custom-file-input:valid~.custom-file-control{border-color:#28a745}.custom-file-input.is-valid~.custom-file-control::before,.was-validated .custom-file-input:valid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-valid:focus,.was-validated .custom-file-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid+.form-check-label,.was-validated .form-check-input:invalid+.form-check-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-indicator,.was-validated .custom-control-input:invalid~.custom-control-indicator{background-color:rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-description,.was-validated .custom-control-input:invalid~.custom-control-description{color:#dc3545}.custom-file-input.is-invalid~.custom-file-control,.was-validated .custom-file-input:invalid~.custom-file-control{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-control::before,.was-validated .custom-file-input:invalid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-invalid:focus,.was-validated .custom-file-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not([disabled]):not(.disabled).active,.btn:not([disabled]):not(.disabled):active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff}.btn-primary:not([disabled]):not(.disabled).active,.btn-primary:not([disabled]):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:hover{color:#fff;background-color:#727b84;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#868e96;border-color:#868e96}.btn-secondary:not([disabled]):not(.disabled).active,.btn-secondary:not([disabled]):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745}.btn-success:not([disabled]):not(.disabled).active,.btn-success:not([disabled]):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8}.btn-info:not([disabled]):not(.disabled).active,.btn-info:not([disabled]):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#111;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#111;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107}.btn-warning:not([disabled]):not(.disabled).active,.btn-warning:not([disabled]):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#111;background-color:#d39e00;border-color:#c69500;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545}.btn-danger:not([disabled]):not(.disabled).active,.btn-danger:not([disabled]):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#111;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#111;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not([disabled]):not(.disabled).active,.btn-light:not([disabled]):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#111;background-color:#dae0e5;border-color:#d3d9df;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40}.btn-dark:not([disabled]):not(.disabled).active,.btn-dark:not([disabled]):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not([disabled]):not(.disabled).active,.btn-outline-primary:not([disabled]):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#868e96;background-color:transparent;background-image:none;border-color:#868e96}.btn-outline-secondary:hover{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:transparent}.btn-outline-secondary:not([disabled]):not(.disabled).active,.btn-outline-secondary:not([disabled]):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not([disabled]):not(.disabled).active,.btn-outline-success:not([disabled]):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not([disabled]):not(.disabled).active,.btn-outline-info:not([disabled]):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#fff;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not([disabled]):not(.disabled).active,.btn-outline-warning:not([disabled]):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ffc107;border-color:#ffc107;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not([disabled]):not(.disabled).active,.btn-outline-danger:not([disabled]):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not([disabled]):not(.disabled).active,.btn-outline-light:not([disabled]):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not([disabled]):not(.disabled).active,.btn-outline-dark:not([disabled]):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#868e96}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group .form-control{position:relative;z-index:2;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap}.input-group-addon{padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;-ms-flex-align:stretch;align-items:stretch;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:first-child>.btn+.btn{margin-left:0}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:0}.input-group-btn:not(:first-child)>.btn-group:first-child,.input-group-btn:not(:first-child)>.btn:first-child{margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-indicator{background-color:#e9ecef}.custom-control-input:disabled~.custom-control-description{color:#868e96}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#007bff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple]{height:auto;background-image:none}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{min-width:14rem;max-width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #007bff}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#e9ecef;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#868e96}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group .card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:only-child{border-radius:.25rem}.card-group .card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group .card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group .card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#868e96;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#868e96;pointer-events:none;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#868e96}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#6c757d}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#111;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#111;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#111;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#111;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#464a4e;background-color:#e7e8ea;border-color:#dddfe2}.alert-secondary hr{border-top-color:#cfd2d6}.alert-secondary .alert-link{color:#2e3133}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#fff;background-color:#007bff}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}a.list-group-item-primary,button.list-group-item-primary{color:#004085}a.list-group-item-primary:focus,a.list-group-item-primary:hover,button.list-group-item-primary:focus,button.list-group-item-primary:hover{color:#004085;background-color:#9fcdff}a.list-group-item-primary.active,button.list-group-item-primary.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#464a4e;background-color:#dddfe2}a.list-group-item-secondary,button.list-group-item-secondary{color:#464a4e}a.list-group-item-secondary:focus,a.list-group-item-secondary:hover,button.list-group-item-secondary:focus,button.list-group-item-secondary:hover{color:#464a4e;background-color:#cfd2d6}a.list-group-item-secondary.active,button.list-group-item-secondary.active{color:#fff;background-color:#464a4e;border-color:#464a4e}.list-group-item-success{color:#155724;background-color:#c3e6cb}a.list-group-item-success,button.list-group-item-success{color:#155724}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#155724;background-color:#b1dfbb}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}a.list-group-item-info,button.list-group-item-info{color:#0c5460}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#0c5460;background-color:#abdde5}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}a.list-group-item-warning,button.list-group-item-warning{color:#856404}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#856404;background-color:#ffe8a1}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}a.list-group-item-danger,button.list-group-item-danger{color:#721c24}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#721c24;background-color:#f1b0b7}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}a.list-group-item-light,button.list-group-item-light{color:#818182}a.list-group-item-light:focus,a.list-group-item-light:hover,button.list-group-item-light:focus,button.list-group-item-light:hover{color:#818182;background-color:#ececf6}a.list-group-item-light.active,button.list-group-item-light.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}a.list-group-item-dark,button.list-group-item-dark{color:#1b1e21}a.list-group-item-dark:focus,a.list-group-item-dark:hover,button.list-group-item-dark:focus,button.list-group-item-dark:hover{color:#1b1e21;background-color:#b9bbbe}a.list-group-item-dark.active,button.list-group-item-dark.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px;pointer-events:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:15px;margin:-15px -15px -15px auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:5px;height:5px}.tooltip .arrow::before{position:absolute;border-color:transparent;border-style:solid}.tooltip.bs-tooltip-auto[x-placement^=top],.tooltip.bs-tooltip-top{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow,.tooltip.bs-tooltip-top .arrow{bottom:0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before,.tooltip.bs-tooltip-top .arrow::before{margin-left:-3px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tooltip-auto[x-placement^=right],.tooltip.bs-tooltip-right{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow,.tooltip.bs-tooltip-right .arrow{left:0}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow::before,.tooltip.bs-tooltip-right .arrow::before{margin-top:-3px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tooltip-auto[x-placement^=bottom],.tooltip.bs-tooltip-bottom{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow,.tooltip.bs-tooltip-bottom .arrow{top:0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.tooltip.bs-tooltip-bottom .arrow::before{margin-left:-3px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tooltip-auto[x-placement^=left],.tooltip.bs-tooltip-left{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow,.tooltip.bs-tooltip-left .arrow{right:0}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow::before,.tooltip.bs-tooltip-left .arrow::before{right:0;margin-top:-3px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;border-color:transparent;border-style:solid}.popover .arrow::before{content:"";border-width:.8rem}.popover .arrow::after{content:"";border-width:.8rem}.popover.bs-popover-auto[x-placement^=top],.popover.bs-popover-top{margin-bottom:.8rem}.popover.bs-popover-auto[x-placement^=top] .arrow,.popover.bs-popover-top .arrow{bottom:0}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::after,.popover.bs-popover-top .arrow::before{border-bottom-width:0}.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::before{bottom:-.8rem;margin-left:-.8rem;border-top-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-top .arrow::after{bottom:calc((.8rem - 1px) * -1);margin-left:-.8rem;border-top-color:#fff}.popover.bs-popover-auto[x-placement^=right],.popover.bs-popover-right{margin-left:.8rem}.popover.bs-popover-auto[x-placement^=right] .arrow,.popover.bs-popover-right .arrow{left:0}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::after,.popover.bs-popover-right .arrow::before{margin-top:-.8rem;border-left-width:0}.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::before{left:-.8rem;border-right-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-right .arrow::after{left:calc((.8rem - 1px) * -1);border-right-color:#fff}.popover.bs-popover-auto[x-placement^=bottom],.popover.bs-popover-bottom{margin-top:.8rem}.popover.bs-popover-auto[x-placement^=bottom] .arrow,.popover.bs-popover-bottom .arrow{top:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-bottom .arrow::before{margin-left:-.8rem;border-top-width:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::before{top:-.8rem;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-bottom .arrow::after{top:calc((.8rem - 1px) * -1);border-bottom-color:#fff}.popover.bs-popover-auto[x-placement^=bottom] .popover-header::before,.popover.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-popover-auto[x-placement^=left],.popover.bs-popover-left{margin-right:.8rem}.popover.bs-popover-auto[x-placement^=left] .arrow,.popover.bs-popover-left .arrow{right:0}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::after,.popover.bs-popover-left .arrow::before{margin-top:-.8rem;border-right-width:0}.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::before{right:-.8rem;border-left-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-left .arrow::after{right:calc((.8rem - 1px) * -1);border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#868e96!important}a.bg-secondary:focus,a.bg-secondary:hover{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e9ecef!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#868e96!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}}@media print{.d-print-none{display:none!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#868e96!important}a.text-secondary:focus,a.text-secondary:hover{color:#6c757d!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#868e96!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}
+/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/workspace/public/css/bootstrap.min.css.map b/workspace/public/css/bootstrap.min.css.map
new file mode 100644
index 0000000..e19dbfe
--- /dev/null
+++ b/workspace/public/css/bootstrap.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","dist/css/bootstrap.css","../../scss/_reboot.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"print\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n",":root {\n  // Custom variable values only support SassScript inside `#{}`.\n  @each $color, $value in $colors {\n    --#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$color}: #{$value};\n  }\n\n  @each $bp, $value in $grid-breakpoints {\n    --breakpoint-#{$bp}: #{$value};\n  }\n\n  // Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n  --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n  @media print {\n    *,\n    *::before,\n    *::after {\n      // Bootstrap specific; comment out `color` and `background`\n      //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n      text-shadow: none !important;\n      //background: transparent !important;\n      box-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n      text-decoration: underline;\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //a[href]::after {\n    //  content: \" (\" attr(href) \")\";\n    //}\n\n    abbr[title]::after {\n      content: \" (\" attr(title) \")\";\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    //\n\n    //a[href^=\"#\"]::after,\n    //a[href^=\"javascript:\"]::after {\n    // content: \"\";\n    //}\n\n    pre {\n      white-space: pre-wrap !important;\n    }\n    pre,\n    blockquote {\n      border: $border-width solid #999;   // Bootstrap custom code; using `$border-width` instead of 1px\n      page-break-inside: avoid;\n    }\n\n    //\n    // Printing Tables:\n    // http://css-discuss.incutio.com/wiki/Printing_Tables\n    //\n\n    thead {\n      display: table-header-group;\n    }\n\n    tr,\n    img {\n      page-break-inside: avoid;\n    }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    h2,\n    h3 {\n      page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Bootstrap components\n    .navbar {\n      display: none;\n    }\n    .badge {\n      border: $border-width solid #000;\n    }\n\n    .table {\n      border-collapse: collapse !important;\n\n      td,\n      th {\n        background-color: #fff !important;\n      }\n    }\n    .table-bordered {\n      th,\n      td {\n        border: 1px solid #ddd !important;\n      }\n    }\n\n    // Bootstrap specific changes end\n  }\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #868e96;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #868e96;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.2;\n  color: inherit;\n}\n\nh1, .h1 {\n  font-size: 2.5rem;\n}\n\nh2, .h2 {\n  font-size: 2rem;\n}\n\nh3, .h3 {\n  font-size: 1.75rem;\n}\n\nh4, .h4 {\n  font-size: 1.5rem;\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n  margin-right: 5px;\n}\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #868e96;\n}\n\n.blockquote-footer::before {\n  content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 0.25rem;\n  transition: all 0.2s ease-in-out;\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 90%;\n  color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #bd4147;\n  background-color: #f8f9fa;\n  border-radius: 0.25rem;\n}\n\na > code {\n  padding: 0;\n  color: inherit;\n  background-color: inherit;\n}\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem;\n}\n\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n}\n\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  font-size: 90%;\n  color: #212529;\n}\n\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  background-color: transparent;\n  border-radius: 0;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  -ms-flex-preferred-size: 0;\n      flex-basis: 0;\n  -ms-flex-positive: 1;\n      flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  -ms-flex: 0 0 auto;\n      flex: 0 0 auto;\n  width: auto;\n  max-width: none;\n}\n\n.col-1 {\n  -ms-flex: 0 0 8.333333%;\n      flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  -ms-flex: 0 0 16.666667%;\n      flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  -ms-flex: 0 0 25%;\n      flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  -ms-flex: 0 0 33.333333%;\n      flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  -ms-flex: 0 0 41.666667%;\n      flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  -ms-flex: 0 0 50%;\n      flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  -ms-flex: 0 0 58.333333%;\n      flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  -ms-flex: 0 0 66.666667%;\n      flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  -ms-flex: 0 0 75%;\n      flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  -ms-flex: 0 0 83.333333%;\n      flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  -ms-flex: 0 0 91.666667%;\n      flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  -ms-flex: 0 0 100%;\n      flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  -ms-flex-order: -1;\n      order: -1;\n}\n\n.order-1 {\n  -ms-flex-order: 1;\n      order: 1;\n}\n\n.order-2 {\n  -ms-flex-order: 2;\n      order: 2;\n}\n\n.order-3 {\n  -ms-flex-order: 3;\n      order: 3;\n}\n\n.order-4 {\n  -ms-flex-order: 4;\n      order: 4;\n}\n\n.order-5 {\n  -ms-flex-order: 5;\n      order: 5;\n}\n\n.order-6 {\n  -ms-flex-order: 6;\n      order: 6;\n}\n\n.order-7 {\n  -ms-flex-order: 7;\n      order: 7;\n}\n\n.order-8 {\n  -ms-flex-order: 8;\n      order: 8;\n}\n\n.order-9 {\n  -ms-flex-order: 9;\n      order: 9;\n}\n\n.order-10 {\n  -ms-flex-order: 10;\n      order: 10;\n}\n\n.order-11 {\n  -ms-flex-order: 11;\n      order: 11;\n}\n\n.order-12 {\n  -ms-flex-order: 12;\n      order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-sm-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-sm-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-sm-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-sm-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-sm-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-sm-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-sm-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-sm-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-sm-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-sm-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-sm-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-sm-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-sm-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-md-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-md-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-md-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-md-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-md-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-md-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-md-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-md-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-md-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-md-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-md-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-md-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-md-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-lg-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-lg-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-lg-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-lg-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-lg-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-lg-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-lg-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-lg-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-lg-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-lg-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-lg-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-lg-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-lg-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    -ms-flex-preferred-size: 0;\n        flex-basis: 0;\n    -ms-flex-positive: 1;\n        flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-xl-1 {\n    -ms-flex: 0 0 8.333333%;\n        flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    -ms-flex: 0 0 16.666667%;\n        flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    -ms-flex: 0 0 25%;\n        flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    -ms-flex: 0 0 33.333333%;\n        flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    -ms-flex: 0 0 41.666667%;\n        flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    -ms-flex: 0 0 50%;\n        flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    -ms-flex: 0 0 58.333333%;\n        flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    -ms-flex: 0 0 66.666667%;\n        flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    -ms-flex: 0 0 75%;\n        flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    -ms-flex: 0 0 83.333333%;\n        flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    -ms-flex: 0 0 91.666667%;\n        flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    -ms-flex: 0 0 100%;\n        flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    -ms-flex-order: -1;\n        order: -1;\n  }\n  .order-xl-1 {\n    -ms-flex-order: 1;\n        order: 1;\n  }\n  .order-xl-2 {\n    -ms-flex-order: 2;\n        order: 2;\n  }\n  .order-xl-3 {\n    -ms-flex-order: 3;\n        order: 3;\n  }\n  .order-xl-4 {\n    -ms-flex-order: 4;\n        order: 4;\n  }\n  .order-xl-5 {\n    -ms-flex-order: 5;\n        order: 5;\n  }\n  .order-xl-6 {\n    -ms-flex-order: 6;\n        order: 6;\n  }\n  .order-xl-7 {\n    -ms-flex-order: 7;\n        order: 7;\n  }\n  .order-xl-8 {\n    -ms-flex-order: 8;\n        order: 8;\n  }\n  .order-xl-9 {\n    -ms-flex-order: 9;\n        order: 9;\n  }\n  .order-xl-10 {\n    -ms-flex-order: 10;\n        order: 10;\n  }\n  .order-xl-11 {\n    -ms-flex-order: 11;\n        order: 11;\n  }\n  .order-xl-12 {\n    -ms-flex-order: 12;\n        order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  background-color: transparent;\n}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n  background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem;\n}\n\n.table-bordered {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n  border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n  background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n  background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n  background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n  background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n  background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n  background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n  background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n  background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n  background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n  background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n  background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n  background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n  background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #212529;\n  border-color: #32383e;\n}\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #e9ecef;\n}\n\n.table-dark {\n  color: #fff;\n  background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n  border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n  border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n  background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-sm.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 767px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-md.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 991px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-lg.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 1199px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-xl.table-bordered {\n    border: 0;\n  }\n}\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n  border: 0;\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-image: none;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: none;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control::placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n  height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.col-form-legend {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n}\n\n.form-control-plaintext {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  line-height: 1.5;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(2.875rem + 2px);\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.form-check {\n  position: relative;\n  display: block;\n  margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n  color: #868e96;\n}\n\n.form-check-label {\n  padding-left: 1.25rem;\n  margin-bottom: 0;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.25rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-inline {\n  display: inline-block;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n  vertical-align: middle;\n}\n\n.valid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #28a745;\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n  border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n  background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n  color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #dc3545;\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(220, 53, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n  border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n  background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n  color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-flow: row wrap;\n      flex-flow: row wrap;\n  -ms-flex-align: center;\n      align-items: center;\n}\n\n.form-inline .form-check {\n  width: 100%;\n}\n\n@media (min-width: 576px) {\n  .form-inline label {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n        align-items: center;\n    -ms-flex-pack: center;\n        justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 0 0 auto;\n        flex: 0 0 auto;\n    -ms-flex-flow: row wrap;\n        flex-flow: row wrap;\n    -ms-flex-align: center;\n        align-items: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-plaintext {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n        align-items: center;\n    -ms-flex-pack: center;\n        justify-content: center;\n    width: auto;\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  .form-inline .form-check-label {\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n        align-items: center;\n    -ms-flex-pack: center;\n        justify-content: center;\n    padding-left: 0;\n  }\n  .form-inline .custom-control-indicator {\n    position: static;\n    display: inline-block;\n    margin-right: 0.25rem;\n    vertical-align: text-bottom;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n  text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n  opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n  background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n\n.btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #0062cc;\n  border-color: #005cbf;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:hover {\n  color: #fff;\n  background-color: #727b84;\n  border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #666e76;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n  color: #fff;\n  background-color: #1e7e34;\n  border-color: #1c7430;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n  color: #fff;\n  background-color: #117a8b;\n  border-color: #10707f;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n  color: #111;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:hover {\n  color: #111;\n  background-color: #e0a800;\n  border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n  color: #111;\n  background-color: #d39e00;\n  border-color: #c69500;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #bd2130;\n  border-color: #b21f2d;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n  color: #111;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n  color: #111;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n  color: #111;\n  background-color: #dae0e5;\n  border-color: #d3d9df;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:hover {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #1d2124;\n  border-color: #171a1d;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n  color: #007bff;\n  background-color: transparent;\n  background-image: none;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n  color: #868e96;\n  background-color: transparent;\n  background-image: none;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n  color: #28a745;\n  background-color: transparent;\n  background-image: none;\n  border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n  color: #17a2b8;\n  background-color: transparent;\n  background-image: none;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n  color: #ffc107;\n  background-color: transparent;\n  background-image: none;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n  color: #ffc107;\n  background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n  color: #dc3545;\n  background-color: transparent;\n  background-image: none;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n  color: #dc3545;\n  background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n  color: #f8f9fa;\n  background-color: transparent;\n  background-image: none;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n  color: #343a40;\n  background-color: transparent;\n  background-image: none;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n  color: #343a40;\n  background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n  font-weight: 400;\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n  border-color: transparent;\n  box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n  color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-block + .btn-block {\n  margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.fade {\n  opacity: 0;\n  transition: opacity 0.15s linear;\n}\n\n.fade.show {\n  opacity: 1;\n}\n\n.collapse {\n  display: none;\n}\n\n.collapse.show {\n  display: block;\n}\n\ntr.collapse.show {\n  display: table-row;\n}\n\ntbody.collapse.show {\n  display: table-row-group;\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n  margin-top: 0;\n  margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background: none;\n  border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n  color: #16181b;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n  color: #fff;\n  text-decoration: none;\n  background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #868e96;\n  white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  -ms-flex: 0 1 auto;\n      flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n  margin-left: -1px;\n}\n\n.btn-toolbar {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  -ms-flex-pack: start;\n      justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n  float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  -ms-flex-direction: column;\n      flex-direction: column;\n  -ms-flex-align: start;\n      align-items: flex-start;\n  -ms-flex-pack: center;\n      justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n  width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n\n.input-group {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: stretch;\n      align-items: stretch;\n  width: 100%;\n}\n\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  -ms-flex: 1 1 auto;\n      flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n  z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n      align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n  white-space: nowrap;\n}\n\n.input-group-addon {\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n  border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n  border-left: 0;\n}\n\n.input-group-btn {\n  position: relative;\n  -ms-flex-align: stretch;\n      align-items: stretch;\n  font-size: 0;\n  white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n  position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n  z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n  margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n  margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n  z-index: 2;\n  margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n  margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n  z-index: 3;\n}\n\n.custom-control {\n  position: relative;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n  background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n  color: #868e96;\n}\n\n.custom-control-indicator {\n  position: absolute;\n  top: 0.25rem;\n  left: 0;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-color: #ddd;\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n  background-color: #007bff;\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n  margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n  margin-left: 0;\n}\n\n.custom-select {\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n  background-size: 8px 10px;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n\n.custom-select:focus {\n  border-color: #80bdff;\n  outline: none;\n}\n\n.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple] {\n  height: auto;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #868e96;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  opacity: 0;\n}\n\n.custom-select-sm {\n  height: calc(1.8125rem + 2px);\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  font-size: 75%;\n}\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  min-width: 14rem;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin: 0;\n  opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n  box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 5;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  pointer-events: none;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n  content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n  position: absolute;\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  z-index: 6;\n  display: block;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n  content: \"Browse\";\n}\n\n.nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n  text-decoration: none;\n}\n\n.nav-link.disabled {\n  color: #868e96;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n  margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n  border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n  color: #868e96;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: #495057;\n  background-color: #fff;\n  border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n  -ms-flex: 1 1 auto;\n      flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified .nav-item {\n  -ms-flex-preferred-size: 0;\n      flex-basis: 0;\n  -ms-flex-positive: 1;\n      flex-grow: 1;\n  text-align: center;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  -ms-flex-align: center;\n      align-items: center;\n  -ms-flex-pack: justify;\n      justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  -ms-flex-align: center;\n      align-items: center;\n  -ms-flex-pack: justify;\n      justify-content: space-between;\n}\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n  text-decoration: none;\n}\n\n.navbar-nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n  -ms-flex-preferred-size: 100%;\n      flex-basis: 100%;\n  -ms-flex-positive: 1;\n      flex-grow: 1;\n  -ms-flex-align: center;\n      align-items: center;\n}\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n  text-decoration: none;\n}\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    -ms-flex-flow: row nowrap;\n        flex-flow: row nowrap;\n    -ms-flex-pack: start;\n        justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    -ms-flex-direction: row;\n        flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    -ms-flex-wrap: nowrap;\n        flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n        flex-basis: auto;\n  }\n  .navbar-expand-sm .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-sm .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 767px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -ms-flex-flow: row nowrap;\n        flex-flow: row nowrap;\n    -ms-flex-pack: start;\n        justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    -ms-flex-direction: row;\n        flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    -ms-flex-wrap: nowrap;\n        flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n        flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-md .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 991px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    -ms-flex-flow: row nowrap;\n        flex-flow: row nowrap;\n    -ms-flex-pack: start;\n        justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    -ms-flex-direction: row;\n        flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    -ms-flex-wrap: nowrap;\n        flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n        flex-basis: auto;\n  }\n  .navbar-expand-lg .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-lg .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 1199px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    -ms-flex-flow: row nowrap;\n        flex-flow: row nowrap;\n    -ms-flex-pack: start;\n        justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    -ms-flex-direction: row;\n        flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    -ms-flex-wrap: nowrap;\n        flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n        flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-xl .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n.navbar-expand {\n  -ms-flex-flow: row nowrap;\n      flex-flow: row nowrap;\n  -ms-flex-pack: start;\n      justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n  -ms-flex-direction: row;\n      flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: .5rem;\n  padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  -ms-flex-wrap: nowrap;\n      flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n  display: -ms-flexbox !important;\n  display: flex !important;\n  -ms-flex-preferred-size: auto;\n      flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n  display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n  color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n  color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n  color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n  color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n  color: #fff;\n}\n\n.card {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem;\n}\n\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n  -ms-flex: 1 1 auto;\n      flex: 1 1 auto;\n  padding: 1.25rem;\n}\n\n.card-title {\n  margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link:hover {\n  text-decoration: none;\n}\n\n.card-link + .card-link {\n  margin-left: 1.25rem;\n}\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n  border-top: 0;\n}\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem;\n}\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n}\n\n.card-deck .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-deck {\n    -ms-flex-flow: row wrap;\n        flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 1 0 0%;\n        flex: 1 0 0%;\n    -ms-flex-direction: column;\n        flex-direction: column;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}\n\n.card-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n}\n\n.card-group .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-group {\n    -ms-flex-flow: row wrap;\n        flex-flow: row wrap;\n  }\n  .card-group .card {\n    -ms-flex: 1 0 0%;\n        flex: 1 0 0%;\n    margin-bottom: 0;\n  }\n  .card-group .card + .card {\n    margin-left: 0;\n    border-left: 0;\n  }\n  .card-group .card:first-child {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-top {\n    border-top-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-bottom {\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:last-child {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-top {\n    border-top-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-bottom {\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:only-child {\n    border-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-top {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-bottom {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n    border-radius: 0;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n    border-radius: 0;\n  }\n}\n\n.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    -webkit-column-count: 3;\n            column-count: 3;\n    -webkit-column-gap: 1.25rem;\n            column-gap: 1.25rem;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\n  }\n}\n\n.breadcrumb {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n  display: inline-block;\n  padding-right: 0.5rem;\n  padding-left: 0.5rem;\n  color: #868e96;\n  content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  color: #868e96;\n}\n\n.pagination {\n  display: -ms-flexbox;\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n  color: #868e96;\n  pointer-events: none;\n  background-color: #fff;\n  border-color: #ddd;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #007bff;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n  color: #0056b3;\n  text-decoration: none;\n  background-color: #e9ecef;\n  border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #0062cc;\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #6c757d;\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1e7e34;\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #117a8b;\n}\n\n.badge-warning {\n  color: #111;\n  background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #d39e00;\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #bd2130;\n}\n\n.badge-light {\n  color: #111;\n  background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #dae0e5;\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1d2124;\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\n}\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n}\n\n.alert-dismissible .close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  padding: 0.75rem 1.25rem;\n  color: inherit;\n}\n\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n  color: #002752;\n}\n\n.alert-secondary {\n  color: #464a4e;\n  background-color: #e7e8ea;\n  border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n  border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n  color: #2e3133;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n  color: #0b2e13;\n}\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n  color: #062c33;\n}\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n  color: #533f03;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n  color: #491217;\n}\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n  color: #686868;\n}\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  display: -ms-flexbox;\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.progress-bar {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n      align-items: center;\n  -ms-flex-pack: center;\n      justify-content: center;\n  color: #fff;\n  background-color: #007bff;\n}\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n  -webkit-animation: progress-bar-stripes 1s linear infinite;\n          animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: start;\n      align-items: flex-start;\n}\n\n.media-body {\n  -ms-flex: 1;\n      flex: 1;\n}\n\n.list-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n  color: #495057;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n  color: #212529;\n  background-color: #e9ecef;\n}\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n  text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n  color: #868e96;\n  background-color: #fff;\n}\n\n.list-group-item.active {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  border-bottom: 0;\n}\n\n.list-group-item-primary {\n  color: #004085;\n  background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n  color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n  color: #004085;\n  background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n  color: #fff;\n  background-color: #004085;\n  border-color: #004085;\n}\n\n.list-group-item-secondary {\n  color: #464a4e;\n  background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n  color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n  color: #464a4e;\n  background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n  color: #fff;\n  background-color: #464a4e;\n  border-color: #464a4e;\n}\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n  color: #155724;\n  background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n  color: #fff;\n  background-color: #155724;\n  border-color: #155724;\n}\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n  color: #0c5460;\n  background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n  color: #fff;\n  background-color: #0c5460;\n  border-color: #0c5460;\n}\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n  color: #856404;\n  background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n  color: #fff;\n  background-color: #856404;\n  border-color: #856404;\n}\n\n.list-group-item-danger {\n  color: #721c24;\n  background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n  color: #721c24;\n  background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n  color: #fff;\n  background-color: #721c24;\n  border-color: #721c24;\n}\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n  color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n  color: #818182;\n  background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n  color: #fff;\n  background-color: #818182;\n  border-color: #818182;\n}\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n  color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n  color: #1b1e21;\n  background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n  color: #fff;\n  background-color: #1b1e21;\n  border-color: #1b1e21;\n}\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5;\n}\n\n.close:focus, .close:hover {\n  color: #000;\n  text-decoration: none;\n  opacity: .75;\n}\n\nbutton.close {\n  padding: 0;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n\n.modal-open {\n  overflow: hidden;\n}\n\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  outline: 0;\n}\n\n.modal.fade .modal-dialog {\n  transition: -webkit-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n  -webkit-transform: translate(0, -25%);\n          transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n  -webkit-transform: translate(0, 0);\n          transform: translate(0, 0);\n}\n\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n  pointer-events: none;\n}\n\n.modal-content {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n      flex-direction: column;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n\n.modal-backdrop.fade {\n  opacity: 0;\n}\n\n.modal-backdrop.show {\n  opacity: 0.5;\n}\n\n.modal-header {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: start;\n      align-items: flex-start;\n  -ms-flex-pack: justify;\n      justify-content: space-between;\n  padding: 15px;\n  border-bottom: 1px solid #e9ecef;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n  padding: 15px;\n  margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.modal-body {\n  position: relative;\n  -ms-flex: 1 1 auto;\n      flex: 1 1 auto;\n  padding: 15px;\n}\n\n.modal-footer {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n      align-items: center;\n  -ms-flex-pack: end;\n      justify-content: flex-end;\n  padding: 15px;\n  border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 30px auto;\n  }\n  .modal-sm {\n    max-width: 300px;\n  }\n}\n\n@media (min-width: 992px) {\n  .modal-lg {\n    max-width: 800px;\n  }\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0;\n}\n\n.tooltip.show {\n  opacity: 0.9;\n}\n\n.tooltip .arrow {\n  position: absolute;\n  display: block;\n  width: 5px;\n  height: 5px;\n}\n\n.tooltip .arrow::before {\n  position: absolute;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n  right: 0;\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n  position: absolute;\n  display: block;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.popover .arrow::before {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n  margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n  bottom: -0.8rem;\n  margin-left: -0.8rem;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  bottom: calc((0.8rem - 1px) * -1);\n  margin-left: -0.8rem;\n  border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n  margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n  left: -0.8rem;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  left: calc((0.8rem - 1px) * -1);\n  border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n  margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  margin-left: -0.8rem;\n  border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n  top: -0.8rem;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  top: calc((0.8rem - 1px) * -1);\n  border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: 20px;\n  margin-left: -10px;\n  content: \"\";\n  border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n  margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n  right: -0.8rem;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  right: calc((0.8rem - 1px) * -1);\n  border-left-color: #fff;\n}\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  color: inherit;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  -ms-flex-align: center;\n      align-items: center;\n  width: 100%;\n  transition: -webkit-transform 0.6s ease;\n  transition: transform 0.6s ease;\n  transition: transform 0.6s ease, -webkit-transform 0.6s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-perspective: 1000px;\n          perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n  position: absolute;\n  top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n  -webkit-transform: translateX(0);\n          transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n  .carousel-item-next.carousel-item-left,\n  .carousel-item-prev.carousel-item-right {\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n  .carousel-item-next,\n  .active.carousel-item-right {\n    -webkit-transform: translate3d(100%, 0, 0);\n            transform: translate3d(100%, 0, 0);\n  }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n  .carousel-item-prev,\n  .active.carousel-item-left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n            transform: translate3d(-100%, 0, 0);\n  }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n      align-items: center;\n  -ms-flex-pack: center;\n      justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: .9;\n}\n\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: transparent no-repeat center center;\n  background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  left: 0;\n  z-index: 15;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-pack: center;\n      justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  position: relative;\n  -ms-flex: 0 1 auto;\n      flex: 0 1 auto;\n  width: 30px;\n  height: 3px;\n  margin-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n  position: absolute;\n  top: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators li::after {\n  position: absolute;\n  bottom: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators .active {\n  background-color: #fff;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n  background-color: #6c757d !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #868e96 !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.d-none {\n  display: none !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: -ms-flexbox !important;\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n.d-print-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-block {\n    display: block !important;\n  }\n}\n\n.d-print-inline {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n}\n\n.d-print-inline-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n}\n\n@media print {\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n\n.embed-responsive::before {\n  display: block;\n  content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n\n.embed-responsive-21by9::before {\n  padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n  padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n  padding-top: 100%;\n}\n\n.flex-row {\n  -ms-flex-direction: row !important;\n      flex-direction: row !important;\n}\n\n.flex-column {\n  -ms-flex-direction: column !important;\n      flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  -ms-flex-direction: row-reverse !important;\n      flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  -ms-flex-direction: column-reverse !important;\n      flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  -ms-flex-wrap: wrap !important;\n      flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  -ms-flex-wrap: nowrap !important;\n      flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  -ms-flex-wrap: wrap-reverse !important;\n      flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  -ms-flex-pack: start !important;\n      justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  -ms-flex-pack: end !important;\n      justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  -ms-flex-pack: center !important;\n      justify-content: center !important;\n}\n\n.justify-content-between {\n  -ms-flex-pack: justify !important;\n      justify-content: space-between !important;\n}\n\n.justify-content-around {\n  -ms-flex-pack: distribute !important;\n      justify-content: space-around !important;\n}\n\n.align-items-start {\n  -ms-flex-align: start !important;\n      align-items: flex-start !important;\n}\n\n.align-items-end {\n  -ms-flex-align: end !important;\n      align-items: flex-end !important;\n}\n\n.align-items-center {\n  -ms-flex-align: center !important;\n      align-items: center !important;\n}\n\n.align-items-baseline {\n  -ms-flex-align: baseline !important;\n      align-items: baseline !important;\n}\n\n.align-items-stretch {\n  -ms-flex-align: stretch !important;\n      align-items: stretch !important;\n}\n\n.align-content-start {\n  -ms-flex-line-pack: start !important;\n      align-content: flex-start !important;\n}\n\n.align-content-end {\n  -ms-flex-line-pack: end !important;\n      align-content: flex-end !important;\n}\n\n.align-content-center {\n  -ms-flex-line-pack: center !important;\n      align-content: center !important;\n}\n\n.align-content-between {\n  -ms-flex-line-pack: justify !important;\n      align-content: space-between !important;\n}\n\n.align-content-around {\n  -ms-flex-line-pack: distribute !important;\n      align-content: space-around !important;\n}\n\n.align-content-stretch {\n  -ms-flex-line-pack: stretch !important;\n      align-content: stretch !important;\n}\n\n.align-self-auto {\n  -ms-flex-item-align: auto !important;\n      align-self: auto !important;\n}\n\n.align-self-start {\n  -ms-flex-item-align: start !important;\n      align-self: flex-start !important;\n}\n\n.align-self-end {\n  -ms-flex-item-align: end !important;\n      align-self: flex-end !important;\n}\n\n.align-self-center {\n  -ms-flex-item-align: center !important;\n      align-self: center !important;\n}\n\n.align-self-baseline {\n  -ms-flex-item-align: baseline !important;\n      align-self: baseline !important;\n}\n\n.align-self-stretch {\n  -ms-flex-item-align: stretch !important;\n      align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-sm-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-sm-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-sm-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-md-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-md-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-md-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-md-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-md-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-md-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-md-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-md-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-lg-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-lg-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-lg-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -ms-flex-direction: row !important;\n        flex-direction: row !important;\n  }\n  .flex-xl-column {\n    -ms-flex-direction: column !important;\n        flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n        flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n        flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    -ms-flex-wrap: wrap !important;\n        flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    -ms-flex-wrap: nowrap !important;\n        flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n        flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    -ms-flex-pack: start !important;\n        justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    -ms-flex-pack: end !important;\n        justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    -ms-flex-pack: center !important;\n        justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    -ms-flex-pack: justify !important;\n        justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    -ms-flex-pack: distribute !important;\n        justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    -ms-flex-align: start !important;\n        align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    -ms-flex-align: end !important;\n        align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    -ms-flex-align: center !important;\n        align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    -ms-flex-align: baseline !important;\n        align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    -ms-flex-align: stretch !important;\n        align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    -ms-flex-line-pack: start !important;\n        align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    -ms-flex-line-pack: end !important;\n        align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    -ms-flex-line-pack: center !important;\n        align-content: center !important;\n  }\n  .align-content-xl-between {\n    -ms-flex-line-pack: justify !important;\n        align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    -ms-flex-line-pack: distribute !important;\n        align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    -ms-flex-line-pack: stretch !important;\n        align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    -ms-flex-item-align: auto !important;\n        align-self: auto !important;\n  }\n  .align-self-xl-start {\n    -ms-flex-item-align: start !important;\n        align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    -ms-flex-item-align: end !important;\n        align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    -ms-flex-item-align: center !important;\n        align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    -ms-flex-item-align: baseline !important;\n        align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    -ms-flex-item-align: stretch !important;\n        align-self: stretch !important;\n  }\n}\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important;\n  }\n  .float-sm-right {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important;\n  }\n  .float-md-right {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important;\n  }\n  .float-lg-right {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important;\n  }\n  .float-xl-right {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: -webkit-sticky !important;\n  position: sticky !important;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n  .sticky-top {\n    position: -webkit-sticky;\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  -webkit-clip-path: inset(50%);\n          clip-path: inset(50%);\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n  -webkit-clip-path: none;\n          clip-path: none;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-justify {\n  text-align: justify !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n  color: #0062cc !important;\n}\n\n.text-secondary {\n  color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n  color: #6c757d !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n  color: #1e7e34 !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n  color: #117a8b !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n  color: #d39e00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n  color: #bd2130 !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n  color: #dae0e5 !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n  color: #1d2124 !important;\n}\n\n.text-muted {\n  color: #868e96 !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n//    we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -ms-text-size-adjust: 100%; // 4\n  -ms-overflow-style: scrollbar; // 5\n  -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n  @-ms-viewport {\n    width: device-width;\n  }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  font-size: $font-size-base;\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n  text-decoration: underline; // 2\n  text-decoration: underline dotted; // 2\n  cursor: help; // 3\n  border-bottom: 0; // 1\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n  font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n  font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n  -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n  }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n  font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n  // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n  // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n  -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n  overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n  padding-top: $table-cell-padding;\n  padding-bottom: $table-cell-padding;\n  color: $text-muted;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n  border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n//    controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n  // bug where setting a custom line-height prevents text from being vertically\n  // centered within the input.\n  // See https://bugs.webkit.org/show_bug.cgi?id=139848\n  // and https://github.com/twbs/bootstrap/issues/11266\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // Browsers set a default `min-width: min-content;` on fieldsets,\n  // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  // So we reset that to ensure fieldsets behave more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359\n  // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // This overrides the extra rounded corners on search inputs in iOS so that our\n  // `.form-control` class can properly style them. Note that this cannot simply\n  // be added to `.form-control` as it's not specific enough. For details, see\n  // https://github.com/twbs/bootstrap/issues/11586.\n  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n  display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #868e96;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #868e96;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  -ms-overflow-style: scrollbar;\n  -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n  width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: none !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\ndfn {\n  font-style: italic;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -.25em;\n}\n\nsup {\n  top: -.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  -ms-overflow-style: scrollbar;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n  touch-action: manipulation;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #868e96;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: .5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.2;\n  color: inherit;\n}\n\nh1, .h1 {\n  font-size: 2.5rem;\n}\n\nh2, .h2 {\n  font-size: 2rem;\n}\n\nh3, .h3 {\n  font-size: 1.75rem;\n}\n\nh4, .h4 {\n  font-size: 1.5rem;\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n  margin-right: 5px;\n}\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #868e96;\n}\n\n.blockquote-footer::before {\n  content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 0.25rem;\n  transition: all 0.2s ease-in-out;\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 90%;\n  color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #bd4147;\n  background-color: #f8f9fa;\n  border-radius: 0.25rem;\n}\n\na > code {\n  padding: 0;\n  color: inherit;\n  background-color: inherit;\n}\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 90%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem;\n}\n\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n}\n\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  font-size: 90%;\n  color: #212529;\n}\n\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  background-color: transparent;\n  border-radius: 0;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n  position: relative;\n  width: 100%;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  flex-basis: 0;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n  max-width: none;\n}\n\n.col-1 {\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  order: -1;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.333333%;\n}\n\n.offset-2 {\n  margin-left: 16.666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.333333%;\n}\n\n.offset-5 {\n  margin-left: 41.666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.333333%;\n}\n\n.offset-8 {\n  margin-left: 66.666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.333333%;\n}\n\n.offset-11 {\n  margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-sm-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 768px) {\n  .col-md {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-md-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    order: -1;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 992px) {\n  .col-lg {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-lg-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n@media (min-width: 1200px) {\n  .col-xl {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: none;\n  }\n  .col-xl-1 {\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.666667%;\n  }\n}\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  background-color: transparent;\n}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n  border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n  background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem;\n}\n\n.table-bordered {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n  border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n  border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n  background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n  background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n  background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n  background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n  background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n  background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n  background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n  background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n  background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n  background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n  background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n  background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n  background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #212529;\n  border-color: #32383e;\n}\n\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #e9ecef;\n}\n\n.table-dark {\n  color: #fff;\n  background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n  border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n  border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n  background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-sm.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 767px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-md.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 991px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-lg.table-bordered {\n    border: 0;\n  }\n}\n\n@media (max-width: 1199px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n  .table-responsive-xl.table-bordered {\n    border: 0;\n  }\n}\n\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n  border: 0;\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-image: none;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: none;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n  color: #868e96;\n  opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n  height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.col-form-legend {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n}\n\n.form-control-plaintext {\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  margin-bottom: 0;\n  line-height: 1.5;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n  height: calc(2.875rem + 2px);\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.form-check {\n  position: relative;\n  display: block;\n  margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n  color: #868e96;\n}\n\n.form-check-label {\n  padding-left: 1.25rem;\n  margin-bottom: 0;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.25rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-inline {\n  display: inline-block;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n  vertical-align: middle;\n}\n\n.valid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #28a745;\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n  border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n  background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n  color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n  display: none;\n  margin-top: .25rem;\n  font-size: .875rem;\n  color: #dc3545;\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  width: 250px;\n  padding: .5rem;\n  margin-top: .1rem;\n  font-size: .875rem;\n  line-height: 1;\n  color: #fff;\n  background-color: rgba(220, 53, 69, 0.8);\n  border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n  border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n  background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n  color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n  border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center;\n}\n\n.form-inline .form-check {\n  width: 100%;\n}\n\n@media (min-width: 576px) {\n  .form-inline label {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: flex;\n    flex: 0 0 auto;\n    flex-flow: row wrap;\n    align-items: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-plaintext {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: auto;\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  .form-inline .form-check-label {\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding-left: 0;\n  }\n  .form-inline .custom-control-indicator {\n    position: static;\n    display: inline-block;\n    margin-right: 0.25rem;\n    vertical-align: text-bottom;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  user-select: none;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n  text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n  opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n  background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n\n.btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #0062cc;\n  border-color: #005cbf;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:hover {\n  color: #fff;\n  background-color: #727b84;\n  border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #666e76;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n  color: #fff;\n  background-color: #1e7e34;\n  border-color: #1c7430;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n  color: #fff;\n  background-color: #117a8b;\n  border-color: #10707f;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n  color: #111;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:hover {\n  color: #111;\n  background-color: #e0a800;\n  border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n  color: #111;\n  background-color: #d39e00;\n  border-color: #c69500;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #bd2130;\n  border-color: #b21f2d;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n  color: #111;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n  color: #111;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n  color: #111;\n  background-color: #dae0e5;\n  border-color: #d3d9df;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:hover {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #1d2124;\n  border-color: #171a1d;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n  color: #007bff;\n  background-color: transparent;\n  background-image: none;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n  color: #868e96;\n  background-color: transparent;\n  background-image: none;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #868e96;\n  border-color: #868e96;\n  box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n  color: #28a745;\n  background-color: transparent;\n  background-image: none;\n  border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n  color: #17a2b8;\n  background-color: transparent;\n  background-image: none;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n  color: #ffc107;\n  background-color: transparent;\n  background-image: none;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n  color: #ffc107;\n  background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n  color: #fff;\n  background-color: #ffc107;\n  border-color: #ffc107;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n  color: #dc3545;\n  background-color: transparent;\n  background-image: none;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n  color: #dc3545;\n  background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n  color: #f8f9fa;\n  background-color: transparent;\n  background-image: none;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n  color: #343a40;\n  background-color: transparent;\n  background-image: none;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n  color: #343a40;\n  background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n  font-weight: 400;\n  color: #007bff;\n  background-color: transparent;\n}\n\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n  border-color: transparent;\n  box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n  color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n.btn-block + .btn-block {\n  margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n\n.fade {\n  opacity: 0;\n  transition: opacity 0.15s linear;\n}\n\n.fade.show {\n  opacity: 1;\n}\n\n.collapse {\n  display: none;\n}\n\n.collapse.show {\n  display: block;\n}\n\ntr.collapse.show {\n  display: table-row;\n}\n\ntbody.collapse.show {\n  display: table-row-group;\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n  margin-top: 0;\n  margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background: none;\n  border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n  color: #16181b;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n  color: #fff;\n  text-decoration: none;\n  background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: #868e96;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #868e96;\n  white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n  margin-left: -1px;\n}\n\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n  float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n  width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n\n.input-group {\n  position: relative;\n  display: flex;\n  align-items: stretch;\n  width: 100%;\n}\n\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n  z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: flex;\n  align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n  white-space: nowrap;\n}\n\n.input-group-addon {\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n  border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n  border-left: 0;\n}\n\n.input-group-btn {\n  position: relative;\n  align-items: stretch;\n  font-size: 0;\n  white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n  position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n  z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n  margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n  margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n  z-index: 2;\n  margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n  margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n  z-index: 3;\n}\n\n.custom-control {\n  position: relative;\n  display: inline-flex;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n  color: #fff;\n  background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n  background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n  color: #868e96;\n}\n\n.custom-control-indicator {\n  position: absolute;\n  top: 0.25rem;\n  left: 0;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  user-select: none;\n  background-color: #ddd;\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n  background-color: #007bff;\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n  display: flex;\n  flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n  margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n  margin-left: 0;\n}\n\n.custom-select {\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n  background-size: 8px 10px;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  appearance: none;\n}\n\n.custom-select:focus {\n  border-color: #80bdff;\n  outline: none;\n}\n\n.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple] {\n  height: auto;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #868e96;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  opacity: 0;\n}\n\n.custom-select-sm {\n  height: calc(1.8125rem + 2px);\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\n  font-size: 75%;\n}\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  min-width: 14rem;\n  max-width: 100%;\n  height: calc(2.25rem + 2px);\n  margin: 0;\n  opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n  box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 5;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  pointer-events: none;\n  user-select: none;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n  content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n  position: absolute;\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  z-index: 6;\n  display: block;\n  height: calc(2.25rem + 2px);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n  content: \"Browse\";\n}\n\n.nav {\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n  text-decoration: none;\n}\n\n.nav-link.disabled {\n  color: #868e96;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n  margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n  border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n  color: #868e96;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: #495057;\n  background-color: #fff;\n  border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n  flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified .nav-item {\n  flex-basis: 0;\n  flex-grow: 1;\n  text-align: center;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n  text-decoration: none;\n}\n\n.navbar-nav {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n  flex-basis: 100%;\n  flex-grow: 1;\n  align-items: center;\n}\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n  text-decoration: none;\n}\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-sm > .container,\n  .navbar-expand-sm > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-sm .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-sm .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 767px) {\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-md > .container,\n  .navbar-expand-md > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-md .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 991px) {\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-lg > .container,\n  .navbar-expand-lg > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-lg .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-lg .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n@media (max-width: 1199px) {\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n    right: 0;\n    left: auto;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: .5rem;\n    padding-left: .5rem;\n  }\n  .navbar-expand-xl > .container,\n  .navbar-expand-xl > .container-fluid {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-xl .dropup .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n  }\n}\n\n.navbar-expand {\n  flex-flow: row nowrap;\n  justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n  flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: .5rem;\n  padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n  display: flex !important;\n  flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n  display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n  color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n  color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n  color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n  color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n  color: #fff;\n}\n\n.card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem;\n}\n\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n  flex: 1 1 auto;\n  padding: 1.25rem;\n}\n\n.card-title {\n  margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link:hover {\n  text-decoration: none;\n}\n\n.card-link + .card-link {\n  margin-left: 1.25rem;\n}\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n  border-top: 0;\n}\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem;\n}\n\n.card-img {\n  width: 100%;\n  border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n  width: 100%;\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n  width: 100%;\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n  display: flex;\n  flex-direction: column;\n}\n\n.card-deck .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-deck {\n    flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    display: flex;\n    flex: 1 0 0%;\n    flex-direction: column;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}\n\n.card-group {\n  display: flex;\n  flex-direction: column;\n}\n\n.card-group .card {\n  margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n  .card-group {\n    flex-flow: row wrap;\n  }\n  .card-group .card {\n    flex: 1 0 0%;\n    margin-bottom: 0;\n  }\n  .card-group .card + .card {\n    margin-left: 0;\n    border-left: 0;\n  }\n  .card-group .card:first-child {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-top {\n    border-top-right-radius: 0;\n  }\n  .card-group .card:first-child .card-img-bottom {\n    border-bottom-right-radius: 0;\n  }\n  .card-group .card:last-child {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-top {\n    border-top-left-radius: 0;\n  }\n  .card-group .card:last-child .card-img-bottom {\n    border-bottom-left-radius: 0;\n  }\n  .card-group .card:only-child {\n    border-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-top {\n    border-top-left-radius: 0.25rem;\n    border-top-right-radius: 0.25rem;\n  }\n  .card-group .card:only-child .card-img-bottom {\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0.25rem;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n    border-radius: 0;\n  }\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n  .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n    border-radius: 0;\n  }\n}\n\n.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    column-count: 3;\n    column-gap: 1.25rem;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\n  }\n}\n\n.breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n  display: inline-block;\n  padding-right: 0.5rem;\n  padding-left: 0.5rem;\n  color: #868e96;\n  content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none;\n}\n\n.breadcrumb-item.active {\n  color: #868e96;\n}\n\n.pagination {\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n  color: #868e96;\n  pointer-events: none;\n  background-color: #fff;\n  border-color: #ddd;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #007bff;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n  color: #0056b3;\n  text-decoration: none;\n  background-color: #e9ecef;\n  border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #0062cc;\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #6c757d;\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1e7e34;\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #117a8b;\n}\n\n.badge-warning {\n  color: #111;\n  background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #d39e00;\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #bd2130;\n}\n\n.badge-light {\n  color: #111;\n  background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n  color: #111;\n  text-decoration: none;\n  background-color: #dae0e5;\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n  color: #fff;\n  text-decoration: none;\n  background-color: #1d2124;\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\n}\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n}\n\n.alert-dismissible .close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  padding: 0.75rem 1.25rem;\n  color: inherit;\n}\n\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n  color: #002752;\n}\n\n.alert-secondary {\n  color: #464a4e;\n  background-color: #e7e8ea;\n  border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n  border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n  color: #2e3133;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n  color: #0b2e13;\n}\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n  color: #062c33;\n}\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n  color: #533f03;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n  color: #491217;\n}\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n  color: #686868;\n}\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.progress-bar {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: #fff;\n  background-color: #007bff;\n}\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n  animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\n}\n\n.list-group {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n  color: #495057;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n  color: #212529;\n  background-color: #e9ecef;\n}\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n  text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n  color: #868e96;\n  background-color: #fff;\n}\n\n.list-group-item.active {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  border-bottom: 0;\n}\n\n.list-group-item-primary {\n  color: #004085;\n  background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n  color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n  color: #004085;\n  background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n  color: #fff;\n  background-color: #004085;\n  border-color: #004085;\n}\n\n.list-group-item-secondary {\n  color: #464a4e;\n  background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n  color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n  color: #464a4e;\n  background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n  color: #fff;\n  background-color: #464a4e;\n  border-color: #464a4e;\n}\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n  color: #155724;\n  background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n  color: #fff;\n  background-color: #155724;\n  border-color: #155724;\n}\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n  color: #0c5460;\n  background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n  color: #fff;\n  background-color: #0c5460;\n  border-color: #0c5460;\n}\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n  color: #856404;\n  background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n  color: #fff;\n  background-color: #856404;\n  border-color: #856404;\n}\n\n.list-group-item-danger {\n  color: #721c24;\n  background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n  color: #721c24;\n  background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n  color: #fff;\n  background-color: #721c24;\n  border-color: #721c24;\n}\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n  color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n  color: #818182;\n  background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n  color: #fff;\n  background-color: #818182;\n  border-color: #818182;\n}\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n  color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n  color: #1b1e21;\n  background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n  color: #fff;\n  background-color: #1b1e21;\n  border-color: #1b1e21;\n}\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .5;\n}\n\n.close:focus, .close:hover {\n  color: #000;\n  text-decoration: none;\n  opacity: .75;\n}\n\nbutton.close {\n  padding: 0;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n\n.modal-open {\n  overflow: hidden;\n}\n\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  outline: 0;\n}\n\n.modal.fade .modal-dialog {\n  transition: transform 0.3s ease-out;\n  transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n  transform: translate(0, 0);\n}\n\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n  pointer-events: none;\n}\n\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n\n.modal-backdrop.fade {\n  opacity: 0;\n}\n\n.modal-backdrop.show {\n  opacity: 0.5;\n}\n\n.modal-header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  padding: 15px;\n  border-bottom: 1px solid #e9ecef;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n  padding: 15px;\n  margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.modal-body {\n  position: relative;\n  flex: 1 1 auto;\n  padding: 15px;\n}\n\n.modal-footer {\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  padding: 15px;\n  border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 30px auto;\n  }\n  .modal-sm {\n    max-width: 300px;\n  }\n}\n\n@media (min-width: 992px) {\n  .modal-lg {\n    max-width: 800px;\n  }\n}\n\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0;\n}\n\n.tooltip.show {\n  opacity: 0.9;\n}\n\n.tooltip .arrow {\n  position: absolute;\n  display: block;\n  width: 5px;\n  height: 5px;\n}\n\n.tooltip .arrow::before {\n  position: absolute;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n  padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n  margin-left: -3px;\n  content: \"\";\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n  padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n  right: 0;\n  margin-top: -3px;\n  content: \"\";\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n  position: absolute;\n  display: block;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.popover .arrow::before {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n  content: \"\";\n  border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n  margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n  bottom: -0.8rem;\n  margin-left: -0.8rem;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n  bottom: calc((0.8rem - 1px) * -1);\n  margin-left: -0.8rem;\n  border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n  margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n  left: -0.8rem;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n  left: calc((0.8rem - 1px) * -1);\n  border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n  margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  margin-left: -0.8rem;\n  border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n  top: -0.8rem;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n  top: calc((0.8rem - 1px) * -1);\n  border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: 20px;\n  margin-left: -10px;\n  content: \"\";\n  border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n  margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  margin-top: -0.8rem;\n  border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n  right: -0.8rem;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n  right: calc((0.8rem - 1px) * -1);\n  border-left-color: #fff;\n}\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  color: inherit;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  align-items: center;\n  width: 100%;\n  transition: transform 0.6s ease;\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n  position: absolute;\n  top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n  transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-next.carousel-item-left,\n  .carousel-item-prev.carousel-item-right {\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n  transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-next,\n  .active.carousel-item-right {\n    transform: translate3d(100%, 0, 0);\n  }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n  transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n  .carousel-item-prev,\n  .active.carousel-item-left {\n    transform: translate3d(-100%, 0, 0);\n  }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: .9;\n}\n\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: transparent no-repeat center center;\n  background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  left: 0;\n  z-index: 15;\n  display: flex;\n  justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none;\n}\n\n.carousel-indicators li {\n  position: relative;\n  flex: 0 1 auto;\n  width: 30px;\n  height: 3px;\n  margin-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n  position: absolute;\n  top: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators li::after {\n  position: absolute;\n  bottom: -10px;\n  left: 0;\n  display: inline-block;\n  width: 100%;\n  height: 10px;\n  content: \"\";\n}\n\n.carousel-indicators .active {\n  background-color: #fff;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n  background-color: #6c757d !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #868e96 !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.d-none {\n  display: none !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n}\n\n.d-print-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-block {\n    display: block !important;\n  }\n}\n\n.d-print-inline {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n}\n\n.d-print-inline-block {\n  display: none !important;\n}\n\n@media print {\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n}\n\n@media print {\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n\n.embed-responsive::before {\n  display: block;\n  content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n\n.embed-responsive-21by9::before {\n  padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n  padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n  padding-top: 100%;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n}\n\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important;\n  }\n  .float-sm-right {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important;\n  }\n  .float-md-right {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important;\n  }\n  .float-lg-right {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important;\n  }\n  .float-xl-right {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: sticky !important;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n@supports (position: sticky) {\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  clip-path: inset(50%);\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n  clip-path: none;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-justify {\n  text-align: justify !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n  color: #0062cc !important;\n}\n\n.text-secondary {\n  color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n  color: #6c757d !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n  color: #1e7e34 !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n  color: #117a8b !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n  color: #d39e00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n  color: #bd2130 !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n  color: #dae0e5 !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n  color: #1d2124 !important;\n}\n\n.text-muted {\n  color: #868e96 !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable indentation\n@mixin hover {\n  // TODO: re-enable along with mq4-hover-shim\n//  @if $enable-hover-media-query {\n//    // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n//    // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n//    @media (hover: hover) {\n//      &:hover { @content }\n//    }\n//  }\n//  @else {\n    &:hover { @content; }\n//  }\n}\n\n\n@mixin hover-focus {\n  @if $enable-hover-media-query {\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin plain-hover-focus {\n  @if $enable-hover-media-query {\n    &,\n    &:focus {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &,\n    &:focus,\n    &:hover {\n      @content;\n    }\n  }\n}\n\n@mixin hover-focus-active {\n  @if $enable-hover-media-query {\n    &:focus,\n    &:active {\n      @content;\n    }\n    @include hover { @content; }\n  } @else {\n    &:focus,\n    &:active,\n    &:hover {\n      @content;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: $headings-margin-bottom;\n  font-family: $headings-font-family;\n  font-weight: $headings-font-weight;\n  line-height: $headings-line-height;\n  color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n  font-size: $lead-font-size;\n  font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n  font-size: $display1-size;\n  font-weight: $display1-weight;\n  line-height: $display-line-height;\n}\n.display-2 {\n  font-size: $display2-size;\n  font-weight: $display2-weight;\n  line-height: $display-line-height;\n}\n.display-3 {\n  font-size: $display3-size;\n  font-weight: $display3-weight;\n  line-height: $display-line-height;\n}\n.display-4 {\n  font-size: $display4-size;\n  font-weight: $display4-weight;\n  line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n  font-size: $small-font-size;\n  font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n  padding: $mark-padding;\n  background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n  @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  @include list-unstyled;\n}\n.list-inline-item {\n  display: inline-block;\n\n  &:not(:last-child) {\n    margin-right: $list-inline-padding;\n  }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n  margin-bottom: $spacer;\n  font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%; // back to default font-size\n  color: $blockquote-small-color;\n\n  &::before {\n    content: \"\\2014 \\00A0\"; // em dash, nbsp\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n  @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n  padding: $thumbnail-padding;\n  background-color: $thumbnail-bg;\n  border: $thumbnail-border-width solid $thumbnail-border-color;\n  @include border-radius($thumbnail-border-radius);\n  @include transition($thumbnail-transition);\n  @include box-shadow($thumbnail-box-shadow);\n\n  // Keep them at most 100% wide\n  @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n  // Ensures the caption's text aligns with the image.\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: ($spacer / 2);\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: $figure-caption-font-size;\n  color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n  background-image: url($file-1x);\n\n  // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n  // but doesn't convert dppx=>dpi.\n  // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n  // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n  @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n  only screen and (min-resolution: 2dppx) { // Standardized\n    background-image: url($file-2x);\n    background-size: $width-1x $height-1x;\n  }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-radius: $radius;\n  }\n}\n\n@mixin border-top-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: $radius;\n    border-top-right-radius: $radius;\n  }\n}\n\n@mixin border-right-radius($radius) {\n  @if $enable-rounded {\n    border-top-right-radius: $radius;\n    border-bottom-right-radius: $radius;\n  }\n}\n\n@mixin border-bottom-radius($radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: $radius;\n    border-bottom-left-radius: $radius;\n  }\n}\n\n@mixin border-left-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: $radius;\n    border-bottom-left-radius: $radius;\n  }\n}\n","@mixin transition($transition...) {\n  @if $enable-transitions {\n    @if length($transition) == 0 {\n      transition: $transition-base;\n    } @else {\n      transition: $transition;\n    }\n  }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: $code-padding-y $code-padding-x;\n  font-size: $code-font-size;\n  color: $code-color;\n  background-color: $code-bg;\n  @include border-radius($border-radius);\n\n  // Streamline the style when inside anchors to avoid broken underline and more\n  a > & {\n    padding: 0;\n    color: inherit;\n    background-color: inherit;\n  }\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: $code-padding-y $code-padding-x;\n  font-size: $code-font-size;\n  color: $kbd-color;\n  background-color: $kbd-bg;\n  @include border-radius($border-radius-sm);\n  @include box-shadow($kbd-box-shadow);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: $nested-kbd-font-weight;\n    @include box-shadow(none);\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  font-size: $code-font-size;\n  color: $pre-color;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: $pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n  }\n\n  // Remove the negative margin from default .row, then the horizontal padding\n  // from all immediate children columns (to prevent runaway style inheritance).\n  .no-gutters {\n    margin-right: 0;\n    margin-left: 0;\n\n    > .col,\n    > [class*=\"col-\"] {\n      padding-right: 0;\n      padding-left: 0;\n    }\n  }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n  width: 100%;\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint, $container-max-width in $max-widths {\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      max-width: $container-max-width;\n    }\n  }\n}\n\n@mixin make-row() {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: ($grid-gutter-width / -2);\n  margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n  position: relative;\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we use `flex` values\n  // later on to override this initial width.\n  width: 100%;\n  min-height: 1px; // Prevent collapsing\n  padding-right: ($grid-gutter-width / 2);\n  padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n  flex: 0 0 percentage($size / $columns);\n  // Add a `max-width` to ensure content within each column does not blow out\n  // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n  // do not appear to require this.\n  max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: $size / $columns;\n  margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $next: breakpoint-next($name, $breakpoints);\n  @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  $max: breakpoint-max($name, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($name) {\n      @content;\n    }\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  // Common properties for all breakpoints\n  %grid-column {\n    position: relative;\n    width: 100%;\n    min-height: 1px; // Prevent columns from collapsing when empty\n    padding-right: ($gutter / 2);\n    padding-left: ($gutter / 2);\n  }\n\n  @each $breakpoint in map-keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    // Allow columns to stretch full width below their breakpoints\n    @for $i from 1 through $columns {\n      .col#{$infix}-#{$i} {\n        @extend %grid-column;\n      }\n    }\n    .col#{$infix},\n    .col#{$infix}-auto {\n      @extend %grid-column;\n    }\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex-basis: 0;\n        flex-grow: 1;\n        max-width: 100%;\n      }\n      .col#{$infix}-auto {\n        flex: 0 0 auto;\n        width: auto;\n        max-width: none; // Reset earlier grid tiers\n      }\n\n      @for $i from 1 through $columns {\n        .col#{$infix}-#{$i} {\n          @include make-col($i, $columns);\n        }\n      }\n\n      .order#{$infix}-first {\n        order: -1;\n      }\n\n      @for $i from 1 through $columns {\n        .order#{$infix}-#{$i} {\n          order: $i;\n        }\n      }\n\n      // `$columns - 1` because offsetting by the width of an entire row isn't possible\n      @for $i from 0 through ($columns - 1) {\n        @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n          .offset#{$infix}-#{$i} {\n            @include make-col-offset($i, $columns);\n          }\n        }\n      }\n    }\n  }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: $spacer;\n  background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n  th,\n  td {\n    padding: $table-cell-padding;\n    vertical-align: top;\n    border-top: $table-border-width solid $table-border-color;\n  }\n\n  thead th {\n    vertical-align: bottom;\n    border-bottom: (2 * $table-border-width) solid $table-border-color;\n  }\n\n  tbody + tbody {\n    border-top: (2 * $table-border-width) solid $table-border-color;\n  }\n\n  .table {\n    background-color: $body-bg;\n  }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n  th,\n  td {\n    padding: $table-cell-padding-sm;\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: $table-border-width solid $table-border-color;\n\n  th,\n  td {\n    border: $table-border-width solid $table-border-color;\n  }\n\n  thead {\n    th,\n    td {\n      border-bottom-width: (2 * $table-border-width);\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  tbody tr:nth-of-type(odd) {\n    background-color: $table-accent-bg;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  tbody tr {\n    @include hover {\n      background-color: $table-hover-bg;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n  @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n  .thead-dark {\n    th {\n      color: $table-dark-color;\n      background-color: $table-dark-bg;\n      border-color: $table-dark-border-color;\n    }\n  }\n\n  .thead-light {\n    th {\n      color: $table-head-color;\n      background-color: $table-head-bg;\n      border-color: $table-border-color;\n    }\n  }\n}\n\n.table-dark {\n  color: $table-dark-color;\n  background-color: $table-dark-bg;\n\n  th,\n  td,\n  thead th {\n    border-color: $table-dark-border-color;\n  }\n\n  &.table-bordered {\n    border: 0;\n  }\n\n  &.table-striped {\n    tbody tr:nth-of-type(odd) {\n      background-color: $table-dark-accent-bg;\n    }\n  }\n\n  &.table-hover {\n    tbody tr {\n      @include hover {\n        background-color: $table-dark-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    &#{$infix} {\n      @include media-breakpoint-down($breakpoint) {\n        display: block;\n        width: 100%;\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n        -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n        // Prevent double border on horizontal scroll due to use of `display: block;`\n        &.table-bordered {\n          border: 0;\n        }\n      }\n    }\n  }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table-#{$state} {\n    &,\n    > th,\n    > td {\n      background-color: $background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover {\n    $hover-background: darken($background, 5%);\n\n    .table-#{$state} {\n      @include hover {\n        background-color: $hover-background;\n\n        > td,\n        > th {\n          background-color: $hover-background;\n        }\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: $input-btn-padding-y $input-btn-padding-x;\n  font-size: $font-size-base;\n  line-height: $input-btn-line-height;\n  color: $input-color;\n  background-color: $input-bg;\n  // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.\n  background-image: none;\n  background-clip: padding-box;\n  border: $input-btn-border-width solid $input-border-color;\n\n  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n  @if $enable-rounded {\n    // Manually use the if/else instead of the mixin to account for iOS override\n    border-radius: $input-border-radius;\n  } @else {\n    // Otherwise undo the iOS default\n    border-radius: 0;\n  }\n\n  @include box-shadow($input-box-shadow);\n  @include transition($input-transition);\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    background-color: transparent;\n    border: 0;\n  }\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  @include form-control-focus();\n\n  // Placeholder\n  &::placeholder {\n    color: $input-placeholder-color;\n    // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n    opacity: 1;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &:disabled,\n  &[readonly] {\n    background-color: $input-disabled-bg;\n    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n    opacity: 1;\n  }\n}\n\nselect.form-control {\n  &:not([size]):not([multiple]) {\n    height: $input-height;\n  }\n\n  &:focus::-ms-value {\n    // Suppress the nested default white text on blue background highlight given to\n    // the selected option text when the (still closed) <select> receives focus\n    // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n    // match the appearance of the native widget.\n    // See https://github.com/twbs/bootstrap/issues/19398.\n    color: $input-color;\n    background-color: $input-bg;\n  }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n  display: block;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label text to\n// align with the form controls.\n.col-form-label {\n  padding-top: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n  margin-bottom: 0; // Override the `<label>` default\n  line-height: $input-btn-line-height;\n}\n\n.col-form-label-lg {\n  padding-top: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n  font-size: $font-size-lg;\n  line-height: $input-btn-line-height-lg;\n}\n\n.col-form-label-sm {\n  padding-top: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n  padding-bottom: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n  font-size: $font-size-sm;\n  line-height: $input-btn-line-height-sm;\n}\n\n\n//\n// Legends\n//\n\n// For use with horizontal and inline forms, when you need the legend text to\n// be the same size as regular labels, and to align with the form controls.\n.col-form-legend {\n  padding-top: $input-btn-padding-y;\n  padding-bottom: $input-btn-padding-y;\n  margin-bottom: 0;\n  font-size: $font-size-base;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n  padding-top: $input-btn-padding-y;\n  padding-bottom: $input-btn-padding-y;\n  margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n  line-height: $input-btn-line-height;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: $input-btn-border-width 0;\n\n  &.form-control-sm,\n  &.form-control-lg {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n  padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n  font-size: $font-size-sm;\n  line-height: $input-btn-line-height-sm;\n  @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n  &:not([size]):not([multiple]) {\n    height: $input-height-sm;\n  }\n}\n\n.form-control-lg {\n  padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n  font-size: $font-size-lg;\n  line-height: $input-btn-line-height-lg;\n  @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n  &:not([size]):not([multiple]) {\n    height: $input-height-lg;\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n  display: block;\n  margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n\n  > .col,\n  > [class*=\"col-\"] {\n    padding-right: 5px;\n    padding-left: 5px;\n  }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n  position: relative;\n  display: block;\n  margin-bottom: $form-check-margin-bottom;\n\n  &.disabled {\n    .form-check-label {\n      color: $text-muted;\n    }\n  }\n}\n\n.form-check-label {\n  padding-left: $form-check-input-gutter;\n  margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: $form-check-input-margin-y;\n  margin-left: -$form-check-input-gutter;\n}\n\n// Radios and checkboxes on same line\n.form-check-inline {\n  display: inline-block;\n  margin-right: $form-check-inline-margin-x;\n\n  .form-check-label {\n    vertical-align: middle;\n  }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n  // Because we use flex, the initial sizing of checkboxes is collapsed and\n  // doesn't occupy the full-width (which is what we want for xs grid tier),\n  // so we force that here.\n  .form-check {\n    width: 100%;\n  }\n\n  // Kick in the inline\n  @include media-breakpoint-up(sm) {\n    label {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 0;\n    }\n\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: flex;\n      flex: 0 0 auto;\n      flex-flow: row wrap;\n      align-items: center;\n      margin-bottom: 0;\n    }\n\n    // Allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-plaintext {\n      display: inline-block;\n    }\n\n    .input-group {\n      width: auto;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .form-check {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      width: auto;\n      margin-top: 0;\n      margin-bottom: 0;\n    }\n    .form-check-label {\n      padding-left: 0;\n    }\n    .form-check-input {\n      position: relative;\n      margin-top: 0;\n      margin-right: $form-check-input-margin-x;\n      margin-left: 0;\n    }\n\n    // Custom form controls\n    .custom-control {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      padding-left: 0;\n    }\n    .custom-control-indicator {\n      position: static;\n      display: inline-block;\n      margin-right: $form-check-input-margin-x; // Flexbox alignment means we lose our HTML space here, so we compensate.\n      vertical-align: text-bottom;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n  &:focus {\n    color: $input-focus-color;\n    background-color: $input-focus-bg;\n    border-color: $input-focus-border-color;\n    outline: none;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $input-box-shadow, $input-btn-focus-box-shadow;\n    } @else {\n      box-shadow: $input-btn-focus-box-shadow;\n    }\n  }\n}\n\n\n@mixin form-validation-state($state, $color) {\n\n  .#{$state}-feedback {\n    display: none;\n    margin-top: .25rem;\n    font-size: .875rem;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    width: 250px;\n    padding: .5rem;\n    margin-top: .1rem;\n    font-size: .875rem;\n    line-height: 1;\n    color: #fff;\n    background-color: rgba($color,.8);\n    border-radius: .2rem;\n  }\n\n  .form-control,\n  .custom-select {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      &:focus {\n        box-shadow: 0 0 0 .2rem rgba($color,.25);\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n\n  // TODO: redo check markup lol crap\n  .form-check-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      + .form-check-label {\n        color: $color;\n      }\n    }\n  }\n\n  // custom radios and checks\n  .custom-control-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-control-indicator {\n        background-color: rgba($color, .25);\n      }\n      ~ .custom-control-description {\n        color: $color;\n      }\n    }\n  }\n\n  // custom file\n  .custom-file-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-file-control {\n        border-color: $color;\n\n        &::before { border-color: inherit; }\n      }\n      &:focus {\n        box-shadow: 0 0 0 .2rem rgba($color,.25);\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n  display: inline-block;\n  font-weight: $btn-font-weight;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  user-select: none;\n  border: $input-btn-border-width solid transparent;\n  @include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);\n  @include transition($btn-transition);\n\n  // Share hover and focus styles\n  @include hover-focus {\n    text-decoration: none;\n  }\n  &:focus,\n  &.focus {\n    outline: 0;\n    box-shadow: $input-btn-focus-box-shadow;\n  }\n\n  // Disabled comes first so active can properly restyle\n  &.disabled,\n  &:disabled {\n    opacity: .65;\n    @include box-shadow(none);\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active {\n    background-image: none;\n    @include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow);\n  }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n  .btn-#{$color} {\n    @include button-variant($value, $value);\n  }\n}\n\n@each $color, $value in $theme-colors {\n  .btn-outline-#{$color} {\n    @if $color == \"light\" {\n      @include button-outline-variant($value, $gray-900);\n    } @else {\n      @include button-outline-variant($value, $white);\n    }\n  }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n  font-weight: $font-weight-normal;\n  color: $link-color;\n  background-color: transparent;\n\n  @include hover {\n    color: $link-hover-color;\n    text-decoration: $link-hover-decoration;\n    background-color: transparent;\n    border-color: transparent;\n  }\n\n  &:focus,\n  &.focus {\n    border-color: transparent;\n    box-shadow: none;\n  }\n\n  &:disabled,\n  &.disabled {\n    color: $btn-link-disabled-color;\n  }\n\n  // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n  @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n  @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: $btn-block-spacing-y;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n  color: color-yiq($background);\n  @include gradient-bg($background);\n  border-color: $border;\n  @include box-shadow($btn-box-shadow);\n\n  @include hover {\n    color: color-yiq($hover-background);\n    @include gradient-bg($hover-background);\n    border-color: $hover-border;\n  }\n\n  &:focus,\n  &.focus {\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $btn-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n    } @else {\n      box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n    }\n  }\n\n  // Disabled comes first so active can properly restyle\n  &.disabled,\n  &:disabled {\n    background-color: $background;\n    border-color: $border;\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active,\n  .show > &.dropdown-toggle {\n    color: color-yiq($active-background);\n    background-color: $active-background;\n    @if $enable-gradients {\n      background-image: none; // Remove the gradient for the pressed/active state\n    }\n    border-color: $active-border;\n\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: $btn-active-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n    } @else {\n      box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n    }\n  }\n}\n\n@mixin button-outline-variant($color, $color-hover: #fff) {\n  color: $color;\n  background-color: transparent;\n  background-image: none;\n  border-color: $color;\n\n  @include hover {\n    color: $color-hover;\n    background-color: $color;\n    border-color: $color;\n  }\n\n  &:focus,\n  &.focus {\n    box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $color;\n    background-color: transparent;\n  }\n\n  &:not([disabled]):not(.disabled):active,\n  &:not([disabled]):not(.disabled).active,\n  .show > &.dropdown-toggle {\n    color: $color-hover;\n    background-color: $color;\n    border-color: $color;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n  }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n  padding: $padding-y $padding-x;\n  font-size: $font-size;\n  line-height: $line-height;\n  @include border-radius($border-radius);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n  @if $enable-gradients {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n  } @else {\n    background-color: $color;\n  }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n  background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n  opacity: 0;\n  @include transition($transition-fade);\n\n  &.show {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n  &.show {\n    display: block;\n  }\n}\n\ntr {\n  &.collapse.show {\n    display: table-row;\n  }\n}\n\ntbody {\n  &.collapse.show {\n    display: table-row-group;\n  }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n.dropdown-toggle {\n  // Generate the caret automatically\n  @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: $zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: $dropdown-min-width;\n  padding: $dropdown-padding-y 0;\n  margin: $dropdown-spacer 0 0; // override default ul\n  font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n  color: $body-color;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  list-style: none;\n  background-color: $dropdown-bg;\n  background-clip: padding-box;\n  border: $dropdown-border-width solid $dropdown-border-color;\n  @include border-radius($border-radius);\n  @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n  .dropdown-menu {\n    margin-top: 0;\n    margin-bottom: $dropdown-spacer;\n  }\n\n  .dropdown-toggle {\n    @include caret(up);\n  }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n  @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n  display: block;\n  width: 100%; // For `<button>`s\n  padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n  clear: both;\n  font-weight: $font-weight-normal;\n  color: $dropdown-link-color;\n  text-align: inherit; // For `<button>`s\n  white-space: nowrap; // prevent links from randomly breaking onto new lines\n  background: none; // For `<button>`s\n  border: 0; // For `<button>`s\n\n  @include hover-focus {\n    color: $dropdown-link-hover-color;\n    text-decoration: none;\n    @include gradient-bg($dropdown-link-hover-bg);\n  }\n\n  &.active,\n  &:active {\n    color: $dropdown-link-active-color;\n    text-decoration: none;\n    @include gradient-bg($dropdown-link-active-bg);\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $dropdown-link-disabled-color;\n    background-color: transparent;\n    // Remove CSS gradients if they're enabled\n    @if $enable-gradients {\n      background-image: none;\n    }\n  }\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: $dropdown-padding-y $dropdown-item-padding-x;\n  margin-bottom: 0; // for use with heading elements\n  font-size: $font-size-sm;\n  color: $dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n  border-top: $caret-width solid;\n  border-right: $caret-width solid transparent;\n  border-bottom: 0;\n  border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n  border-top: 0;\n  border-right: $caret-width solid transparent;\n  border-bottom: $caret-width solid;\n  border-left: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n  @if $enable-caret {\n    &::after {\n      display: inline-block;\n      width: 0;\n      height: 0;\n      margin-left: $caret-width * .85;\n      vertical-align: $caret-width * .85;\n      content: \"\";\n      @if $direction == down {\n        @include caret-down;\n      } @else if $direction == up {\n        @include caret-up;\n      }\n    }\n\n    &:empty::after {\n      margin-left: 0;\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n  height: 0;\n  margin: ($spacer / 2) 0;\n  overflow: hidden;\n  border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n\n  > .btn {\n    position: relative;\n    flex: 0 1 auto;\n\n    // Bring the hover, focused, and \"active\" buttons to the front to overlay\n    // the borders properly\n    @include hover {\n      z-index: 2;\n    }\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n\n  // Prevent double borders when buttons are next to each other\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -$input-btn-border-width;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n\n  .input-group {\n    width: auto;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group\n// and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n\n  &:not(:last-child):not(.dropdown-toggle) {\n    @include border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu\n// immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including\n// dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    @include border-right-radius(0);\n  }\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  @include border-left-radius(0);\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.btn + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x * .75;\n  padding-left: $input-btn-padding-x * .75;\n\n  &::after {\n    margin-left: 0;\n  }\n}\n\n.btn-sm + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x-sm * .75;\n  padding-left: $input-btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n  padding-right: $input-btn-padding-x-lg * .75;\n  padding-left: $input-btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n  @include box-shadow($btn-active-box-shadow);\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    @include box-shadow(none);\n  }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n\n  .btn,\n  .btn-group {\n    width: 100%;\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -$input-btn-border-width;\n    margin-left: 0;\n  }\n\n  > .btn {\n    &:not(:first-child):not(:last-child) {\n      border-radius: 0;\n    }\n\n    &:first-child:not(:last-child) {\n      @include border-bottom-radius(0);\n    }\n\n    &:last-child:not(:first-child) {\n      @include border-top-radius(0);\n    }\n  }\n\n  > .btn-group:not(:first-child):not(:last-child) > .btn {\n    border-radius: 0;\n  }\n\n  > .btn-group:first-child:not(:last-child) {\n    > .btn:last-child,\n    > .dropdown-toggle {\n      @include border-bottom-radius(0);\n    }\n  }\n\n  > .btn-group:last-child:not(:first-child) > .btn:first-child {\n    @include border-top-radius(0);\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n  position: relative;\n  display: flex;\n  align-items: stretch;\n  width: 100%;\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n    flex: 1 1 auto;\n    // Add width 1% and flex-basis auto to ensure that button will not wrap out\n    // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n    width: 1%;\n    margin-bottom: 0;\n\n    // Bring the \"active\" form control to the front\n    @include hover-focus-active {\n      z-index: 3;\n    }\n  }\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: flex;\n  align-items: center;\n  &:not(:first-child):not(:last-child) {\n    @include border-radius(0);\n  }\n}\n\n.input-group-addon,\n.input-group-btn {\n  white-space: nowrap;\n}\n\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  @extend .form-control-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  @extend .form-control-sm;\n}\n\n\n//\n// Text input groups\n//\n\n.input-group-addon {\n  padding: $input-btn-padding-y $input-btn-padding-x;\n  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n  font-size: $font-size-base; // Match inputs\n  font-weight: $font-weight-normal;\n  line-height: $input-btn-line-height;\n  color: $input-group-addon-color;\n  text-align: center;\n  background-color: $input-group-addon-bg;\n  border: $input-btn-border-width solid $input-group-addon-border-color;\n  @include border-radius($input-border-radius);\n\n  // Sizing\n  &.form-control-sm {\n    padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n    font-size: $font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  &.form-control-lg {\n    padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n    font-size: $font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n\n//\n// Reset rounded corners\n//\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n  @include border-right-radius(0);\n}\n.input-group-addon:not(:last-child) {\n  border-right: 0;\n}\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n  @include border-left-radius(0);\n}\n.form-control + .input-group-addon:not(:first-child) {\n  border-left: 0;\n}\n\n//\n// Button input groups\n//\n\n.input-group-btn {\n  position: relative;\n  align-items: stretch;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n\n    + .btn {\n      margin-left: (-$input-btn-border-width);\n    }\n\n    // Bring the \"active\" button to the front\n    @include hover-focus-active {\n      z-index: 3;\n    }\n  }\n\n  &:first-child > .btn + .btn {\n    margin-left: 0;\n  }\n\n  // Negative margin to only have a single, shared border between the two\n  &:not(:last-child) {\n    > .btn,\n    > .btn-group {\n      margin-right: (-$input-btn-border-width);\n    }\n  }\n  &:not(:first-child) {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      // remove nagative margin ($input-btn-border-width) to solve overlapping issue with button.\n      margin-left: 0;\n\n      // When input is first, overlap the right side of it with the button(-group)\n      &:first-child {\n        margin-left: (-$input-btn-border-width);\n      }\n\n      // Because specificity\n      @include hover-focus-active {\n        z-index: 3;\n      }\n    }\n  }\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n  position: relative;\n  display: inline-flex;\n  min-height: (1rem * $line-height-base);\n  padding-left: $custom-control-gutter;\n  margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1; // Put the input behind the label so it doesn't overlay text\n  opacity: 0;\n\n  &:checked ~ .custom-control-indicator {\n    color: $custom-control-indicator-checked-color;\n    @include gradient-bg($custom-control-indicator-checked-bg);\n    @include box-shadow($custom-control-indicator-checked-box-shadow);\n  }\n\n  &:focus ~ .custom-control-indicator {\n    // the mixin is not used here to make sure there is feedback\n    box-shadow: $custom-control-indicator-focus-box-shadow;\n  }\n\n  &:active ~ .custom-control-indicator {\n    color: $custom-control-indicator-active-color;\n    @include gradient-bg($custom-control-indicator-active-bg);\n    @include box-shadow($custom-control-indicator-active-box-shadow);\n  }\n\n  &:disabled {\n    ~ .custom-control-indicator {\n      background-color: $custom-control-indicator-disabled-bg;\n    }\n\n    ~ .custom-control-description {\n      color: $custom-control-description-disabled-color;\n    }\n  }\n}\n\n// Custom indicator\n//\n// Generates a shadow element to create our makeshift checkbox/radio background.\n\n.custom-control-indicator {\n  position: absolute;\n  top: (($line-height-base - $custom-control-indicator-size) / 2);\n  left: 0;\n  display: block;\n  width: $custom-control-indicator-size;\n  height: $custom-control-indicator-size;\n  pointer-events: none;\n  user-select: none;\n  background-color: $custom-control-indicator-bg;\n  background-repeat: no-repeat;\n  background-position: center center;\n  background-size: $custom-control-indicator-bg-size;\n  @include box-shadow($custom-control-indicator-box-shadow);\n}\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n  .custom-control-indicator {\n    @include border-radius($custom-checkbox-indicator-border-radius);\n  }\n\n  .custom-control-input:checked ~ .custom-control-indicator {\n    background-image: $custom-checkbox-indicator-icon-checked;\n  }\n\n  .custom-control-input:indeterminate ~ .custom-control-indicator {\n    background-color: $custom-checkbox-indicator-indeterminate-bg;\n    background-image: $custom-checkbox-indicator-icon-indeterminate;\n    @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n  }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n  .custom-control-indicator {\n    border-radius: $custom-radio-indicator-border-radius;\n  }\n\n  .custom-control-input:checked ~ .custom-control-indicator {\n    background-image: $custom-radio-indicator-icon-checked;\n  }\n}\n\n\n// Layout options\n//\n// By default radios and checkboxes are `inline-block` with no additional spacing\n// set. Use these optional classes to tweak the layout.\n\n.custom-controls-stacked {\n  display: flex;\n  flex-direction: column;\n\n  .custom-control {\n    margin-bottom: $custom-control-spacer-y;\n\n    + .custom-control {\n      margin-left: 0;\n    }\n  }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n  display: inline-block;\n  max-width: 100%;\n  height: $input-height;\n  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n  line-height: $custom-select-line-height;\n  color: $custom-select-color;\n  vertical-align: middle;\n  background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n  background-size: $custom-select-bg-size;\n  border: $custom-select-border-width solid $custom-select-border-color;\n  @if $enable-rounded {\n    border-radius: $custom-select-border-radius;\n  } @else {\n    border-radius: 0;\n  }\n  appearance: none;\n\n  &:focus {\n    border-color: $custom-select-focus-border-color;\n    outline: none;\n    @include box-shadow($custom-select-focus-box-shadow);\n\n    &::-ms-value {\n      // For visual consistency with other platforms/browsers,\n      // supress the default white text on blue background highlight given to\n      // the selected option text when the (still closed) <select> receives focus\n      // in IE and (under certain conditions) Edge.\n      // See https://github.com/twbs/bootstrap/issues/19398.\n      color: $input-color;\n      background-color: $input-bg;\n    }\n  }\n\n  &[multiple] {\n    height: auto;\n    background-image: none;\n  }\n\n  &:disabled {\n    color: $custom-select-disabled-color;\n    background-color: $custom-select-disabled-bg;\n  }\n\n  // Hides the default caret in IE11\n  &::-ms-expand {\n    opacity: 0;\n  }\n}\n\n.custom-select-sm {\n  height: $custom-select-height-sm;\n  padding-top: $custom-select-padding-y;\n  padding-bottom: $custom-select-padding-y;\n  font-size: $custom-select-font-size-sm;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  max-width: 100%;\n  height: $custom-file-height;\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  min-width: $custom-file-width;\n  max-width: 100%;\n  height: $custom-file-height;\n  margin: 0;\n  opacity: 0;\n\n  &:focus ~ .custom-file-control {\n    box-shadow: $custom-file-focus-box-shadow;\n  }\n}\n\n.custom-file-control {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 5;\n  height: $custom-file-height;\n  padding: $custom-file-padding-y $custom-file-padding-x;\n  line-height: $custom-file-line-height;\n  color: $custom-file-color;\n  pointer-events: none;\n  user-select: none;\n  background-color: $custom-file-bg;\n  border: $custom-file-border-width solid $custom-file-border-color;\n  @include border-radius($custom-file-border-radius);\n  @include box-shadow($custom-file-box-shadow);\n\n  @each $lang, $text in map-get($custom-file-text, placeholder) {\n    &:lang(#{$lang}):empty::after {\n      content: $text;\n    }\n  }\n\n  &::before {\n    position: absolute;\n    top: -$custom-file-border-width;\n    right: -$custom-file-border-width;\n    bottom: -$custom-file-border-width;\n    z-index: 6;\n    display: block;\n    height: $custom-file-height;\n    padding: $custom-file-padding-y $custom-file-padding-x;\n    line-height: $custom-file-line-height;\n    color: $custom-file-button-color;\n    @include gradient-bg($custom-file-button-bg);\n    border: $custom-file-border-width solid $custom-file-border-color;\n    @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n  }\n\n  @each $lang, $text in map-get($custom-file-text, button-label) {\n    &:lang(#{$lang})::before {\n      content: $text;\n    }\n  }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: $nav-link-padding-y $nav-link-padding-x;\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n\n  // Disabled state lightens text\n  &.disabled {\n    color: $nav-link-disabled-color;\n  }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n  border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n  .nav-item {\n    margin-bottom: -$nav-tabs-border-width;\n  }\n\n  .nav-link {\n    border: $nav-tabs-border-width solid transparent;\n    @include border-top-radius($nav-tabs-border-radius);\n\n    @include hover-focus {\n      border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n    }\n\n    &.disabled {\n      color: $nav-link-disabled-color;\n      background-color: transparent;\n      border-color: transparent;\n    }\n  }\n\n  .nav-link.active,\n  .nav-item.show .nav-link {\n    color: $nav-tabs-link-active-color;\n    background-color: $nav-tabs-link-active-bg;\n    border-color: $nav-tabs-link-active-border-color $nav-tabs-link-active-border-color $nav-tabs-link-active-bg;\n  }\n\n  .dropdown-menu {\n    // Make dropdown border overlap tab border\n    margin-top: -$nav-tabs-border-width;\n    // Remove the top rounded corners here since there is a hard edge above the menu\n    @include border-top-radius(0);\n  }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n  .nav-link {\n    @include border-radius($nav-pills-border-radius);\n  }\n\n  .nav-link.active,\n  .show > .nav-link {\n    color: $nav-pills-link-active-color;\n    background-color: $nav-pills-link-active-bg;\n  }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n  .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n}\n\n.nav-justified {\n  .nav-item {\n    flex-basis: 0;\n    flex-grow: 1;\n    text-align: center;\n  }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap; // allow us to do the line break for collapsing content\n  align-items: center;\n  justify-content: space-between; // space out brand from logo\n  padding: $navbar-padding-y $navbar-padding-x;\n\n  // Because flex properties aren't inherited, we need to redeclare these first\n  // few properities so that content nested within behave properly.\n  > .container,\n  > .container-fluid {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n  }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n  display: inline-block;\n  padding-top: $navbar-brand-padding-y;\n  padding-bottom: $navbar-brand-padding-y;\n  margin-right: $navbar-padding-x;\n  font-size: $navbar-brand-font-size;\n  line-height: inherit;\n  white-space: nowrap;\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n  display: flex;\n  flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-link {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .dropdown-menu {\n    position: static;\n    float: none;\n  }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n  display: inline-block;\n  padding-top: $nav-link-padding-y;\n  padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n  flex-basis: 100%;\n  flex-grow: 1;\n  // For always expanded or extra full navbars, ensure content aligns itself\n  // properly vertically. Can be easily overridden with flex utilities.\n  align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n  padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n  font-size: $navbar-toggler-font-size;\n  line-height: 1;\n  background: transparent; // remove default button style\n  border: $border-width solid transparent; // remove default button style\n  @include border-radius($navbar-toggler-border-radius);\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    &#{$infix} {\n      @include media-breakpoint-down($breakpoint) {\n        > .container,\n        > .container-fluid {\n          padding-right: 0;\n          padding-left: 0;\n        }\n      }\n\n      @include media-breakpoint-up($next) {\n        flex-flow: row nowrap;\n        justify-content: flex-start;\n\n        .navbar-nav {\n          flex-direction: row;\n\n          .dropdown-menu {\n            position: absolute;\n          }\n\n          .dropdown-menu-right {\n            right: 0;\n            left: auto; // Reset the default from `.dropdown-menu`\n          }\n\n          .nav-link {\n            padding-right: .5rem;\n            padding-left: .5rem;\n          }\n        }\n\n        // For nesting containers, have to redeclare for alignment purposes\n        > .container,\n        > .container-fluid {\n          flex-wrap: nowrap;\n        }\n\n        .navbar-collapse {\n          display: flex !important;  // stylelint-disable-line declaration-no-important\n\n          // Changes flex-bases to auto because of an IE10 bug\n          flex-basis: auto;\n        }\n\n        .navbar-toggler {\n          display: none;\n        }\n\n        .dropup {\n          .dropdown-menu {\n            top: auto;\n            bottom: 100%;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n  .navbar-brand {\n    color: $navbar-light-active-color;\n\n    @include hover-focus {\n      color: $navbar-light-active-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-light-color;\n\n      @include hover-focus {\n        color: $navbar-light-hover-color;\n      }\n\n      &.disabled {\n        color: $navbar-light-disabled-color;\n      }\n    }\n\n    .show > .nav-link,\n    .active > .nav-link,\n    .nav-link.show,\n    .nav-link.active {\n      color: $navbar-light-active-color;\n    }\n  }\n\n  .navbar-toggler {\n    color: $navbar-light-color;\n    border-color: $navbar-light-toggler-border-color;\n  }\n\n  .navbar-toggler-icon {\n    background-image: $navbar-light-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-light-color;\n    a {\n      color: $navbar-light-active-color;\n\n      @include hover-focus {\n        color: $navbar-light-active-color;\n      }\n    }\n  }\n}\n\n// White links against a dark background\n.navbar-dark {\n  .navbar-brand {\n    color: $navbar-dark-active-color;\n\n    @include hover-focus {\n      color: $navbar-dark-active-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-dark-color;\n\n      @include hover-focus {\n        color: $navbar-dark-hover-color;\n      }\n\n      &.disabled {\n        color: $navbar-dark-disabled-color;\n      }\n    }\n\n    .show > .nav-link,\n    .active > .nav-link,\n    .nav-link.show,\n    .nav-link.active {\n      color: $navbar-dark-active-color;\n    }\n  }\n\n  .navbar-toggler {\n    color: $navbar-dark-color;\n    border-color: $navbar-dark-toggler-border-color;\n  }\n\n  .navbar-toggler-icon {\n    background-image: $navbar-dark-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-dark-color;\n    a {\n      color: $navbar-dark-active-color;\n\n      @include hover-focus {\n        color: $navbar-dark-active-color;\n      }\n    }\n  }\n}\n","//\n// Base styles\n//\n\n.card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: $card-bg;\n  background-clip: border-box;\n  border: $card-border-width solid $card-border-color;\n  @include border-radius($card-border-radius);\n\n  > hr {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  > .list-group:first-child {\n    .list-group-item:first-child {\n      @include border-top-radius($card-border-radius);\n    }\n  }\n\n  > .list-group:last-child {\n    .list-group-item:last-child {\n      @include border-bottom-radius($card-border-radius);\n    }\n  }\n}\n\n.card-body {\n  // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n  // as much space as possible, ensuring footers are aligned to the bottom.\n  flex: 1 1 auto;\n  padding: $card-spacer-x;\n}\n\n.card-title {\n  margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n  margin-top: -($card-spacer-y / 2);\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link {\n  @include hover {\n    text-decoration: none;\n  }\n\n  + .card-link {\n    margin-left: $card-spacer-x;\n  }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n  padding: $card-spacer-y $card-spacer-x;\n  margin-bottom: 0; // Removes the default margin-bottom of <hN>\n  background-color: $card-cap-bg;\n  border-bottom: $card-border-width solid $card-border-color;\n\n  &:first-child {\n    @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n  }\n\n  + .list-group {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n}\n\n.card-footer {\n  padding: $card-spacer-y $card-spacer-x;\n  background-color: $card-cap-bg;\n  border-top: $card-border-width solid $card-border-color;\n\n  &:last-child {\n    @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n  }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n  margin-right: -($card-spacer-x / 2);\n  margin-bottom: -$card-spacer-y;\n  margin-left: -($card-spacer-x / 2);\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -($card-spacer-x / 2);\n  margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: $card-img-overlay-padding;\n}\n\n.card-img {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n  @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n  display: flex;\n  flex-direction: column;\n\n  .card {\n    margin-bottom: $card-deck-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    flex-flow: row wrap;\n    margin-right: -$card-deck-margin;\n    margin-left: -$card-deck-margin;\n\n    .card {\n      display: flex;\n      // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n      flex: 1 0 0%;\n      flex-direction: column;\n      margin-right: $card-deck-margin;\n      margin-bottom: 0; // Override the default\n      margin-left: $card-deck-margin;\n    }\n  }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n  display: flex;\n  flex-direction: column;\n\n  .card {\n    margin-bottom: $card-group-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    flex-flow: row wrap;\n\n    .card {\n      // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n      flex: 1 0 0%;\n      margin-bottom: 0;\n\n      + .card {\n        margin-left: 0;\n        border-left: 0;\n      }\n\n      // Handle rounded corners\n      @if $enable-rounded {\n        &:first-child {\n          @include border-right-radius(0);\n\n          .card-img-top {\n            border-top-right-radius: 0;\n          }\n          .card-img-bottom {\n            border-bottom-right-radius: 0;\n          }\n        }\n\n        &:last-child {\n          @include border-left-radius(0);\n\n          .card-img-top {\n            border-top-left-radius: 0;\n          }\n          .card-img-bottom {\n            border-bottom-left-radius: 0;\n          }\n        }\n\n        &:only-child {\n          @include border-radius($card-border-radius);\n\n          .card-img-top {\n            @include border-top-radius($card-border-radius);\n          }\n          .card-img-bottom {\n            @include border-bottom-radius($card-border-radius);\n          }\n        }\n\n        &:not(:first-child):not(:last-child):not(:only-child) {\n          border-radius: 0;\n\n          .card-img-top,\n          .card-img-bottom {\n            border-radius: 0;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n  .card {\n    margin-bottom: $card-columns-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    column-count: $card-columns-count;\n    column-gap: $card-columns-gap;\n\n    .card {\n      display: inline-block; // Don't let them vertically span multiple columns\n      width: 100%; // Don't let their width change\n    }\n  }\n}\n",".breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n  margin-bottom: $breadcrumb-margin-bottom;\n  list-style: none;\n  background-color: $breadcrumb-bg;\n  @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n  // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n  + .breadcrumb-item::before {\n    display: inline-block; // Suppress underlining of the separator in modern browsers\n    padding-right: $breadcrumb-item-padding;\n    padding-left: $breadcrumb-item-padding;\n    color: $breadcrumb-divider-color;\n    content: \"#{$breadcrumb-divider}\";\n  }\n\n  // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n  // without `<ul>`s. The `::before` pseudo-element generates an element\n  // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n  //\n  // To trick IE into suppressing the underline, we give the pseudo-element an\n  // underline and then immediately remove it.\n  + .breadcrumb-item:hover::before {\n    text-decoration: underline;\n  }\n  // stylelint-disable-next-line no-duplicate-selectors\n  + .breadcrumb-item:hover::before {\n    text-decoration: none;\n  }\n\n  &.active {\n    color: $breadcrumb-active-color;\n  }\n}\n",".pagination {\n  display: flex;\n  @include list-unstyled();\n  @include border-radius();\n}\n\n.page-item {\n  &:first-child {\n    .page-link {\n      margin-left: 0;\n      @include border-left-radius($border-radius);\n    }\n  }\n  &:last-child {\n    .page-link {\n      @include border-right-radius($border-radius);\n    }\n  }\n\n  &.active .page-link {\n    z-index: 2;\n    color: $pagination-active-color;\n    background-color: $pagination-active-bg;\n    border-color: $pagination-active-border-color;\n  }\n\n  &.disabled .page-link {\n    color: $pagination-disabled-color;\n    pointer-events: none;\n    background-color: $pagination-disabled-bg;\n    border-color: $pagination-disabled-border-color;\n  }\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: $pagination-padding-y $pagination-padding-x;\n  margin-left: -$pagination-border-width;\n  line-height: $pagination-line-height;\n  color: $pagination-color;\n  background-color: $pagination-bg;\n  border: $pagination-border-width solid $pagination-border-color;\n\n  @include hover-focus {\n    color: $pagination-hover-color;\n    text-decoration: none;\n    background-color: $pagination-hover-bg;\n    border-color: $pagination-hover-border-color;\n  }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n  @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n  @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n  .page-link {\n    padding: $padding-y $padding-x;\n    font-size: $font-size;\n    line-height: $line-height;\n  }\n\n  .page-item {\n    &:first-child {\n      .page-link {\n        @include border-left-radius($border-radius);\n      }\n    }\n    &:last-child {\n      .page-link {\n        @include border-right-radius($border-radius);\n      }\n    }\n  }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n  display: inline-block;\n  padding: $badge-padding-y $badge-padding-x;\n  font-size: $badge-font-size;\n  font-weight: $badge-font-weight;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  @include border-radius($badge-border-radius);\n\n  // Empty badges collapse automatically\n  &:empty {\n    display: none;\n  }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n  padding-right: $badge-pill-padding-x;\n  padding-left: $badge-pill-padding-x;\n  @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n  .badge-#{$color} {\n    @include badge-variant($value);\n  }\n}\n","@mixin badge-variant($bg) {\n  color: color-yiq($bg);\n  background-color: $bg;\n\n  &[href] {\n    @include hover-focus {\n      color: color-yiq($bg);\n      text-decoration: none;\n      background-color: darken($bg, 10%);\n    }\n  }\n}\n",".jumbotron {\n  padding: $jumbotron-padding ($jumbotron-padding / 2);\n  margin-bottom: $jumbotron-padding;\n  background-color: $jumbotron-bg;\n  @include border-radius($border-radius-lg);\n\n  @include media-breakpoint-up(sm) {\n    padding: ($jumbotron-padding * 2) $jumbotron-padding;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n  position: relative;\n  padding: $alert-padding-y $alert-padding-x;\n  margin-bottom: $alert-margin-bottom;\n  border: $alert-border-width solid transparent;\n  @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n  // Specified to prevent conflicts of changing $headings-color\n  color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n  font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n  // Adjust close link position\n  .close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: $alert-padding-y $alert-padding-x;\n    color: inherit;\n  }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n  .alert-#{$color} {\n    @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));\n  }\n}\n","@mixin alert-variant($background, $border, $color) {\n  color: $color;\n  @include gradient-bg($background);\n  border-color: $border;\n\n  hr {\n    border-top-color: darken($border, 5%);\n  }\n\n  .alert-link {\n    color: darken($color, 10%);\n  }\n}\n","@keyframes progress-bar-stripes {\n  from { background-position: $progress-height 0; }\n  to { background-position: 0 0; }\n}\n\n.progress {\n  display: flex;\n  height: $progress-height;\n  overflow: hidden; // force rounded corners by cropping it\n  font-size: $progress-font-size;\n  background-color: $progress-bg;\n  @include border-radius($progress-border-radius);\n}\n\n.progress-bar {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: $progress-bar-color;\n  background-color: $progress-bar-bg;\n}\n\n.progress-bar-striped {\n  @include gradient-striped();\n  background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n  animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  display: flex;\n  flex-direction: column;\n\n  // No need to set list-style: none; since .list-group-item is block level\n  padding-left: 0; // reset padding because ul and ol\n  margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n  width: 100%; // For `<button>`s (anchors become 100% by default though)\n  color: $list-group-action-color;\n  text-align: inherit; // For `<button>`s (anchors inherit)\n\n  // Hover state\n  @include hover-focus {\n    color: $list-group-action-hover-color;\n    text-decoration: none;\n    background-color: $list-group-hover-bg;\n  }\n\n  &:active {\n    color: $list-group-action-active-color;\n    background-color: $list-group-action-active-bg;\n  }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: $list-group-item-padding-y $list-group-item-padding-x;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -$list-group-border-width;\n  background-color: $list-group-bg;\n  border: $list-group-border-width solid $list-group-border-color;\n\n  &:first-child {\n    @include border-top-radius($list-group-border-radius);\n  }\n\n  &:last-child {\n    margin-bottom: 0;\n    @include border-bottom-radius($list-group-border-radius);\n  }\n\n  @include hover-focus {\n    text-decoration: none;\n  }\n\n  &.disabled,\n  &:disabled {\n    color: $list-group-disabled-color;\n    background-color: $list-group-disabled-bg;\n  }\n\n  // Include both here for `<a>`s and `<button>`s\n  &.active {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: $list-group-active-color;\n    background-color: $list-group-active-bg;\n    border-color: $list-group-active-border-color;\n  }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n  .list-group-item {\n    border-right: 0;\n    border-left: 0;\n    border-radius: 0;\n  }\n\n  &:first-child {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n\n  &:last-child {\n    .list-group-item:last-child {\n      border-bottom: 0;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n  @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n  .list-group-item-#{$state} {\n    color: $color;\n    background-color: $background;\n  }\n\n  a.list-group-item-#{$state},\n  button.list-group-item-#{$state} {\n    color: $color;\n\n    @include hover-focus {\n      color: $color;\n      background-color: darken($background, 5%);\n    }\n\n    &.active {\n      color: #fff;\n      background-color: $color;\n      border-color: $color;\n    }\n  }\n}\n",".close {\n  float: right;\n  font-size: $close-font-size;\n  font-weight: $close-font-weight;\n  line-height: 1;\n  color: $close-color;\n  text-shadow: $close-text-shadow;\n  opacity: .5;\n\n  @include hover-focus {\n    color: $close-color;\n    text-decoration: none;\n    opacity: .75;\n  }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n  padding: 0;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-modal;\n  display: none;\n  overflow: hidden;\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n  // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n  // See also https://github.com/twbs/bootstrap/issues/17695\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    @include transition($modal-transition);\n    transform: translate(0, -25%);\n  }\n  &.show .modal-dialog { transform: translate(0, 0); }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: $modal-dialog-margin;\n  // allow clicks to pass through for custom click handling to close modal\n  pointer-events: none;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  // counteract the pointer-events: none; in the .modal-dialog\n  pointer-events: auto;\n  background-color: $modal-content-bg;\n  background-clip: padding-box;\n  border: $modal-content-border-width solid $modal-content-border-color;\n  @include border-radius($border-radius-lg);\n  @include box-shadow($modal-content-box-shadow-xs);\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-modal-backdrop;\n  background-color: $modal-backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  display: flex;\n  align-items: flex-start; // so the close btn always stays on the upper right corner\n  justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n  padding: $modal-header-padding;\n  border-bottom: $modal-header-border-width solid $modal-header-border-color;\n  @include border-top-radius($border-radius-lg);\n\n  .close {\n    padding: $modal-header-padding;\n    // auto on the left force icon to the right even when there is no .modal-title\n    margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n  }\n}\n\n// Title text within header\n.modal-title {\n  margin-bottom: 0;\n  line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  // Enable `flex-grow: 1` so that the body take up as much space as possible\n  // when should there be a fixed height on `.modal-dialog`.\n  flex: 1 1 auto;\n  padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  display: flex;\n  align-items: center; // vertically center\n  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n  padding: $modal-inner-padding;\n  border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n  // Easily place margin between footer elements\n  > :not(:first-child) { margin-left: .25rem; }\n  > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    max-width: $modal-md;\n    margin: $modal-dialog-margin-y-sm-up auto;\n  }\n\n  .modal-content {\n    @include box-shadow($modal-content-box-shadow-sm-up);\n  }\n\n  .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n  .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n  position: absolute;\n  z-index: $zindex-tooltip;\n  display: block;\n  margin: $tooltip-margin;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  @include reset-text();\n  font-size: $font-size-sm;\n  // Allow breaking very long words so they don't overflow the tooltip's bounds\n  word-wrap: break-word;\n  opacity: 0;\n\n  &.show { opacity: $tooltip-opacity; }\n\n  .arrow {\n    position: absolute;\n    display: block;\n    width: $tooltip-arrow-width;\n    height: $tooltip-arrow-height;\n  }\n\n  .arrow::before {\n    position: absolute;\n    border-color: transparent;\n    border-style: solid;\n  }\n\n  &.bs-tooltip-top {\n    padding: $tooltip-arrow-width 0;\n    .arrow {\n      bottom: 0;\n    }\n\n    .arrow::before {\n      margin-left: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n      border-top-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-right {\n    padding: 0 $tooltip-arrow-width;\n    .arrow {\n      left: 0;\n    }\n\n    .arrow::before {\n      margin-top: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n      border-right-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-bottom {\n    padding: $tooltip-arrow-width 0;\n    .arrow {\n      top: 0;\n    }\n\n    .arrow::before {\n      margin-left: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n      border-bottom-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-left {\n    padding: 0 $tooltip-arrow-width;\n    .arrow {\n      right: 0;\n    }\n\n    .arrow::before {\n      right: 0;\n      margin-top: -($tooltip-arrow-width - 2);\n      content: \"\";\n      border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n      border-left-color: $tooltip-arrow-color;\n    }\n  }\n  &.bs-tooltip-auto {\n    &[x-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[x-placement^=\"right\"] {\n      @extend .bs-tooltip-right;\n    }\n    &[x-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[x-placement^=\"left\"] {\n      @extend .bs-tooltip-left;\n    }\n  }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: $tooltip-max-width;\n  padding: $tooltip-padding-y $tooltip-padding-x;\n  color: $tooltip-color;\n  text-align: center;\n  background-color: $tooltip-bg;\n  @include border-radius($border-radius);\n}\n","@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: left; // Fallback for where `start` is not supported\n  text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n}\n",".popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: $zindex-popover;\n  display: block;\n  max-width: $popover-max-width;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  @include reset-text();\n  font-size: $font-size-sm;\n  // Allow breaking very long words so they don't overflow the popover's bounds\n  word-wrap: break-word;\n  background-color: $popover-bg;\n  background-clip: padding-box;\n  border: $popover-border-width solid $popover-border-color;\n  @include border-radius($border-radius-lg);\n  @include box-shadow($popover-box-shadow);\n\n  // Arrows\n  //\n  // .arrow is outer, .arrow::after is inner\n\n  .arrow {\n    position: absolute;\n    display: block;\n    width: $popover-arrow-width;\n    height: $popover-arrow-height;\n  }\n\n  .arrow::before,\n  .arrow::after {\n    position: absolute;\n    display: block;\n    border-color: transparent;\n    border-style: solid;\n  }\n\n  .arrow::before {\n    content: \"\";\n    border-width: $popover-arrow-width;\n  }\n  .arrow::after {\n    content: \"\";\n    border-width: $popover-arrow-width;\n  }\n\n  // Popover directions\n\n  &.bs-popover-top {\n    margin-bottom: $popover-arrow-width;\n\n    .arrow {\n      bottom: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      border-bottom-width: 0;\n    }\n\n    .arrow::before {\n      bottom: -$popover-arrow-width;\n      margin-left: -$popover-arrow-width;\n      border-top-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      margin-left: -$popover-arrow-width;\n      border-top-color: $popover-arrow-color;\n    }\n  }\n\n  &.bs-popover-right {\n    margin-left: $popover-arrow-width;\n\n    .arrow {\n      left: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-top: -$popover-arrow-width;\n      border-left-width: 0;\n    }\n\n    .arrow::before {\n      left: -$popover-arrow-width;\n      border-right-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-right-color: $popover-arrow-color;\n    }\n  }\n\n  &.bs-popover-bottom {\n    margin-top: $popover-arrow-width;\n\n    .arrow {\n      top: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-left: -$popover-arrow-width;\n      border-top-width: 0;\n    }\n\n    .arrow::before {\n      top: -$popover-arrow-width;\n      border-bottom-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-bottom-color: $popover-arrow-color;\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: 20px;\n      margin-left: -10px;\n      content: \"\";\n      border-bottom: $popover-border-width solid $popover-header-bg;\n    }\n  }\n\n  &.bs-popover-left {\n    margin-right: $popover-arrow-width;\n\n    .arrow {\n      right: 0;\n    }\n\n    .arrow::before,\n    .arrow::after {\n      margin-top: -$popover-arrow-width;\n      border-right-width: 0;\n    }\n\n    .arrow::before {\n      right: -$popover-arrow-width;\n      border-left-color: $popover-arrow-outer-color;\n    }\n\n    .arrow::after {\n      right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n      border-left-color: $popover-arrow-color;\n    }\n  }\n  &.bs-popover-auto {\n    &[x-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[x-placement^=\"right\"] {\n      @extend .bs-popover-right;\n    }\n    &[x-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[x-placement^=\"left\"] {\n      @extend .bs-popover-left;\n    }\n  }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n  padding: $popover-header-padding-y $popover-header-padding-x;\n  margin-bottom: 0; // Reset the default from Reboot\n  font-size: $font-size-base;\n  color: $popover-header-color;\n  background-color: $popover-header-bg;\n  border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n  $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n  @include border-top-radius($offset-border-width);\n\n  &:empty {\n    display: none;\n  }\n}\n\n.popover-body {\n  padding: $popover-body-padding-y $popover-body-padding-x;\n  color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  align-items: center;\n  width: 100%;\n  @include transition($carousel-transition);\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n  position: absolute;\n  top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n  transform: translateX(0);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n  transform: translateX(100%);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(100%, 0, 0);\n  }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n  transform: translateX(-100%);\n\n  @supports (transform-style: preserve-3d) {\n    transform: translate3d(-100%, 0, 0);\n  }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  // Use flex for alignment (1-3)\n  display: flex; // 1. allow flex styles\n  align-items: center; // 2. vertically center contents\n  justify-content: center; // 3. horizontally center contents\n  width: $carousel-control-width;\n  color: $carousel-control-color;\n  text-align: center;\n  opacity: $carousel-control-opacity;\n  // We can't have a transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Hover/focus state\n  @include hover-focus {\n    color: $carousel-control-color;\n    text-decoration: none;\n    outline: 0;\n    opacity: .9;\n  }\n}\n.carousel-control-prev {\n  left: 0;\n  @if $enable-gradients {\n    background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n  }\n}\n.carousel-control-next {\n  right: 0;\n  @if $enable-gradients {\n    background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n  }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: $carousel-control-icon-width;\n  height: $carousel-control-icon-width;\n  background: transparent no-repeat center center;\n  background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n  background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n  background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  left: 0;\n  z-index: 15;\n  display: flex;\n  justify-content: center;\n  padding-left: 0; // override <ol> default\n  // Use the .carousel-control's width as margin so we don't overlay those\n  margin-right: $carousel-control-width;\n  margin-left: $carousel-control-width;\n  list-style: none;\n\n  li {\n    position: relative;\n    flex: 0 1 auto;\n    width: $carousel-indicator-width;\n    height: $carousel-indicator-height;\n    margin-right: $carousel-indicator-spacer;\n    margin-left: $carousel-indicator-spacer;\n    text-indent: -999px;\n    background-color: rgba($carousel-indicator-active-bg, .5);\n\n    // Use pseudo classes to increase the hit area by 10px on top and bottom.\n    &::before {\n      position: absolute;\n      top: -10px;\n      left: 0;\n      display: inline-block;\n      width: 100%;\n      height: 10px;\n      content: \"\";\n    }\n    &::after {\n      position: absolute;\n      bottom: -10px;\n      left: 0;\n      display: inline-block;\n      width: 100%;\n      height: 10px;\n      content: \"\";\n    }\n  }\n\n  .active {\n    background-color: $carousel-indicator-active-bg;\n  }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n  position: absolute;\n  right: ((100% - $carousel-caption-width) / 2);\n  bottom: 20px;\n  left: ((100% - $carousel-caption-width) / 2);\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: $carousel-caption-color;\n  text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline    { vertical-align: baseline !important; } // Browser default\n.align-top         { vertical-align: top !important; }\n.align-middle      { vertical-align: middle !important; }\n.align-bottom      { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top    { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    background-color: $color !important;\n  }\n  a#{$parent} {\n    @include hover-focus {\n      background-color: darken($color, 10%) !important;\n    }\n  }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n  #{$parent} {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n  @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n  @each $color, $value in $theme-colors {\n    @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n  }\n}\n\n.bg-white {\n  background-color: $white !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border          { border: $border-width solid $border-color !important; }\n.border-0        { border: 0 !important; }\n.border-top-0    { border-top: 0 !important; }\n.border-right-0  { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0   { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n  .border-#{$color} {\n    border-color: $value !important;\n  }\n}\n\n.border-white {\n  border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n  border-radius: $border-radius !important;\n}\n.rounded-top {\n  border-top-left-radius: $border-radius !important;\n  border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n  border-top-right-radius: $border-radius !important;\n  border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n  border-bottom-right-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n  border-top-left-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n","@mixin clearfix() {\n  &::after {\n    display: block;\n    clear: both;\n    content: \"\";\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .d#{$infix}-none         { display: none !important; }\n    .d#{$infix}-inline       { display: inline !important; }\n    .d#{$infix}-inline-block { display: inline-block !important; }\n    .d#{$infix}-block        { display: block !important; }\n    .d#{$infix}-table        { display: table !important; }\n    .d#{$infix}-table-row    { display: table-row !important; }\n    .d#{$infix}-table-cell   { display: table-cell !important; }\n    .d#{$infix}-flex         { display: flex !important; }\n    .d#{$infix}-inline-flex  { display: inline-flex !important; }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n.d-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n\n.d-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n\n.d-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.d-print-none {\n  @media print {\n    display: none !important;\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n\n  &::before {\n    display: block;\n    content: \"\";\n  }\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n.embed-responsive-21by9 {\n  &::before {\n    padding-top: percentage(9 / 21);\n  }\n}\n\n.embed-responsive-16by9 {\n  &::before {\n    padding-top: percentage(9 / 16);\n  }\n}\n\n.embed-responsive-4by3 {\n  &::before {\n    padding-top: percentage(3 / 4);\n  }\n}\n\n.embed-responsive-1by1 {\n  &::before {\n    padding-top: percentage(1 / 1);\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .float#{$infix}-left  { @include float-left; }\n    .float#{$infix}-right { @include float-right; }\n    .float#{$infix}-none  { @include float-none; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n  float: left !important;\n}\n@mixin float-right {\n  float: right !important;\n}\n@mixin float-none {\n  float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n  .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.sticky-top {\n  @supports (position: sticky) {\n    position: sticky;\n    top: 0;\n    z-index: $zindex-sticky;\n  }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n  @include sr-only();\n}\n\n.sr-only-focusable {\n  @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  white-space: nowrap;\n  clip-path: inset(50%);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    overflow: visible;\n    clip: auto;\n    white-space: normal;\n    clip-path: none;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n  @each $size, $length in $sizes {\n    .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n  }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify  { text-align: justify !important; }\n.text-nowrap   { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .text#{$infix}-left   { text-align: left !important; }\n    .text#{$infix}-right  { text-align: right !important; }\n    .text#{$infix}-center { text-align: center !important; }\n  }\n}\n\n// Transformation\n\n.text-lowercase  { text-transform: lowercase !important; }\n.text-uppercase  { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light  { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold   { font-weight: $font-weight-bold !important; }\n.font-italic        { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n  @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n  @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $color !important;\n  }\n  a#{$parent} {\n    @include hover-focus {\n      color: darken($color, 10%) !important;\n    }\n  }\n}\n","// CSS image replacement\n@mixin text-hide() {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n  @include invisible(visible);\n}\n\n.invisible {\n  @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n  visibility: $visibility !important;\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/css/custom.css b/workspace/public/css/custom.css
new file mode 100644
index 0000000..46ea338
--- /dev/null
+++ b/workspace/public/css/custom.css
@@ -0,0 +1,709 @@
+/* FORM */
+
+input[type=date], input[type=datetime-local], input[type=email],
+input[type=number], input[type=password], input[type=search-md],
+input[type=search], input[type=tel], input[type=text], input[type=time],
+input[type=url], textarea.md-textarea {
+    background-color: transparent;
+    border: none;
+    border-bottom: 1px solid #ccc;
+    border-radius: 0;
+    outline: 0;
+    height: 2.1rem;
+    width: 100%;
+    font-size: 1rem;
+    box-shadow: none;
+    -webkit-box-sizing: content-box;
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    transition: all .3s
+}
+
+input[type=date]:disabled, input[type=date][readonly=readonly],
+input[type=datetime-local]:disabled, input[type=datetime-local][readonly=readonly],
+input[type=email]:disabled, input[type=email][readonly=readonly],
+input[type=number]:disabled, input[type=number][readonly=readonly],
+input[type=password]:disabled, input[type=password][readonly=readonly],
+input[type=search-md]:disabled, input[type=search-md][readonly=readonly],
+input[type=search]:disabled, input[type=search][readonly=readonly],
+input[type=tel]:disabled, input[type=tel][readonly=readonly], input[type=text]:disabled,
+input[type=text][readonly=readonly], input[type=time]:disabled,
+input[type=time][readonly=readonly], input[type=url]:disabled,
+input[type=url][readonly=readonly], textarea.md-textarea:disabled,
+textarea.md-textarea[readonly=readonly] {
+    color: rgba(0, 0, 0, .46);
+    border-bottom: 1px dotted rgba(0, 0, 0, .46);
+    background-color: transparent
+}
+
+input[type=date]:disabled + label, input[type=date][readonly=readonly] + label,
+input[type=datetime-local]:disabled + label, input[type=datetime-local][readonly=readonly] + label,
+input[type=email]:disabled + label, input[type=email][readonly=readonly] + label,
+input[type=number]:disabled + label, input[type=number][readonly=readonly] + label,
+input[type=password]:disabled + label, input[type=password][readonly=readonly] + label,
+input[type=search-md]:disabled + label, input[type=search-md][readonly=readonly] + label,
+input[type=search]:disabled + label, input[type=search][readonly=readonly] + label,
+input[type=tel]:disabled + label, input[type=tel][readonly=readonly] + label,
+input[type=text]:disabled + label, input[type=text][readonly=readonly] + label,
+input[type=time]:disabled + label, input[type=time][readonly=readonly] + label,
+input[type=url]:disabled + label, input[type=url][readonly=readonly] + label,
+textarea.md-textarea:disabled + label, textarea.md-textarea[readonly=readonly] + label {
+    color: rgba(0, 0, 0, .46);
+    background-color: transparent
+}
+
+input[type=date]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]),
+input[type=email]:focus:not([readonly]), input[type=number]:focus:not([readonly]),
+input[type=password]:focus:not([readonly]), input[type=search-md]:focus:not([readonly]),
+input[type=search]:focus:not([readonly]), input[type=tel]:focus:not([readonly]),
+input[type=text]:focus:not([readonly]), input[type=time]:focus:not([readonly]),
+input[type=url]:focus:not([readonly]), textarea.md-textarea:focus:not([readonly]) {
+    border-bottom: 1px solid #4285F4;
+    box-shadow: 0 1px 0 0 #4285F4
+}
+
+input[type=date]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label,
+input[type=email]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label,
+input[type=password]:focus:not([readonly]) + label, input[type=search-md]:focus:not([readonly]) + label,
+input[type=search]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label,
+input[type=text]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label,
+input[type=url]:focus:not([readonly]) + label, textarea.md-textarea:focus:not([readonly]) + label {
+    color: #4285F4
+}
+
+input[type=date].valid, input[type=date]:focus.valid, input[type=datetime-local].valid,
+input[type=datetime-local]:focus.valid, input[type=email].valid,
+input[type=email]:focus.valid, input[type=number].valid, input[type=number]:focus.valid,
+input[type=password].valid, input[type=password]:focus.valid, input[type=search-md].valid,
+input[type=search-md]:focus.valid, input[type=search].valid, input[type=search]:focus.valid,
+input[type=tel].valid, input[type=tel]:focus.valid, input[type=text].valid,
+input[type=text]:focus.valid, input[type=time].valid, input[type=time]:focus.valid,
+input[type=url].valid, input[type=url]:focus.valid, textarea.md-textarea.valid,
+textarea.md-textarea:focus.valid {
+    border-bottom: 1px solid #00C851;
+    box-shadow: 0 1px 0 0 #00C851
+}
+
+input[type=date].valid + label:after, input[type=date]:focus.valid + label:after,
+input[type=datetime-local].valid + label:after, input[type=datetime-local]:focus.valid + label:after,
+input[type=email].valid + label:after, input[type=email]:focus.valid + label:after,
+input[type=number].valid + label:after, input[type=number]:focus.valid + label:after,
+input[type=password].valid + label:after, input[type=password]:focus.valid + label:after,
+input[type=search-md].valid + label:after, input[type=search-md]:focus.valid + label:after,
+input[type=search].valid + label:after, input[type=search]:focus.valid + label:after,
+input[type=tel].valid + label:after, input[type=tel]:focus.valid + label:after,
+input[type=text].valid + label:after, input[type=text]:focus.valid + label:after,
+input[type=time].valid + label:after, input[type=time]:focus.valid + label:after,
+input[type=url].valid + label:after, input[type=url]:focus.valid + label:after,
+textarea.md-textarea.valid + label:after, textarea.md-textarea:focus.valid + label:after {
+    content: attr(data-success);
+    color: #00C851;
+    opacity: 1
+}
+
+input[type=date].invalid, input[type=date]:focus.invalid, input[type=datetime-local].invalid,
+input[type=datetime-local]:focus.invalid, input[type=email].invalid,
+input[type=email]:focus.invalid, input[type=number].invalid, input[type=number]:focus.invalid,
+input[type=password].invalid, input[type=password]:focus.invalid,
+input[type=search-md].invalid, input[type=search-md]:focus.invalid,
+input[type=search].invalid, input[type=search]:focus.invalid, input[type=tel].invalid,
+input[type=tel]:focus.invalid, input[type=text].invalid, input[type=text]:focus.invalid,
+input[type=time].invalid, input[type=time]:focus.invalid, input[type=url].invalid,
+input[type=url]:focus.invalid, textarea.md-textarea.invalid, textarea.md-textarea:focus.invalid {
+    border-bottom: 1px solid #F44336;
+    box-shadow: 0 1px 0 0 #F44336
+}
+
+input[type=date].invalid + label:after, input[type=date]:focus.invalid + label:after,
+input[type=datetime-local].invalid + label:after, input[type=datetime-local]:focus.invalid + label:after,
+input[type=email].invalid + label:after, input[type=email]:focus.invalid + label:after,
+input[type=number].invalid + label:after, input[type=number]:focus.invalid + label:after,
+input[type=password].invalid + label:after, input[type=password]:focus.invalid + label:after,
+input[type=search-md].invalid + label:after, input[type=search-md]:focus.invalid + label:after,
+input[type=search].invalid + label:after, input[type=search]:focus.invalid + label:after,
+input[type=tel].invalid + label:after, input[type=tel]:focus.invalid + label:after,
+input[type=text].invalid + label:after, input[type=text]:focus.invalid + label:after,
+input[type=time].invalid + label:after, input[type=time]:focus.invalid + label:after,
+input[type=url].invalid + label:after, input[type=url]:focus.invalid + label:after,
+textarea.md-textarea.invalid + label:after, textarea.md-textarea:focus.invalid + label:after {
+    content: attr(data-error);
+    color: #F44336;
+    opacity: 1
+}
+
+input[type=date] + label:after, input[type=datetime-local] + label:after,
+input[type=email] + label:after, input[type=number] + label:after,
+input[type=password] + label:after, input[type=search-md] + label:after,
+input[type=search] + label:after, input[type=tel] + label:after, input[type=text] + label:after,
+input[type=time] + label:after, input[type=url] + label:after, textarea.md-textarea + label:after {
+    display: block;
+    content: "";
+    position: absolute;
+    top: 65px;
+    opacity: 0;
+    transition: .2s opacity ease-out, .2s color ease-out
+}
+
+input[type=date].input-alternate, input[type=datetime-local].input-alternate,
+input[type=email].input-alternate, input[type=number].input-alternate,
+input[type=password].input-alternate, input[type=search-md].input-alternate,
+input[type=search].input-alternate, input[type=tel].input-alternate,
+input[type=text].input-alternate, input[type=time].input-alternate,
+input[type=url].input-alternate, textarea.md-textarea.input-alternate {
+    padding: 0 15px;
+    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12);
+    font-size: .875rem;
+    border-bottom: 0
+}
+
+input[type=date].input-alternate:focus:not([readonly]), input[type=datetime-local].input-alternate:focus:not([readonly]),
+input[type=email].input-alternate:focus:not([readonly]), input[type=number].input-alternate:focus:not([readonly]),
+input[type=password].input-alternate:focus:not([readonly]), input[type=search-md].input-alternate:focus:not([readonly]),
+input[type=search].input-alternate:focus:not([readonly]), input[type=tel].input-alternate:focus:not([readonly]),
+input[type=text].input-alternate:focus:not([readonly]), input[type=time].input-alternate:focus:not([readonly]),
+input[type=url].input-alternate:focus:not([readonly]), textarea.md-textarea.input-alternate:focus:not([readonly]) {
+    border-bottom: 0;
+    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12)
+}
+
+label {
+    font-size: .8rem;
+    color: darken #ccc, 90%
+}
+
+.form-inline fieldset {
+    margin-right: 1.5rem
+}
+
+.form-inline .form-group {
+    margin-right: 2rem
+}
+
+.waves-effect, a {
+    -webkit-tap-highlight-color: transparent
+}
+
+.waves-effect {
+    position: relative;
+    cursor: pointer;
+    overflow: hidden;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    z-index: 1
+}
+
+.waves-effect .waves-ripple {
+    position: absolute;
+    border-radius: 50%;
+    width: 100px;
+    height: 100px;
+    margin-top: -50px;
+    margin-left: -50px;
+    opacity: 0;
+    background: rgba(0, 0, 0, .2);
+    background: -webkit-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -o-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -moz-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    -webkit-transition: all .5s ease-out;
+    -moz-transition: all .5s ease-out;
+    -o-transition: all .5s ease-out;
+    transition: all .5s ease-out;
+    -webkit-transition-property: -webkit-transform, opacity;
+    -moz-transition-property: -moz-transform, opacity;
+    -o-transition-property: -o-transform, opacity;
+    transition-property: opacity, -webkit-transform;
+    transition-property: transform, opacity;
+    transition-property: transform, opacity, -webkit-transform;
+    -webkit-transform: scale(0) translate(0, 0);
+    -moz-transform: scale(0) translate(0, 0);
+    -ms-transform: scale(0) translate(0, 0);
+    -o-transform: scale(0) translate(0, 0);
+    transform: scale(0) translate(0, 0);
+    pointer-events: none
+}
+
+.form-control {
+    padding: .5rem 0 .6rem;
+    font-size: 1rem;
+    line-height: 1.5;
+    background-color: transparent;
+    background-image: none;
+    border-radius: 0;
+    margin-top: .2rem;
+    margin-bottom: 1rem
+}
+
+.md-form, .md-form .btn {
+    margin-bottom: 1.5rem
+}
+
+.form-control:focus {
+    background: 0 0
+}
+
+.form-control:disabled, .form-control[readonly] {
+    background-color: transparent;
+    border-bottom: 1px solid #e0e0e0
+}
+
+.md-form {
+    position: relative
+}
+
+.md-form label {
+    color: #757575;
+    position: absolute;
+    top: .8rem;
+    left: 0;
+    font-size: 1rem;
+    cursor: text;
+    -webkit-transition: .2s ease-out;
+    -moz-transition: .2s ease-out;
+    -o-transition: .2s ease-out;
+    -ms-transition: .2s ease-out;
+    transition: .2s ease-out
+}
+
+.md-form label.active {
+    font-size: .8rem;
+    -webkit-transform: translateY(-140%);
+    -moz-transform: translateY(-140%);
+    -ms-transform: translateY(-140%);
+    -o-transform: translateY(-140%);
+    transform: translateY(-140%)
+}
+
+.md-form .prefix {
+    position: absolute;
+    width: 3rem;
+    font-size: 2rem;
+    -webkit-transition: color .2s;
+    -moz-transition: color .2s;
+    -o-transition: color .2s;
+    -ms-transition: color .2s;
+    transition: color .2s
+}
+
+.md-form .prefix.active {
+    color: #4285F4
+}
+
+.md-form .prefix ~ input, .md-form .prefix ~ textarea {
+    margin-left: 3rem;
+    width: 92%;
+    width: calc(100% - 3rem)
+}
+
+.md-form .prefix ~ textarea {
+    padding-top: .8rem
+}
+
+.md-form .prefix ~ label {
+    margin-left: 3rem
+}
+
+@media only screen and (max-width:992px) {
+    .md-form .prefix ~ input {
+        width: 86%;
+        width: calc(100% - 3rem)
+    }
+}
+
+@media only screen and (max-width:600px) {
+    .md-form .prefix ~ input {
+        width: 80%;
+        width: calc(100% - 3rem)
+    }
+}
+
+.list-group-item, textarea {
+    width: 100%
+}
+
+.md-form.input-group .form-control {
+    margin: 0;
+    padding-left: 1rem
+}
+
+.md-form.input-group .form-control:-moz-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-ms-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-webkit-input-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-moz-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control:-ms-input-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.form-inline fieldset {
+    margin-right: 1.5rem
+}
+
+textarea {
+    height: 3rem;
+    background-color: transparent
+}
+
+textarea.md-textarea {
+    overflow-y: hidden;
+    padding: 1.6rem 0;
+    resize: none;
+    min-height: 3rem
+}
+
+.input-dark-bg .form-control {
+    color: #fff
+}
+
+.input-light-bg .form-control {
+    color: #1C2331
+}
+
+/* NAVBAR */
+
+.badge, .btn, .card, .chip, .dropdown-menu, .jumbotron, .list-group,
+.navbar, .pager li a, .pagination .active .page-link, .popover, .z-depth-1 {
+    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12)
+}
+
+.alert, .badge, .breadcrumb, .card, .card .card-header, .dropdown-menu,
+.file-custom, .input-group-addon, .jumbotron, .list-group .list-group-item,
+.modal-content, .nav .nav-link, .nav-tabs, .navbar, .navbar-toggler,
+.page-item:first-child .page-link, .page-item:last-child .page-link,
+.pagination-lg .page-item:first-child .page-link, .pagination-lg .page-item:last-child .page-link,
+.pagination-sm .page-item:first-child .page-link, .pagination-sm .page-item:last-child .page-link,
+.popover, .tooltip-inner, img {
+    -webkit-border-radius: 2px;
+    -moz-border-radius: 2px;
+    -ms-border-radius: 2px;
+    -o-border-radius: 2px;
+    border-radius: 2px
+}
+
+.navbar {
+    font-weight: 300
+}
+
+.navbar form input {
+    margin: 0 5px 1px 8px;
+    height: 1rem
+}
+
+.navbar .navbar-brand {
+    -webkit-align-self: flex-start;
+    -ms-flex-item-align: start;
+    align-self: flex-start;
+    overflow: visible
+}
+
+.navbar .breadcrumb {
+    margin: 0;
+    background-color: transparent;
+    font-weight: 300
+}
+
+.navbar.navbar-dark .navbar-brand, .navbar.navbar-dark .navbar-brand:hover {
+    color: #fff
+}
+
+.navbar.navbar-dark .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")
+}
+
+.navbar.navbar-dark .breadcrumb a, .navbar.navbar-dark .navbar-nav .nav-item a {
+    color: #fff;
+    transition: .35s
+}
+
+.navbar.navbar-dark .breadcrumb a:hover, .navbar.navbar-dark .navbar-nav .nav-item a:hover {
+    color: rgba(255, 255, 255, .75)
+}
+
+.navbar.navbar-dark .breadcrumb .dropdown-menu a, .navbar.navbar-dark .breadcrumb .dropdown-menu a:active,
+.navbar.navbar-dark .breadcrumb .dropdown-menu a:focus, .navbar.navbar-dark .breadcrumb .dropdown-menu a:hover,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a, .navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:active,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:focus,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:hover {
+    color: #212121
+}
+
+.navbar.navbar-dark .nav-link, .navbar.navbar-dark .navbar-toggler {
+    color: #fff
+}
+
+.navbar.navbar-light .breadcrumb a, .navbar.navbar-light .breadcrumb a:hover,
+.navbar.navbar-light .nav-item a, .navbar.navbar-light .nav-item a:hover {
+    transition: .35s;
+    color: #212121
+}
+
+.navbar.navbar-light .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")
+}
+
+
+
+.navbar.navbar-light .breadcrumb .dropdown-menu a, .navbar.navbar-light .nav-item .dropdown-menu a {
+    color: #000;
+    padding: 10px
+}
+
+.navbar.navbar-light .navbar-toggler {
+    color: #000
+}
+
+.navbar .dropdown-menu a {
+    font-size: .9375rem;
+    font-weight: 300;
+    padding: 1rem
+}
+
+.navbar .navbar-toggler {
+    border-width: 0
+}
+
+.navbar .nav-flex-icons {
+    -webkit-flex-direction: row;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+@media (max-width:991px) {
+    .navbar .container {
+        width: 100%
+    }
+
+    .navbar .container .navbar-toggler-right {
+        right: 0
+    }
+}
+
+.navbar .dropdown-menu {
+    position: absolute !important
+}
+
+.navbar.double-nav {
+    -webkit-flex-direction: row;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.navbar-dark form input[type=text] {
+    border-bottom: 1px solid #fff
+}
+
+.navbar-dark form .form-control {
+    color: #fff
+}
+
+.navbar-dark form .form-control:-moz-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-ms-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-webkit-input-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-moz-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control:-ms-input-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-light form input[type=text] {
+    border-bottom: 1px solid #1C2331
+}
+
+.navbar-light form .form-control {
+    color: #1C2331
+}
+
+.navbar-light form .form-control:-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-ms-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-webkit-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control:-ms-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+/* INPUT */
+
+.dropdown-menu, .input-group-addon, .pagination .page-item .page-link,
+.popover {
+    border: 0
+}
+
+.input-dark-bg:-moz-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-ms-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-webkit-input-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-moz-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg:-ms-input-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg input[type=text] {
+    border-bottom: 1px solid #fff
+}
+
+.input-dark-bg .form-control {
+    color: #fff
+}
+
+.input-light-bg:-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-ms-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-webkit-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg:-ms-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg input[type=text] {
+    border-bottom: 1px solid #1C2331
+}
+
+.input-light-bg .form-control {
+    color: #1C2331
+}
+
+/* NAVBAR TOGGLER */
+
+
+button:focus {
+    outline: 0 !important
+}
+
+/* FORM BOOTSTRAP */
+.container {
+  margin-top: 10px;
+}
+
+.hero-unit {
+  padding: 50px 50px 50px 50px;
+}
+
+.form-horizontal .control-label {
+  width: 61px;
+}
+
+.form-horizontal .controls {
+  margin-left: 80px;
+}
+/* Landscape phone to portrait tablet */
+@media ( max-width : 767px) {
+}
+/* Landscape phones and down */
+@media ( max-width : 480px) {
+  .hero-unit {
+    margin-left: -20px;
+    margin-right: -20px;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+}
+
diff --git a/workspace/public/css/mdb.min.css b/workspace/public/css/mdb.min.css
new file mode 100644
index 0000000..bd12cb9
--- /dev/null
+++ b/workspace/public/css/mdb.min.css
@@ -0,0 +1,8671 @@
+/*!
+ * Material Design for Bootstrap 4
+ * Version: MDB FREE 4.3.0 
+ *
+ *
+ * Copyright: Material Design for Bootstrap
+ * http://mdbootstrap.com/
+ *
+ * Read the license: http://mdbootstrap.com/license/
+ *
+ * Atribution: Animate CSS, Twitter Bootstrap, Materialize CSS, Normalize CSS, Waves JS, WOW JS, Toastr, Chart.js , Hammer.js
+ *
+ */
+a, a:focus, a:hover {
+    text-decoration: none
+}
+
+ul, ul li {
+    list-style-type: none
+}
+
+.waves-effect, a {
+    -webkit-tap-highlight-color: transparent
+}
+
+.btn, .hiddendiv {
+    word-wrap: break-word
+}
+
+.mdb-color.lighten-5 {
+    background-color: #D0D6E2 !important
+}
+
+.mdb-color-text.text-lighten-5 {
+    color: #D0D6E2 !important
+}
+
+.mdb-color.lighten-4 {
+    background-color: #B1BACE !important
+}
+
+.mdb-color-text.text-lighten-4 {
+    color: #B1BACE !important
+}
+
+.mdb-color.lighten-3 {
+    background-color: #929FBA !important
+}
+
+.mdb-color-text.text-lighten-3 {
+    color: #929FBA !important
+}
+
+.mdb-color.lighten-2 {
+    background-color: #7283A7 !important
+}
+
+.mdb-color-text.text-lighten-2 {
+    color: #7283A7 !important
+}
+
+.mdb-color.lighten-1 {
+    background-color: #59698D !important
+}
+
+.mdb-color-text.text-lighten-1 {
+    color: #59698D !important
+}
+
+.mdb-color-text {
+    color: #45526E !important
+}
+
+.mdb-color.darken-1 {
+    background-color: #3B465E !important
+}
+
+.mdb-color-text.text-darken-1 {
+    color: #3B465E !important
+}
+
+.mdb-color.darken-2 {
+    background-color: #2E3951 !important
+}
+
+.mdb-color-text.text-darken-2 {
+    color: #2E3951 !important
+}
+
+.mdb-color.darken-3 {
+    background-color: #1C2A48 !important
+}
+
+.mdb-color-text.text-darken-3 {
+    color: #1C2A48 !important
+}
+
+.mdb-color.darken-4 {
+    background-color: #1C2331 !important
+}
+
+.mdb-color-text.text-darken-4 {
+    color: #1C2331 !important
+}
+
+.red.lighten-5 {
+    background-color: #FFEBEE !important
+}
+
+.red-text.text-lighten-5 {
+    color: #FFEBEE !important
+}
+
+.red.lighten-4 {
+    background-color: #FFCDD2 !important
+}
+
+.red-text.text-lighten-4 {
+    color: #FFCDD2 !important
+}
+
+.red.lighten-3 {
+    background-color: #EF9A9A !important
+}
+
+.red-text.text-lighten-3 {
+    color: #EF9A9A !important
+}
+
+.red.lighten-2 {
+    background-color: #E57373 !important
+}
+
+.red-text.text-lighten-2 {
+    color: #E57373 !important
+}
+
+.red.lighten-1 {
+    background-color: #EF5350 !important
+}
+
+.red-text.text-lighten-1 {
+    color: #EF5350 !important
+}
+
+.red {
+    background-color: #F44336 !important
+}
+
+.red-text {
+    color: #F44336 !important
+}
+
+.red.darken-1 {
+    background-color: #E53935 !important
+}
+
+.red-text.text-darken-1 {
+    color: #E53935 !important
+}
+
+.red.darken-2 {
+    background-color: #D32F2F !important
+}
+
+.red-text.text-darken-2 {
+    color: #D32F2F !important
+}
+
+.red.darken-3 {
+    background-color: #C62828 !important
+}
+
+.red-text.text-darken-3 {
+    color: #C62828 !important
+}
+
+.red.darken-4 {
+    background-color: #B71C1C !important
+}
+
+.red-text.text-darken-4 {
+    color: #B71C1C !important
+}
+
+.red.accent-1 {
+    background-color: #FF8A80 !important
+}
+
+.red-text.text-accent-1 {
+    color: #FF8A80 !important
+}
+
+.red.accent-2 {
+    background-color: #FF5252 !important
+}
+
+.red-text.text-accent-2 {
+    color: #FF5252 !important
+}
+
+.red.accent-3 {
+    background-color: #FF1744 !important
+}
+
+.red-text.text-accent-3 {
+    color: #FF1744 !important
+}
+
+.red.accent-4 {
+    background-color: #D50000 !important
+}
+
+.red-text.text-accent-4 {
+    color: #D50000 !important
+}
+
+.pink.lighten-5 {
+    background-color: #fce4ec !important
+}
+
+.pink-text.text-lighten-5 {
+    color: #fce4ec !important
+}
+
+.pink.lighten-4 {
+    background-color: #f8bbd0 !important
+}
+
+.pink-text.text-lighten-4 {
+    color: #f8bbd0 !important
+}
+
+.pink.lighten-3 {
+    background-color: #f48fb1 !important
+}
+
+.pink-text.text-lighten-3 {
+    color: #f48fb1 !important
+}
+
+.pink.lighten-2 {
+    background-color: #f06292 !important
+}
+
+.pink-text.text-lighten-2 {
+    color: #f06292 !important
+}
+
+.pink.lighten-1 {
+    background-color: #ec407a !important
+}
+
+.pink-text.text-lighten-1 {
+    color: #ec407a !important
+}
+
+.pink {
+    background-color: #e91e63 !important
+}
+
+.pink-text {
+    color: #e91e63 !important
+}
+
+.pink.darken-1 {
+    background-color: #d81b60 !important
+}
+
+.pink-text.text-darken-1 {
+    color: #d81b60 !important
+}
+
+.pink.darken-2 {
+    background-color: #c2185b !important
+}
+
+.pink-text.text-darken-2 {
+    color: #c2185b !important
+}
+
+.pink.darken-3 {
+    background-color: #ad1457 !important
+}
+
+.pink-text.text-darken-3 {
+    color: #ad1457 !important
+}
+
+.pink.darken-4 {
+    background-color: #880e4f !important
+}
+
+.pink-text.text-darken-4 {
+    color: #880e4f !important
+}
+
+.pink.accent-1 {
+    background-color: #ff80ab !important
+}
+
+.pink-text.text-accent-1 {
+    color: #ff80ab !important
+}
+
+.pink.accent-2 {
+    background-color: #ff4081 !important
+}
+
+.pink-text.text-accent-2 {
+    color: #ff4081 !important
+}
+
+.pink.accent-3 {
+    background-color: #f50057 !important
+}
+
+.pink-text.text-accent-3 {
+    color: #f50057 !important
+}
+
+.pink.accent-4 {
+    background-color: #c51162 !important
+}
+
+.pink-text.text-accent-4 {
+    color: #c51162 !important
+}
+
+.purple.lighten-5 {
+    background-color: #f3e5f5 !important
+}
+
+.purple-text.text-lighten-5 {
+    color: #f3e5f5 !important
+}
+
+.purple.lighten-4 {
+    background-color: #e1bee7 !important
+}
+
+.purple-text.text-lighten-4 {
+    color: #e1bee7 !important
+}
+
+.purple.lighten-3 {
+    background-color: #ce93d8 !important
+}
+
+.purple-text.text-lighten-3 {
+    color: #ce93d8 !important
+}
+
+.purple.lighten-2 {
+    background-color: #ba68c8 !important
+}
+
+.purple-text.text-lighten-2 {
+    color: #ba68c8 !important
+}
+
+.purple.lighten-1 {
+    background-color: #ab47bc !important
+}
+
+.purple-text.text-lighten-1 {
+    color: #ab47bc !important
+}
+
+.purple {
+    background-color: #9c27b0 !important
+}
+
+.purple-text {
+    color: #9c27b0 !important
+}
+
+.purple.darken-1 {
+    background-color: #8e24aa !important
+}
+
+.purple-text.text-darken-1 {
+    color: #8e24aa !important
+}
+
+.purple.darken-2 {
+    background-color: #7b1fa2 !important
+}
+
+.purple-text.text-darken-2 {
+    color: #7b1fa2 !important
+}
+
+.purple.darken-3 {
+    background-color: #6a1b9a !important
+}
+
+.purple-text.text-darken-3 {
+    color: #6a1b9a !important
+}
+
+.purple.darken-4 {
+    background-color: #4a148c !important
+}
+
+.purple-text.text-darken-4 {
+    color: #4a148c !important
+}
+
+.purple.accent-1 {
+    background-color: #ea80fc !important
+}
+
+.purple-text.text-accent-1 {
+    color: #ea80fc !important
+}
+
+.purple.accent-2 {
+    background-color: #e040fb !important
+}
+
+.purple-text.text-accent-2 {
+    color: #e040fb !important
+}
+
+.purple.accent-3 {
+    background-color: #d500f9 !important
+}
+
+.purple-text.text-accent-3 {
+    color: #d500f9 !important
+}
+
+.purple.accent-4 {
+    background-color: #a0f !important
+}
+
+.purple-text.text-accent-4 {
+    color: #a0f !important
+}
+
+.deep-purple.lighten-5 {
+    background-color: #ede7f6 !important
+}
+
+.deep-purple-text.text-lighten-5 {
+    color: #ede7f6 !important
+}
+
+.deep-purple.lighten-4 {
+    background-color: #d1c4e9 !important
+}
+
+.deep-purple-text.text-lighten-4 {
+    color: #d1c4e9 !important
+}
+
+.deep-purple.lighten-3 {
+    background-color: #b39ddb !important
+}
+
+.deep-purple-text.text-lighten-3 {
+    color: #b39ddb !important
+}
+
+.deep-purple.lighten-2 {
+    background-color: #9575cd !important
+}
+
+.deep-purple-text.text-lighten-2 {
+    color: #9575cd !important
+}
+
+.deep-purple.lighten-1 {
+    background-color: #7e57c2 !important
+}
+
+.deep-purple-text.text-lighten-1 {
+    color: #7e57c2 !important
+}
+
+.deep-purple {
+    background-color: #673ab7 !important
+}
+
+.deep-purple-text {
+    color: #673ab7 !important
+}
+
+.deep-purple.darken-1 {
+    background-color: #5e35b1 !important
+}
+
+.deep-purple-text.text-darken-1 {
+    color: #5e35b1 !important
+}
+
+.deep-purple.darken-2 {
+    background-color: #512da8 !important
+}
+
+.deep-purple-text.text-darken-2 {
+    color: #512da8 !important
+}
+
+.deep-purple.darken-3 {
+    background-color: #4527a0 !important
+}
+
+.deep-purple-text.text-darken-3 {
+    color: #4527a0 !important
+}
+
+.deep-purple.darken-4 {
+    background-color: #311b92 !important
+}
+
+.deep-purple-text.text-darken-4 {
+    color: #311b92 !important
+}
+
+.deep-purple.accent-1 {
+    background-color: #b388ff !important
+}
+
+.deep-purple-text.text-accent-1 {
+    color: #b388ff !important
+}
+
+.deep-purple.accent-2 {
+    background-color: #7c4dff !important
+}
+
+.deep-purple-text.text-accent-2 {
+    color: #7c4dff !important
+}
+
+.deep-purple.accent-3 {
+    background-color: #651fff !important
+}
+
+.deep-purple-text.text-accent-3 {
+    color: #651fff !important
+}
+
+.deep-purple.accent-4 {
+    background-color: #6200ea !important
+}
+
+.deep-purple-text.text-accent-4 {
+    color: #6200ea !important
+}
+
+.indigo.lighten-5 {
+    background-color: #e8eaf6 !important
+}
+
+.indigo-text.text-lighten-5 {
+    color: #e8eaf6 !important
+}
+
+.indigo.lighten-4 {
+    background-color: #c5cae9 !important
+}
+
+.indigo-text.text-lighten-4 {
+    color: #c5cae9 !important
+}
+
+.indigo.lighten-3 {
+    background-color: #9fa8da !important
+}
+
+.indigo-text.text-lighten-3 {
+    color: #9fa8da !important
+}
+
+.indigo.lighten-2 {
+    background-color: #7986cb !important
+}
+
+.indigo-text.text-lighten-2 {
+    color: #7986cb !important
+}
+
+.indigo.lighten-1 {
+    background-color: #5c6bc0 !important
+}
+
+.indigo-text.text-lighten-1 {
+    color: #5c6bc0 !important
+}
+
+.indigo {
+    background-color: #3f51b5 !important
+}
+
+.indigo-text {
+    color: #3f51b5 !important
+}
+
+.indigo.darken-1 {
+    background-color: #3949ab !important
+}
+
+.indigo-text.text-darken-1 {
+    color: #3949ab !important
+}
+
+.indigo.darken-2 {
+    background-color: #303f9f !important
+}
+
+.indigo-text.text-darken-2 {
+    color: #303f9f !important
+}
+
+.indigo.darken-3 {
+    background-color: #283593 !important
+}
+
+.indigo-text.text-darken-3 {
+    color: #283593 !important
+}
+
+.indigo.darken-4 {
+    background-color: #1a237e !important
+}
+
+.indigo-text.text-darken-4 {
+    color: #1a237e !important
+}
+
+.indigo.accent-1 {
+    background-color: #8c9eff !important
+}
+
+.indigo-text.text-accent-1 {
+    color: #8c9eff !important
+}
+
+.indigo.accent-2 {
+    background-color: #536dfe !important
+}
+
+.indigo-text.text-accent-2 {
+    color: #536dfe !important
+}
+
+.indigo.accent-3 {
+    background-color: #3d5afe !important
+}
+
+.indigo-text.text-accent-3 {
+    color: #3d5afe !important
+}
+
+.indigo.accent-4 {
+    background-color: #304ffe !important
+}
+
+.indigo-text.text-accent-4 {
+    color: #304ffe !important
+}
+
+.blue.lighten-5 {
+    background-color: #E3F2FD !important
+}
+
+.blue-text.text-lighten-5 {
+    color: #E3F2FD !important
+}
+
+.blue.lighten-4 {
+    background-color: #BBDEFB !important
+}
+
+.blue-text.text-lighten-4 {
+    color: #BBDEFB !important
+}
+
+.blue.lighten-3 {
+    background-color: #90CAF9 !important
+}
+
+.blue-text.text-lighten-3 {
+    color: #90CAF9 !important
+}
+
+.blue.lighten-2 {
+    background-color: #64B5F6 !important
+}
+
+.blue-text.text-lighten-2 {
+    color: #64B5F6 !important
+}
+
+.blue.lighten-1 {
+    background-color: #42A5F5 !important
+}
+
+.blue-text.text-lighten-1 {
+    color: #42A5F5 !important
+}
+
+.blue {
+    background-color: #2196F3 !important
+}
+
+.blue-text {
+    color: #2196F3 !important
+}
+
+.blue.darken-1 {
+    background-color: #1E88E5 !important
+}
+
+.blue-text.text-darken-1 {
+    color: #1E88E5 !important
+}
+
+.blue.darken-2 {
+    background-color: #1976D2 !important
+}
+
+.blue-text.text-darken-2 {
+    color: #1976D2 !important
+}
+
+.blue.darken-3 {
+    background-color: #1565C0 !important
+}
+
+.blue-text.text-darken-3 {
+    color: #1565C0 !important
+}
+
+.blue.darken-4 {
+    background-color: #0D47A1 !important
+}
+
+.blue-text.text-darken-4 {
+    color: #0D47A1 !important
+}
+
+.blue.accent-1 {
+    background-color: #82B1FF !important
+}
+
+.blue-text.text-accent-1 {
+    color: #82B1FF !important
+}
+
+.blue.accent-2 {
+    background-color: #448AFF !important
+}
+
+.blue-text.text-accent-2 {
+    color: #448AFF !important
+}
+
+.blue.accent-3 {
+    background-color: #2979FF !important
+}
+
+.blue-text.text-accent-3 {
+    color: #2979FF !important
+}
+
+.blue.accent-4 {
+    background-color: #2962FF !important
+}
+
+.blue-text.text-accent-4 {
+    color: #2962FF !important
+}
+
+.light-blue.lighten-5 {
+    background-color: #e1f5fe !important
+}
+
+.light-blue-text.text-lighten-5 {
+    color: #e1f5fe !important
+}
+
+.light-blue.lighten-4 {
+    background-color: #b3e5fc !important
+}
+
+.light-blue-text.text-lighten-4 {
+    color: #b3e5fc !important
+}
+
+.light-blue.lighten-3 {
+    background-color: #81d4fa !important
+}
+
+.light-blue-text.text-lighten-3 {
+    color: #81d4fa !important
+}
+
+.light-blue.lighten-2 {
+    background-color: #4fc3f7 !important
+}
+
+.light-blue-text.text-lighten-2 {
+    color: #4fc3f7 !important
+}
+
+.light-blue.lighten-1 {
+    background-color: #29b6f6 !important
+}
+
+.light-blue-text.text-lighten-1 {
+    color: #29b6f6 !important
+}
+
+.light-blue {
+    background-color: #03a9f4 !important
+}
+
+.light-blue-text {
+    color: #03a9f4 !important
+}
+
+.light-blue.darken-1 {
+    background-color: #039be5 !important
+}
+
+.light-blue-text.text-darken-1 {
+    color: #039be5 !important
+}
+
+.light-blue.darken-2 {
+    background-color: #0288d1 !important
+}
+
+.light-blue-text.text-darken-2 {
+    color: #0288d1 !important
+}
+
+.light-blue.darken-3 {
+    background-color: #0277bd !important
+}
+
+.light-blue-text.text-darken-3 {
+    color: #0277bd !important
+}
+
+.light-blue.darken-4 {
+    background-color: #01579b !important
+}
+
+.light-blue-text.text-darken-4 {
+    color: #01579b !important
+}
+
+.light-blue.accent-1 {
+    background-color: #80d8ff !important
+}
+
+.light-blue-text.text-accent-1 {
+    color: #80d8ff !important
+}
+
+.light-blue.accent-2 {
+    background-color: #40c4ff !important
+}
+
+.light-blue-text.text-accent-2 {
+    color: #40c4ff !important
+}
+
+.light-blue.accent-3 {
+    background-color: #00b0ff !important
+}
+
+.light-blue-text.text-accent-3 {
+    color: #00b0ff !important
+}
+
+.light-blue.accent-4 {
+    background-color: #0091ea !important
+}
+
+.light-blue-text.text-accent-4 {
+    color: #0091ea !important
+}
+
+.cyan.lighten-5 {
+    background-color: #e0f7fa !important
+}
+
+.cyan-text.text-lighten-5 {
+    color: #e0f7fa !important
+}
+
+.cyan.lighten-4 {
+    background-color: #b2ebf2 !important
+}
+
+.cyan-text.text-lighten-4 {
+    color: #b2ebf2 !important
+}
+
+.cyan.lighten-3 {
+    background-color: #80deea !important
+}
+
+.cyan-text.text-lighten-3 {
+    color: #80deea !important
+}
+
+.cyan.lighten-2 {
+    background-color: #4dd0e1 !important
+}
+
+.cyan-text.text-lighten-2 {
+    color: #4dd0e1 !important
+}
+
+.cyan.lighten-1 {
+    background-color: #26c6da !important
+}
+
+.cyan-text.text-lighten-1 {
+    color: #26c6da !important
+}
+
+.cyan {
+    background-color: #00bcd4 !important
+}
+
+.cyan-text {
+    color: #00bcd4 !important
+}
+
+.cyan.darken-1 {
+    background-color: #00acc1 !important
+}
+
+.cyan-text.text-darken-1 {
+    color: #00acc1 !important
+}
+
+.cyan.darken-2 {
+    background-color: #0097a7 !important
+}
+
+.cyan-text.text-darken-2 {
+    color: #0097a7 !important
+}
+
+.cyan.darken-3 {
+    background-color: #00838f !important
+}
+
+.cyan-text.text-darken-3 {
+    color: #00838f !important
+}
+
+.cyan.darken-4 {
+    background-color: #006064 !important
+}
+
+.cyan-text.text-darken-4 {
+    color: #006064 !important
+}
+
+.cyan.accent-1 {
+    background-color: #84ffff !important
+}
+
+.cyan-text.text-accent-1 {
+    color: #84ffff !important
+}
+
+.cyan.accent-2 {
+    background-color: #18ffff !important
+}
+
+.cyan-text.text-accent-2 {
+    color: #18ffff !important
+}
+
+.cyan.accent-3 {
+    background-color: #00e5ff !important
+}
+
+.cyan-text.text-accent-3 {
+    color: #00e5ff !important
+}
+
+.cyan.accent-4 {
+    background-color: #00b8d4 !important
+}
+
+.cyan-text.text-accent-4 {
+    color: #00b8d4 !important
+}
+
+.teal.lighten-5 {
+    background-color: #e0f2f1 !important
+}
+
+.teal-text.text-lighten-5 {
+    color: #e0f2f1 !important
+}
+
+.teal.lighten-4 {
+    background-color: #b2dfdb !important
+}
+
+.teal-text.text-lighten-4 {
+    color: #b2dfdb !important
+}
+
+.teal.lighten-3 {
+    background-color: #80cbc4 !important
+}
+
+.teal-text.text-lighten-3 {
+    color: #80cbc4 !important
+}
+
+.teal.lighten-2 {
+    background-color: #4db6ac !important
+}
+
+.teal-text.text-lighten-2 {
+    color: #4db6ac !important
+}
+
+.teal.lighten-1 {
+    background-color: #26a69a !important
+}
+
+.teal-text.text-lighten-1 {
+    color: #26a69a !important
+}
+
+.teal {
+    background-color: #009688 !important
+}
+
+.teal-text {
+    color: #009688 !important
+}
+
+.teal.darken-1 {
+    background-color: #00897b !important
+}
+
+.teal-text.text-darken-1 {
+    color: #00897b !important
+}
+
+.teal.darken-2 {
+    background-color: #00796b !important
+}
+
+.teal-text.text-darken-2 {
+    color: #00796b !important
+}
+
+.teal.darken-3 {
+    background-color: #00695c !important
+}
+
+.teal-text.text-darken-3 {
+    color: #00695c !important
+}
+
+.teal.darken-4 {
+    background-color: #004d40 !important
+}
+
+.teal-text.text-darken-4 {
+    color: #004d40 !important
+}
+
+.teal.accent-1 {
+    background-color: #a7ffeb !important
+}
+
+.teal-text.text-accent-1 {
+    color: #a7ffeb !important
+}
+
+.teal.accent-2 {
+    background-color: #64ffda !important
+}
+
+.teal-text.text-accent-2 {
+    color: #64ffda !important
+}
+
+.teal.accent-3 {
+    background-color: #1de9b6 !important
+}
+
+.teal-text.text-accent-3 {
+    color: #1de9b6 !important
+}
+
+.teal.accent-4 {
+    background-color: #00bfa5 !important
+}
+
+.teal-text.text-accent-4 {
+    color: #00bfa5 !important
+}
+
+.green.lighten-5 {
+    background-color: #E8F5E9 !important
+}
+
+.green-text.text-lighten-5 {
+    color: #E8F5E9 !important
+}
+
+.green.lighten-4 {
+    background-color: #C8E6C9 !important
+}
+
+.green-text.text-lighten-4 {
+    color: #C8E6C9 !important
+}
+
+.green.lighten-3 {
+    background-color: #A5D6A7 !important
+}
+
+.green-text.text-lighten-3 {
+    color: #A5D6A7 !important
+}
+
+.green.lighten-2 {
+    background-color: #81C784 !important
+}
+
+.green-text.text-lighten-2 {
+    color: #81C784 !important
+}
+
+.green.lighten-1 {
+    background-color: #66BB6A !important
+}
+
+.green-text.text-lighten-1 {
+    color: #66BB6A !important
+}
+
+.green {
+    background-color: #4CAF50 !important
+}
+
+.green-text {
+    color: #4CAF50 !important
+}
+
+.green.darken-1 {
+    background-color: #43A047 !important
+}
+
+.green-text.text-darken-1 {
+    color: #43A047 !important
+}
+
+.green.darken-2 {
+    background-color: #388E3C !important
+}
+
+.green-text.text-darken-2 {
+    color: #388E3C !important
+}
+
+.green.darken-3 {
+    background-color: #2E7D32 !important
+}
+
+.green-text.text-darken-3 {
+    color: #2E7D32 !important
+}
+
+.green.darken-4 {
+    background-color: #1B5E20 !important
+}
+
+.green-text.text-darken-4 {
+    color: #1B5E20 !important
+}
+
+.green.accent-1 {
+    background-color: #B9F6CA !important
+}
+
+.green-text.text-accent-1 {
+    color: #B9F6CA !important
+}
+
+.green.accent-2 {
+    background-color: #69F0AE !important
+}
+
+.green-text.text-accent-2 {
+    color: #69F0AE !important
+}
+
+.green.accent-3 {
+    background-color: #00E676 !important
+}
+
+.green-text.text-accent-3 {
+    color: #00E676 !important
+}
+
+.green.accent-4 {
+    background-color: #00C853 !important
+}
+
+.green-text.text-accent-4 {
+    color: #00C853 !important
+}
+
+.light-green.lighten-5 {
+    background-color: #f1f8e9 !important
+}
+
+.light-green-text.text-lighten-5 {
+    color: #f1f8e9 !important
+}
+
+.light-green.lighten-4 {
+    background-color: #dcedc8 !important
+}
+
+.light-green-text.text-lighten-4 {
+    color: #dcedc8 !important
+}
+
+.light-green.lighten-3 {
+    background-color: #c5e1a5 !important
+}
+
+.light-green-text.text-lighten-3 {
+    color: #c5e1a5 !important
+}
+
+.light-green.lighten-2 {
+    background-color: #aed581 !important
+}
+
+.light-green-text.text-lighten-2 {
+    color: #aed581 !important
+}
+
+.light-green.lighten-1 {
+    background-color: #9ccc65 !important
+}
+
+.light-green-text.text-lighten-1 {
+    color: #9ccc65 !important
+}
+
+.light-green {
+    background-color: #8bc34a !important
+}
+
+.light-green-text {
+    color: #8bc34a !important
+}
+
+.light-green.darken-1 {
+    background-color: #7cb342 !important
+}
+
+.light-green-text.text-darken-1 {
+    color: #7cb342 !important
+}
+
+.light-green.darken-2 {
+    background-color: #689f38 !important
+}
+
+.light-green-text.text-darken-2 {
+    color: #689f38 !important
+}
+
+.light-green.darken-3 {
+    background-color: #558b2f !important
+}
+
+.light-green-text.text-darken-3 {
+    color: #558b2f !important
+}
+
+.light-green.darken-4 {
+    background-color: #33691e !important
+}
+
+.light-green-text.text-darken-4 {
+    color: #33691e !important
+}
+
+.light-green.accent-1 {
+    background-color: #ccff90 !important
+}
+
+.light-green-text.text-accent-1 {
+    color: #ccff90 !important
+}
+
+.light-green.accent-2 {
+    background-color: #b2ff59 !important
+}
+
+.light-green-text.text-accent-2 {
+    color: #b2ff59 !important
+}
+
+.light-green.accent-3 {
+    background-color: #76ff03 !important
+}
+
+.light-green-text.text-accent-3 {
+    color: #76ff03 !important
+}
+
+.light-green.accent-4 {
+    background-color: #64dd17 !important
+}
+
+.light-green-text.text-accent-4 {
+    color: #64dd17 !important
+}
+
+.lime.lighten-5 {
+    background-color: #f9fbe7 !important
+}
+
+.lime-text.text-lighten-5 {
+    color: #f9fbe7 !important
+}
+
+.lime.lighten-4 {
+    background-color: #f0f4c3 !important
+}
+
+.lime-text.text-lighten-4 {
+    color: #f0f4c3 !important
+}
+
+.lime.lighten-3 {
+    background-color: #e6ee9c !important
+}
+
+.lime-text.text-lighten-3 {
+    color: #e6ee9c !important
+}
+
+.lime.lighten-2 {
+    background-color: #dce775 !important
+}
+
+.lime-text.text-lighten-2 {
+    color: #dce775 !important
+}
+
+.lime.lighten-1 {
+    background-color: #d4e157 !important
+}
+
+.lime-text.text-lighten-1 {
+    color: #d4e157 !important
+}
+
+.lime {
+    background-color: #cddc39 !important
+}
+
+.lime-text {
+    color: #cddc39 !important
+}
+
+.lime.darken-1 {
+    background-color: #c0ca33 !important
+}
+
+.lime-text.text-darken-1 {
+    color: #c0ca33 !important
+}
+
+.lime.darken-2 {
+    background-color: #afb42b !important
+}
+
+.lime-text.text-darken-2 {
+    color: #afb42b !important
+}
+
+.lime.darken-3 {
+    background-color: #9e9d24 !important
+}
+
+.lime-text.text-darken-3 {
+    color: #9e9d24 !important
+}
+
+.lime.darken-4 {
+    background-color: #827717 !important
+}
+
+.lime-text.text-darken-4 {
+    color: #827717 !important
+}
+
+.lime.accent-1 {
+    background-color: #f4ff81 !important
+}
+
+.lime-text.text-accent-1 {
+    color: #f4ff81 !important
+}
+
+.lime.accent-2 {
+    background-color: #eeff41 !important
+}
+
+.lime-text.text-accent-2 {
+    color: #eeff41 !important
+}
+
+.lime.accent-3 {
+    background-color: #c6ff00 !important
+}
+
+.lime-text.text-accent-3 {
+    color: #c6ff00 !important
+}
+
+.lime.accent-4 {
+    background-color: #aeea00 !important
+}
+
+.lime-text.text-accent-4 {
+    color: #aeea00 !important
+}
+
+.yellow.lighten-5 {
+    background-color: #fffde7 !important
+}
+
+.yellow-text.text-lighten-5 {
+    color: #fffde7 !important
+}
+
+.yellow.lighten-4 {
+    background-color: #fff9c4 !important
+}
+
+.yellow-text.text-lighten-4 {
+    color: #fff9c4 !important
+}
+
+.yellow.lighten-3 {
+    background-color: #fff59d !important
+}
+
+.yellow-text.text-lighten-3 {
+    color: #fff59d !important
+}
+
+.yellow.lighten-2 {
+    background-color: #fff176 !important
+}
+
+.yellow-text.text-lighten-2 {
+    color: #fff176 !important
+}
+
+.yellow.lighten-1 {
+    background-color: #ffee58 !important
+}
+
+.yellow-text.text-lighten-1 {
+    color: #ffee58 !important
+}
+
+.yellow {
+    background-color: #ffeb3b !important
+}
+
+.yellow-text {
+    color: #ffeb3b !important
+}
+
+.yellow.darken-1 {
+    background-color: #fdd835 !important
+}
+
+.yellow-text.text-darken-1 {
+    color: #fdd835 !important
+}
+
+.yellow.darken-2 {
+    background-color: #fbc02d !important
+}
+
+.yellow-text.text-darken-2 {
+    color: #fbc02d !important
+}
+
+.yellow.darken-3 {
+    background-color: #f9a825 !important
+}
+
+.yellow-text.text-darken-3 {
+    color: #f9a825 !important
+}
+
+.yellow.darken-4 {
+    background-color: #f57f17 !important
+}
+
+.yellow-text.text-darken-4 {
+    color: #f57f17 !important
+}
+
+.yellow.accent-1 {
+    background-color: #ffff8d !important
+}
+
+.yellow-text.text-accent-1 {
+    color: #ffff8d !important
+}
+
+.yellow.accent-2 {
+    background-color: #ff0 !important
+}
+
+.yellow-text.text-accent-2 {
+    color: #ff0 !important
+}
+
+.yellow.accent-3 {
+    background-color: #ffea00 !important
+}
+
+.yellow-text.text-accent-3 {
+    color: #ffea00 !important
+}
+
+.yellow.accent-4 {
+    background-color: #ffd600 !important
+}
+
+.yellow-text.text-accent-4 {
+    color: #ffd600 !important
+}
+
+.amber.lighten-5 {
+    background-color: #fff8e1 !important
+}
+
+.amber-text.text-lighten-5 {
+    color: #fff8e1 !important
+}
+
+.amber.lighten-4 {
+    background-color: #ffecb3 !important
+}
+
+.amber-text.text-lighten-4 {
+    color: #ffecb3 !important
+}
+
+.amber.lighten-3 {
+    background-color: #ffe082 !important
+}
+
+.amber-text.text-lighten-3 {
+    color: #ffe082 !important
+}
+
+.amber.lighten-2 {
+    background-color: #ffd54f !important
+}
+
+.amber-text.text-lighten-2 {
+    color: #ffd54f !important
+}
+
+.amber.lighten-1 {
+    background-color: #ffca28 !important
+}
+
+.amber-text.text-lighten-1 {
+    color: #ffca28 !important
+}
+
+.amber {
+    background-color: #ffc107 !important
+}
+
+.amber-text {
+    color: #ffc107 !important
+}
+
+.amber.darken-1 {
+    background-color: #ffb300 !important
+}
+
+.amber-text.text-darken-1 {
+    color: #ffb300 !important
+}
+
+.amber.darken-2 {
+    background-color: #ffa000 !important
+}
+
+.amber-text.text-darken-2 {
+    color: #ffa000 !important
+}
+
+.amber.darken-3 {
+    background-color: #ff8f00 !important
+}
+
+.amber-text.text-darken-3 {
+    color: #ff8f00 !important
+}
+
+.amber.darken-4 {
+    background-color: #ff6f00 !important
+}
+
+.amber-text.text-darken-4 {
+    color: #ff6f00 !important
+}
+
+.amber.accent-1 {
+    background-color: #ffe57f !important
+}
+
+.amber-text.text-accent-1 {
+    color: #ffe57f !important
+}
+
+.amber.accent-2 {
+    background-color: #ffd740 !important
+}
+
+.amber-text.text-accent-2 {
+    color: #ffd740 !important
+}
+
+.amber.accent-3 {
+    background-color: #ffc400 !important
+}
+
+.amber-text.text-accent-3 {
+    color: #ffc400 !important
+}
+
+.amber.accent-4 {
+    background-color: #ffab00 !important
+}
+
+.amber-text.text-accent-4 {
+    color: #ffab00 !important
+}
+
+.orange.lighten-5 {
+    background-color: #fff3e0 !important
+}
+
+.orange-text.text-lighten-5 {
+    color: #fff3e0 !important
+}
+
+.orange.lighten-4 {
+    background-color: #ffe0b2 !important
+}
+
+.orange-text.text-lighten-4 {
+    color: #ffe0b2 !important
+}
+
+.orange.lighten-3 {
+    background-color: #ffcc80 !important
+}
+
+.orange-text.text-lighten-3 {
+    color: #ffcc80 !important
+}
+
+.orange.lighten-2 {
+    background-color: #ffb74d !important
+}
+
+.orange-text.text-lighten-2 {
+    color: #ffb74d !important
+}
+
+.orange.lighten-1 {
+    background-color: #ffa726 !important
+}
+
+.orange-text.text-lighten-1 {
+    color: #ffa726 !important
+}
+
+.orange {
+    background-color: #ff9800 !important
+}
+
+.orange-text {
+    color: #ff9800 !important
+}
+
+.orange.darken-1 {
+    background-color: #fb8c00 !important
+}
+
+.orange-text.text-darken-1 {
+    color: #fb8c00 !important
+}
+
+.orange.darken-2 {
+    background-color: #f57c00 !important
+}
+
+.orange-text.text-darken-2 {
+    color: #f57c00 !important
+}
+
+.orange.darken-3 {
+    background-color: #ef6c00 !important
+}
+
+.orange-text.text-darken-3 {
+    color: #ef6c00 !important
+}
+
+.orange.darken-4 {
+    background-color: #e65100 !important
+}
+
+.orange-text.text-darken-4 {
+    color: #e65100 !important
+}
+
+.orange.accent-1 {
+    background-color: #ffd180 !important
+}
+
+.orange-text.text-accent-1 {
+    color: #ffd180 !important
+}
+
+.orange.accent-2 {
+    background-color: #ffab40 !important
+}
+
+.orange-text.text-accent-2 {
+    color: #ffab40 !important
+}
+
+.orange.accent-3 {
+    background-color: #ff9100 !important
+}
+
+.orange-text.text-accent-3 {
+    color: #ff9100 !important
+}
+
+.orange.accent-4 {
+    background-color: #ff6d00 !important
+}
+
+.orange-text.text-accent-4 {
+    color: #ff6d00 !important
+}
+
+.deep-orange.lighten-5 {
+    background-color: #fbe9e7 !important
+}
+
+.deep-orange-text.text-lighten-5 {
+    color: #fbe9e7 !important
+}
+
+.deep-orange.lighten-4 {
+    background-color: #ffccbc !important
+}
+
+.deep-orange-text.text-lighten-4 {
+    color: #ffccbc !important
+}
+
+.deep-orange.lighten-3 {
+    background-color: #ffab91 !important
+}
+
+.deep-orange-text.text-lighten-3 {
+    color: #ffab91 !important
+}
+
+.deep-orange.lighten-2 {
+    background-color: #ff8a65 !important
+}
+
+.deep-orange-text.text-lighten-2 {
+    color: #ff8a65 !important
+}
+
+.deep-orange.lighten-1 {
+    background-color: #ff7043 !important
+}
+
+.deep-orange-text.text-lighten-1 {
+    color: #ff7043 !important
+}
+
+.deep-orange {
+    background-color: #ff5722 !important
+}
+
+.deep-orange-text {
+    color: #ff5722 !important
+}
+
+.deep-orange.darken-1 {
+    background-color: #f4511e !important
+}
+
+.deep-orange-text.text-darken-1 {
+    color: #f4511e !important
+}
+
+.deep-orange.darken-2 {
+    background-color: #e64a19 !important
+}
+
+.deep-orange-text.text-darken-2 {
+    color: #e64a19 !important
+}
+
+.deep-orange.darken-3 {
+    background-color: #d84315 !important
+}
+
+.deep-orange-text.text-darken-3 {
+    color: #d84315 !important
+}
+
+.deep-orange.darken-4 {
+    background-color: #bf360c !important
+}
+
+.deep-orange-text.text-darken-4 {
+    color: #bf360c !important
+}
+
+.deep-orange.accent-1 {
+    background-color: #ff9e80 !important
+}
+
+.deep-orange-text.text-accent-1 {
+    color: #ff9e80 !important
+}
+
+.deep-orange.accent-2 {
+    background-color: #ff6e40 !important
+}
+
+.deep-orange-text.text-accent-2 {
+    color: #ff6e40 !important
+}
+
+.deep-orange.accent-3 {
+    background-color: #ff3d00 !important
+}
+
+.deep-orange-text.text-accent-3 {
+    color: #ff3d00 !important
+}
+
+.deep-orange.accent-4 {
+    background-color: #dd2c00 !important
+}
+
+.deep-orange-text.text-accent-4 {
+    color: #dd2c00 !important
+}
+
+.brown.lighten-5 {
+    background-color: #efebe9 !important
+}
+
+.brown-text.text-lighten-5 {
+    color: #efebe9 !important
+}
+
+.brown.lighten-4 {
+    background-color: #d7ccc8 !important
+}
+
+.brown-text.text-lighten-4 {
+    color: #d7ccc8 !important
+}
+
+.brown.lighten-3 {
+    background-color: #bcaaa4 !important
+}
+
+.brown-text.text-lighten-3 {
+    color: #bcaaa4 !important
+}
+
+.brown.lighten-2 {
+    background-color: #a1887f !important
+}
+
+.brown-text.text-lighten-2 {
+    color: #a1887f !important
+}
+
+.brown.lighten-1 {
+    background-color: #8d6e63 !important
+}
+
+.brown-text.text-lighten-1 {
+    color: #8d6e63 !important
+}
+
+.brown {
+    background-color: #795548 !important
+}
+
+.brown-text {
+    color: #795548 !important
+}
+
+.brown.darken-1 {
+    background-color: #6d4c41 !important
+}
+
+.brown-text.text-darken-1 {
+    color: #6d4c41 !important
+}
+
+.brown.darken-2 {
+    background-color: #5d4037 !important
+}
+
+.brown-text.text-darken-2 {
+    color: #5d4037 !important
+}
+
+.brown.darken-3 {
+    background-color: #4e342e !important
+}
+
+.brown-text.text-darken-3 {
+    color: #4e342e !important
+}
+
+.brown.darken-4 {
+    background-color: #3e2723 !important
+}
+
+.brown-text.text-darken-4 {
+    color: #3e2723 !important
+}
+
+.blue-grey.lighten-5 {
+    background-color: #eceff1 !important
+}
+
+.blue-grey-text.text-lighten-5 {
+    color: #eceff1 !important
+}
+
+.blue-grey.lighten-4 {
+    background-color: #cfd8dc !important
+}
+
+.blue-grey-text.text-lighten-4 {
+    color: #cfd8dc !important
+}
+
+.blue-grey.lighten-3 {
+    background-color: #b0bec5 !important
+}
+
+.blue-grey-text.text-lighten-3 {
+    color: #b0bec5 !important
+}
+
+.blue-grey.lighten-2 {
+    background-color: #90a4ae !important
+}
+
+.blue-grey-text.text-lighten-2 {
+    color: #90a4ae !important
+}
+
+.blue-grey.lighten-1 {
+    background-color: #78909c !important
+}
+
+.blue-grey-text.text-lighten-1 {
+    color: #78909c !important
+}
+
+.blue-grey {
+    background-color: #607d8b !important
+}
+
+.blue-grey-text {
+    color: #607d8b !important
+}
+
+.blue-grey.darken-1 {
+    background-color: #546e7a !important
+}
+
+.blue-grey-text.text-darken-1 {
+    color: #546e7a !important
+}
+
+.blue-grey.darken-2 {
+    background-color: #455a64 !important
+}
+
+.blue-grey-text.text-darken-2 {
+    color: #455a64 !important
+}
+
+.blue-grey.darken-3 {
+    background-color: #37474f !important
+}
+
+.blue-grey-text.text-darken-3 {
+    color: #37474f !important
+}
+
+.blue-grey.darken-4 {
+    background-color: #263238 !important
+}
+
+.blue-grey-text.text-darken-4 {
+    color: #263238 !important
+}
+
+.grey.lighten-5 {
+    background-color: #fafafa !important
+}
+
+.grey-text.text-lighten-5 {
+    color: #fafafa !important
+}
+
+.grey.lighten-4 {
+    background-color: #f5f5f5 !important
+}
+
+.grey-text.text-lighten-4 {
+    color: #f5f5f5 !important
+}
+
+.grey.lighten-3 {
+    background-color: #eee !important
+}
+
+.grey-text.text-lighten-3 {
+    color: #eee !important
+}
+
+.grey.lighten-2 {
+    background-color: #e0e0e0 !important
+}
+
+.grey-text.text-lighten-2 {
+    color: #e0e0e0 !important
+}
+
+.grey.lighten-1 {
+    background-color: #bdbdbd !important
+}
+
+.grey-text.text-lighten-1 {
+    color: #bdbdbd !important
+}
+
+.grey {
+    background-color: #9e9e9e !important
+}
+
+.grey-text {
+    color: #9e9e9e !important
+}
+
+.grey.darken-1 {
+    background-color: #757575 !important
+}
+
+.grey-text.text-darken-1 {
+    color: #757575 !important
+}
+
+.grey.darken-2 {
+    background-color: #616161 !important
+}
+
+.grey-text.text-darken-2 {
+    color: #616161 !important
+}
+
+.grey.darken-3 {
+    background-color: #424242 !important
+}
+
+.grey-text.text-darken-3 {
+    color: #424242 !important
+}
+
+.grey.darken-4 {
+    background-color: #212121 !important
+}
+
+.grey-text.text-darken-4 {
+    color: #212121 !important
+}
+
+.shades.black {
+    background-color: #000 !important
+}
+
+.shades-text.text-black {
+    color: #000 !important
+}
+
+.shades.white {
+    background-color: #FFF !important
+}
+
+.shades-text.text-white {
+    color: #FFF !important
+}
+
+.shades.transparent {
+    background-color: transparent !important
+}
+
+.shades-text.text-transparent {
+    color: transparent !important
+}
+
+.black {
+    background-color: #000 !important
+}
+
+.black-text {
+    color: #000 !important
+}
+
+.white {
+    background-color: #FFF !important
+}
+
+.white-text {
+    color: #FFF !important
+}
+
+.transparent {
+    background-color: transparent !important
+}
+
+.transparent-text {
+    color: transparent !important
+}
+
+.danger-color {
+    background-color: #f44 !important
+}
+
+.danger-color-dark {
+    background-color: #C00 !important
+}
+
+.warning-color {
+    background-color: #fb3 !important
+}
+
+.warning-color-dark {
+    background-color: #F80 !important
+}
+
+.success-color {
+    background-color: #00C851 !important
+}
+
+.success-color-dark {
+    background-color: #007E33 !important
+}
+
+.info-color {
+    background-color: #33b5e5 !important
+}
+
+.info-color-dark {
+    background-color: #09C !important
+}
+
+.default-color {
+    background-color: #2BBBAD !important
+}
+
+.default-color-dark {
+    background-color: #00695c !important
+}
+
+.primary-color {
+    background-color: #4285F4 !important
+}
+
+.primary-color-dark {
+    background-color: #0d47a1 !important
+}
+
+.secondary-color {
+    background-color: #a6c !important
+}
+
+.secondary-color-dark {
+    background-color: #93C !important
+}
+
+.elegant-color {
+    background-color: #2E2E2E !important
+}
+
+.elegant-color-dark {
+    background-color: #212121 !important
+}
+
+.stylish-color {
+    background-color: #4B515D !important
+}
+
+.stylish-color-dark {
+    background-color: #3E4551 !important
+}
+
+.special-color {
+    background-color: #37474F !important
+}
+
+.special-color-dark {
+    background-color: #263238 !important
+}
+
+.unique-color {
+    background-color: #3F729B !important
+}
+
+.unique-color-dark {
+    background-color: #1C2331 !important
+}
+
+.mdb-color {
+    background-color: #45526E !important
+}
+
+.rgba-blue-light {
+    background-color: rgba(3, 169, 244, .3) !important
+}
+
+.rgba-red-light {
+    background-color: rgba(244, 67, 54, .3) !important
+}
+
+.rgba-pink-light {
+    background-color: rgba(233, 30, 99, .3) !important
+}
+
+.rgba-purple-light {
+    background-color: rgba(156, 39, 176, .3) !important
+}
+
+.rgba-indigo-light {
+    background-color: rgba(63, 81, 181, .3) !important
+}
+
+.rgba-cyan-light {
+    background-color: rgba(0, 188, 212, .3) !important
+}
+
+.rgba-teal-light {
+    background-color: rgba(0, 150, 136, .3) !important
+}
+
+.rgba-green-light {
+    background-color: rgba(76, 175, 80, .3) !important
+}
+
+.rgba-lime-light {
+    background-color: rgba(205, 220, 57, .3) !important
+}
+
+.rgba-yellow-light {
+    background-color: rgba(255, 235, 59, .3) !important
+}
+
+.rgba-orange-light {
+    background-color: rgba(255, 152, 0, .3) !important
+}
+
+.rgba-brown-light {
+    background-color: rgba(121, 85, 72, .3) !important
+}
+
+.rgba-grey-light {
+    background-color: rgba(158, 158, 158, .3) !important
+}
+
+.rgba-bluegrey-light {
+    background-color: rgba(96, 125, 139, .3) !important
+}
+
+.rgba-black-light {
+    background-color: rgba(0, 0, 0, .3) !important
+}
+
+.rgba-stylish-light {
+    background-color: rgba(62, 69, 81, .3) !important
+}
+
+.rgba-white-light {
+    background-color: rgba(255, 255, 255, .3) !important
+}
+
+.rgba-blue-strong {
+    background-color: rgba(3, 169, 244, .7) !important
+}
+
+.rgba-red-strong {
+    background-color: rgba(244, 67, 54, .7) !important
+}
+
+.rgba-pink-strong {
+    background-color: rgba(233, 30, 99, .7) !important
+}
+
+.rgba-purple-strong {
+    background-color: rgba(156, 39, 176, .7) !important
+}
+
+.rgba-indigo-strong {
+    background-color: rgba(63, 81, 181, .7) !important
+}
+
+.rgba-cyan-strong {
+    background-color: rgba(0, 188, 212, .7) !important
+}
+
+.rgba-teal-strong {
+    background-color: rgba(0, 150, 136, .7) !important
+}
+
+.rgba-green-strong {
+    background-color: rgba(76, 175, 80, .7) !important
+}
+
+.rgba-lime-strong {
+    background-color: rgba(205, 220, 57, .7) !important
+}
+
+.rgba-yellow-strong {
+    background-color: rgba(255, 235, 59, .7) !important
+}
+
+.rgba-orange-strong {
+    background-color: rgba(255, 152, 0, .7) !important
+}
+
+.rgba-brown-strong {
+    background-color: rgba(121, 85, 72, .7) !important
+}
+
+.rgba-grey-strong {
+    background-color: rgba(158, 158, 158, .7) !important
+}
+
+.rgba-bluegrey-strong {
+    background-color: rgba(96, 125, 139, .7) !important
+}
+
+.rgba-black-strong {
+    background-color: rgba(0, 0, 0, .7) !important
+}
+
+.rgba-stylish-strong {
+    background-color: rgba(62, 69, 81, .7) !important
+}
+
+.rgba-white-strong {
+    background-color: rgba(255, 255, 255, .7) !important
+}
+
+.rgba-blue-slight {
+    background-color: rgba(3, 169, 244, .1) !important
+}
+
+.rgba-red-slight {
+    background-color: rgba(244, 67, 54, .1) !important
+}
+
+.rgba-pink-slight {
+    background-color: rgba(233, 30, 99, .1) !important
+}
+
+.rgba-purple-slight {
+    background-color: rgba(156, 39, 176, .1) !important
+}
+
+.rgba-indigo-slight {
+    background-color: rgba(63, 81, 181, .1) !important
+}
+
+.rgba-cyan-slight {
+    background-color: rgba(0, 188, 212, .1) !important
+}
+
+.rgba-teal-slight {
+    background-color: rgba(0, 150, 136, .1) !important
+}
+
+.rgba-green-slight {
+    background-color: rgba(76, 175, 80, .1) !important
+}
+
+.rgba-lime-slight {
+    background-color: rgba(205, 220, 57, .1) !important
+}
+
+.rgba-yellow-slight {
+    background-color: rgba(255, 235, 59, .1) !important
+}
+
+.rgba-orange-slight {
+    background-color: rgba(255, 152, 0, .1) !important
+}
+
+.rgba-brown-slight {
+    background-color: rgba(121, 85, 72, .1) !important
+}
+
+.rgba-grey-slight {
+    background-color: rgba(158, 158, 158, .1) !important
+}
+
+.rgba-bluegrey-slight {
+    background-color: rgba(96, 125, 139, .1) !important
+}
+
+.rgba-black-slight {
+    background-color: rgba(0, 0, 0, .1) !important
+}
+
+.rgba-stylish-slight {
+    background-color: rgba(62, 69, 81, .1) !important
+}
+
+.rgba-white-slight {
+    background-color: rgba(255, 255, 255, .1) !important
+}
+
+.blue-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #062a64 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #062a64 100%);
+    background: linear-gradient(135deg, #000 0, #062a64 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#062a64', GradientType=1 )
+}
+
+.red-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #7d0000 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #7d0000 100%);
+    background: linear-gradient(135deg, #000 0, #7d0000 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#7d0000', GradientType=1 )
+}
+
+.green-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #003830 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #003830 100%);
+    background: linear-gradient(135deg, #000 0, #003830 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#003830', GradientType=1 )
+}
+
+.purple-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #650696 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #650696 100%);
+    background: linear-gradient(135deg, #000 0, #650696 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#650696', GradientType=1 )
+}
+
+.dark-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #2e2e2e 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #2e2e2e 100%);
+    background: linear-gradient(135deg, #000 0, #2e2e2e 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#2e2e2e', GradientType=1 )
+}
+
+.grey-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #4b515d 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #4b515d 100%);
+    background: linear-gradient(135deg, #000 0, #4b515d 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#4b515d', GradientType=1 )
+}
+
+.mdb-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #3f729b 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #3f729b 100%);
+    background: linear-gradient(135deg, #000 0, #3f729b 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#3f729b', GradientType=1 )
+}
+
+.deep-orange-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #8a1a00 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #8a1a00 100%);
+    background: linear-gradient(135deg, #000 0, #8a1a00 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#8a1a00', GradientType=1 )
+}
+
+.graphite-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #37474f 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #37474f 100%);
+    background: linear-gradient(135deg, #000 0, #37474f 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#37474f', GradientType=1 )
+}
+
+.pink-gradient {
+    background: #000;
+    background: -moz-linear-gradient(-45deg, #000 0, #880e4f 100%);
+    background: -webkit-linear-gradient(-45deg, #000 0, #880e4f 100%);
+    background: linear-gradient(135deg, #000 0, #880e4f 100%);
+    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#880e4f', GradientType=1 )
+}
+
+.parallax, .video-full {
+    background-size: cover
+}
+
+.section .map-container img, .z-depth-0 {
+    box-shadow: none !important
+}
+
+.badge, .btn, .card, .chip, .dropdown-menu, .jumbotron, .list-group,
+.navbar, .pager li a, .pagination .active .page-link, .popover, .z-depth-1 {
+    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12)
+}
+
+.btn-amber.active, .btn-blue-grey.active, .btn-brown.active, .btn-cyan.active,
+.btn-danger.active, .btn-dark-green.active, .btn-deep-orange.active,
+.btn-deep-purple.active, .btn-default.active, .btn-elegant.active,
+.btn-indigo.active, .btn-info.active, .btn-light-green.active, .btn-lime.active,
+.btn-mdb.active, .btn-orange.active, .btn-pink.active, .btn-primary.active,
+.btn-purple.active, .btn-secondary.active, .btn-secondary.dropdown-toggle,
+.btn-success.active, .btn-unique.active, .btn-warning.active, .btn-yellow.active,
+.btn.active, .btn:active, .btn:focus, .btn:hover, .media .media-left img,
+.pager li a:hover, .section .view, .section img, .tooltip .tooltip-inner,
+.z-depth-1-half, ul.instagram-photos li img {
+    box-shadow: 0 5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15)
+}
+
+.section .jumbotron, .z-depth-2 {
+    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19)
+}
+
+.z-depth-3 {
+    box-shadow: 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19)
+}
+
+.z-depth-4 {
+    box-shadow: 0 16px 28px 0 rgba(0, 0, 0, .22), 0 25px 55px 0 rgba(0, 0, 0, .21)
+}
+
+.z-depth-5 {
+    box-shadow: 0 27px 24px 0 rgba(0, 0, 0, .2), 0 40px 77px 0 rgba(0, 0, 0, .22)
+}
+
+.hoverable {
+    transition: box-shadow .55s;
+    box-shadow: 0
+}
+
+.hoverable:hover {
+    transition: box-shadow .45s;
+    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19)
+}
+
+a {
+    color: #0275d8;
+    cursor: pointer
+}
+
+ul {
+    padding: 0
+}
+
+.alert, .badge, .breadcrumb, .card, .card .card-header, .dropdown-menu,
+.file-custom, .input-group-addon, .jumbotron, .list-group .list-group-item,
+.modal-content, .nav .nav-link, .nav-tabs, .navbar, .navbar-toggler,
+.page-item:first-child .page-link, .page-item:last-child .page-link,
+.pagination-lg .page-item:first-child .page-link, .pagination-lg .page-item:last-child .page-link,
+.pagination-sm .page-item:first-child .page-link, .pagination-sm .page-item:last-child .page-link,
+.popover, .tooltip-inner, img {
+    -webkit-border-radius: 2px;
+    -moz-border-radius: 2px;
+    -ms-border-radius: 2px;
+    -o-border-radius: 2px;
+    border-radius: 2px
+}
+
+.dropdown-menu, .input-group-addon, .pagination .page-item .page-link,
+.popover {
+    border: 0
+}
+
+.pagination .active .page-link {
+    border-radius: 2px;
+    transition: all .2s linear
+}
+
+.pagination .page-link, .pagination .page-link:hover {
+    transition: all .3s linear
+}
+
+.pagination .page-link:focus {
+    background-color: transparent
+}
+
+.pagination.pg-blue .active .page-link {
+    background-color: #4285F4
+}
+
+.pagination.pg-red .active .page-link {
+    background-color: #f44
+}
+
+.pagination.pg-teal .active .page-link {
+    background-color: #2BBBAD
+}
+
+.pagination.pg-darkgrey .active .page-link {
+    background-color: #37474F
+}
+
+.pagination.pg-dark .active .page-link {
+    background-color: #2E2E2E
+}
+
+.pagination.pg-bluegrey .active .page-link {
+    background-color: #3F729B
+}
+
+.pagination.pg-amber .active .page-link {
+    background-color: #ff6f00
+}
+
+.pagination.pg-purple .active .page-link {
+    background-color: #5e35b1
+}
+
+.pager .disabled > a, .pager a {
+    color: #fff
+}
+
+.pager.pg-blue li a {
+    background-color: #4285F4
+}
+
+.pager.pg-blue li a:focus, .pager.pg-blue li a:hover {
+    background-color: #4285F4;
+    color: #fff
+}
+
+.pager.pg-red li a {
+    background-color: #f44
+}
+
+.pager.pg-red li a:focus, .pager.pg-red li a:hover {
+    background-color: #f44;
+    color: #fff
+}
+
+.pager.pg-teal li a {
+    background-color: #2BBBAD
+}
+
+.pager.pg-teal li a:focus, .pager.pg-teal li a:hover {
+    background-color: #2BBBAD;
+    color: #fff
+}
+
+.pager.pg-darkgrey li a {
+    background-color: #37474F
+}
+
+.pager.pg-darkgrey li a:focus, .pager.pg-darkgrey li a:hover {
+    background-color: #37474F;
+    color: #fff
+}
+
+.pager.pg-dark li a {
+    background-color: #2E2E2E
+}
+
+.pager.pg-dark li a:focus, .pager.pg-dark li a:hover {
+    background-color: #2E2E2E;
+    color: #fff
+}
+
+.pager.pg-bluegrey li a {
+    background-color: #3F729B
+}
+
+.pager.pg-bluegrey li a:focus, .pager.pg-bluegrey li a:hover {
+    background-color: #3F729B;
+    color: #fff
+}
+
+.pager.pg-amber li a {
+    background-color: #ff6f00
+}
+
+.pager.pg-amber li a:focus, .pager.pg-amber li a:hover {
+    background-color: #ff6f00;
+    color: #fff
+}
+
+.pager.pg-purple li a {
+    background-color: #5e35b1
+}
+
+.pager.pg-purple li a:focus, .pager.pg-purple li a:hover {
+    background-color: #5e35b1;
+    color: #fff
+}
+
+.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover {
+    background-color: inerhit !important
+}
+
+.modal-footer .btn + .btn {
+    margin-bottom: 6px
+}
+
+body.modal-open {
+    overflow: inherit;
+    padding-right: 0 !important
+}
+
+body {
+    overflow: auto !important;
+    font-family: Roboto, sans-serif
+}
+
+.card-columns .card {
+    margin: 2px
+}
+
+.parallax {
+    background-repeat: no-repeat;
+    background-attachment: fixed;
+    position: relative;
+    padding-top: 3em;
+    padding-bottom: 3em
+}
+
+.nav-pills.horizontal-spy .nav-item .active {
+    border-bottom: 2px solid #45526E;
+    border-left: none
+}
+
+.nav-pills.horizontal-spy .nav-item:hover {
+    background-color: transparent;
+    color: #45526E;
+    font-weight: 500;
+    border-left: none
+}
+
+.card-block h3, .card-block h5 {
+    margin-bottom: 1rem;
+    font-weight: 400
+}
+
+.nav-pills .nav-item.open .nav-link, .nav-pills .nav-item.open .nav-link:focus,
+.nav-pills .nav-item.open .nav-link:hover, .nav-pills .nav-link.active,
+.nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover {
+    background-color: transparent;
+    color: #000
+}
+
+.disabled {
+    cursor: not-allowed !important
+}
+
+.video-fluid {
+    height: auto;
+    width: 100%
+}
+
+.video-full {
+    position: fixed;
+    top: 50%;
+    left: 50%;
+    min-width: 100%;
+    min-height: 100%;
+    width: auto;
+    height: auto;
+    z-index: -100;
+    -ms-transform: translateX(-50%) translateY(-50%);
+    -moz-transform: translateX(-50%) translateY(-50%);
+    -webkit-transform: translateX(-50%) translateY(-50%);
+    transform: translateX(-50%) translateY(-50%)
+}
+
+.media .media-left {
+    padding: 0 10px 10px 0
+}
+
+.card-block h5 {
+    font-size: 1rem
+}
+
+.divider-new, .text-fluid, h1, h2, h3, h4, h5, h6 {
+    font-weight: 300
+}
+
+.card-block p {
+    margin-bottom: 1rem
+}
+
+.tooltip .tooltip-inner {
+    padding: .4rem .8rem
+}
+
+section {
+    -webkit-flex: 0 0 100%;
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%
+}
+
+@font-face {
+    font-family: Roboto;
+    src: local(Roboto Thin), url(../font/roboto/Roboto-Thin.eot);
+    src: url(../font/roboto/Roboto-Thin.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Thin.woff2) format("woff2"), url(../font/roboto/Roboto-Thin.woff) format("woff"), url(../font/roboto/Roboto-Thin.ttf) format("truetype");
+    font-weight: 200
+}
+
+@font-face {
+    font-family: Roboto;
+    src: local(Roboto Light), url(../font/roboto/Roboto-Light.eot);
+    src: url(../font/roboto/Roboto-Light.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Light.woff2) format("woff2"), url(../font/roboto/Roboto-Light.woff) format("woff"), url(../font/roboto/Roboto-Light.ttf) format("truetype");
+    font-weight: 300
+}
+
+@font-face {
+    font-family: Roboto;
+    src: local(Roboto Regular), url(../font/roboto/Roboto-Regular.eot);
+    src: url(../font/roboto/Roboto-Regular.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Regular.woff2) format("woff2"), url(../font/roboto/Roboto-Regular.woff) format("woff"), url(../font/roboto/Roboto-Regular.ttf) format("truetype");
+    font-weight: 400
+}
+
+@font-face {
+    font-family: Roboto;
+    src: url(../font/roboto/Roboto-Medium.eot);
+    src: url(../font/roboto/Roboto-Medium.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Medium.woff2) format("woff2"), url(../font/roboto/Roboto-Medium.woff) format("woff"), url(../font/roboto/Roboto-Medium.ttf) format("truetype");
+    font-weight: 500
+}
+
+@font-face {
+    font-family: Roboto;
+    src: url(../font/roboto/Roboto-Bold.eot);
+    src: url(../font/roboto/Roboto-Bold.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Bold.woff2) format("woff2"), url(../font/roboto/Roboto-Bold.woff) format("woff"), url(../font/roboto/Roboto-Bold.ttf) format("truetype");
+    font-weight: 700
+}
+
+@media only screen and (min-width:0) {
+    html {
+        font-size: 15px
+    }
+}
+
+@media only screen and (min-width:992px) {
+    html {
+        font-size: 15.5px
+    }
+}
+
+@media only screen and (min-width:1200px) {
+    html {
+        font-size: 16px
+    }
+}
+
+@media only screen and (min-width:360px) {
+    .text-fluid {
+        font-size: 1.2rem
+    }
+}
+
+@media only screen and (min-width:390px) {
+    .text-fluid {
+        font-size: 1.224rem
+    }
+}
+
+@media only screen and (min-width:420px) {
+    .text-fluid {
+        font-size: 1.248rem
+    }
+}
+
+@media only screen and (min-width:450px) {
+    .text-fluid {
+        font-size: 1.272rem
+    }
+}
+
+@media only screen and (min-width:480px) {
+    .text-fluid {
+        font-size: 1.296rem
+    }
+}
+
+@media only screen and (min-width:510px) {
+    .text-fluid {
+        font-size: 1.32rem
+    }
+}
+
+@media only screen and (min-width:540px) {
+    .text-fluid {
+        font-size: 1.344rem
+    }
+}
+
+@media only screen and (min-width:570px) {
+    .text-fluid {
+        font-size: 1.368rem
+    }
+}
+
+@media only screen and (min-width:600px) {
+    .text-fluid {
+        font-size: 1.392rem
+    }
+}
+
+@media only screen and (min-width:630px) {
+    .text-fluid {
+        font-size: 1.416rem
+    }
+}
+
+@media only screen and (min-width:660px) {
+    .text-fluid {
+        font-size: 1.44rem
+    }
+}
+
+@media only screen and (min-width:690px) {
+    .text-fluid {
+        font-size: 1.464rem
+    }
+}
+
+@media only screen and (min-width:720px) {
+    .text-fluid {
+        font-size: 1.488rem
+    }
+}
+
+@media only screen and (min-width:750px) {
+    .text-fluid {
+        font-size: 1.512rem
+    }
+}
+
+@media only screen and (min-width:780px) {
+    .text-fluid {
+        font-size: 1.536rem
+    }
+}
+
+@media only screen and (min-width:810px) {
+    .text-fluid {
+        font-size: 1.56rem
+    }
+}
+
+@media only screen and (min-width:840px) {
+    .text-fluid {
+        font-size: 1.584rem
+    }
+}
+
+@media only screen and (min-width:870px) {
+    .text-fluid {
+        font-size: 1.608rem
+    }
+}
+
+@media only screen and (min-width:900px) {
+    .text-fluid {
+        font-size: 1.632rem
+    }
+}
+
+@media only screen and (min-width:930px) {
+    .text-fluid {
+        font-size: 1.656rem
+    }
+}
+
+@media only screen and (min-width:960px) {
+    .text-fluid {
+        font-size: 1.68rem
+    }
+}
+
+@media only screen and (max-width:360px) {
+    .text-fluid {
+        font-size: 1.2rem
+    }
+}
+
+p.lead {
+    font-weight: 400
+}
+
+blockquote p {
+    font-size: .9rem;
+    padding-left: 2rem;
+    padding-top: 1rem;
+    padding-bottom: 1rem
+}
+
+@media only screen and (max-width:768px) {
+    .h1-responsive, .section .section-heading {
+        font-size: 150%;
+        font-weight: 500
+    }
+
+    .h2-responsive {
+        font-size: 145%
+    }
+
+    .h3-responsive, .h4-responsive, .h5-responsive {
+        font-size: 135%
+    }
+}
+
+@media only screen and (min-width:768px) {
+    .h1-responsive, .section .section-heading {
+        font-size: 170%
+    }
+
+    .h2-responsive {
+        font-size: 140%
+    }
+
+    .h3-responsive, .h4-responsive, .h5-responsive {
+        font-size: 125%
+    }
+}
+
+@media only screen and (min-width:992px) {
+    .h1-responsive, .section .section-heading {
+        font-size: 200%
+    }
+
+    .h2-responsive {
+        font-size: 170%
+    }
+
+    .h3-responsive {
+        font-size: 140%
+    }
+
+    .h4-responsive, .h5-responsive {
+        font-size: 125%
+    }
+}
+
+@media only screen and (min-width:1200px) {
+    .h1-responsive, .section .section-heading {
+        font-size: 250%
+    }
+
+    .h2-responsive {
+        font-size: 200%
+    }
+
+    .h3-responsive {
+        font-size: 170%
+    }
+
+    .h4-responsive {
+        font-size: 140%
+    }
+
+    .h5-responsive {
+        font-size: 125%
+    }
+}
+
+.section {
+    margin-bottom: 2rem
+}
+
+.section .section-heading {
+    margin-top: 2rem;
+    margin-bottom: 4rem
+}
+
+.section .section-description {
+    color: #757575;
+    margin-bottom: 4rem;
+    margin-left: 15%;
+    margin-right: 15%;
+    text-align: center
+}
+
+@media (max-width:992px) {
+    .section .section-description {
+        margin-left: 5%;
+        margin-right: 5%
+    }
+}
+
+.section.extra-margins a, .section.extra-margins h4, .section.extra-margins h5 {
+    margin-bottom: 1rem
+}
+
+.section h4 {
+    font-weight: 400
+}
+
+.section h5 .fa {
+    margin-right: 8px
+}
+
+.section hr {
+    margin-top: 1rem;
+    margin-bottom: 3rem
+}
+
+@media (min-width:992px) {
+    .section hr {
+        display: none
+    }
+}
+
+.section .contact-icons {
+    text-align: center
+}
+
+.section .contact-icons li {
+    margin-bottom: 2.2rem
+}
+
+.section .contact-icons .fa {
+    font-size: 2.2rem;
+    margin-bottom: .6rem;
+    color: #424242
+}
+
+.between-sections {
+    margin-bottom: 4rem
+}
+
+/*!
+ * animate.css -http://daneden.me/animate
+ * Version - 3.5.1
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2016 Daniel Eden
+ */
+.animated {
+    -webkit-animation-duration: 1s;
+    animation-duration: 1s;
+    -webkit-animation-fill-mode: both;
+    animation-fill-mode: both
+}
+
+.animated.infinite {
+    -webkit-animation-iteration-count: infinite;
+    animation-iteration-count: infinite
+}
+
+.animated.hinge {
+    -webkit-animation-duration: 2s;
+    animation-duration: 2s
+}
+
+.animated.bounceIn, .animated.bounceOut, .animated.flipOutX, .animated.flipOutY {
+    -webkit-animation-duration: .75s;
+    animation-duration: .75s
+}
+
+@-webkit-keyframes bounce {
+    20%, 53%, 80%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    40%, 43% {
+        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        -webkit-transform: translate3d(0, -30px, 0);
+        transform: translate3d(0, -30px, 0)
+    }
+
+    70% {
+        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        -webkit-transform: translate3d(0, -15px, 0);
+        transform: translate3d(0, -15px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, -4px, 0);
+        transform: translate3d(0, -4px, 0)
+    }
+}
+
+@keyframes bounce {
+    20%, 53%, 80%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    40%, 43% {
+        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        -webkit-transform: translate3d(0, -30px, 0);
+        transform: translate3d(0, -30px, 0)
+    }
+
+    70% {
+        -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+        -webkit-transform: translate3d(0, -15px, 0);
+        transform: translate3d(0, -15px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, -4px, 0);
+        transform: translate3d(0, -4px, 0)
+    }
+}
+
+.bounce {
+    -webkit-animation-name: bounce;
+    animation-name: bounce;
+    -webkit-transform-origin: center bottom;
+    -ms-transform-origin: center bottom;
+    transform-origin: center bottom
+}
+
+@-webkit-keyframes flash {
+    50%, from, to {
+        opacity: 1
+    }
+
+    25%, 75% {
+        opacity: 0
+    }
+}
+
+@keyframes flash {
+    50%, from, to {
+        opacity: 1
+    }
+
+    25%, 75% {
+        opacity: 0
+    }
+}
+
+.flash {
+    -webkit-animation-name: flash;
+    animation-name: flash
+}
+
+@-webkit-keyframes pulse {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    50% {
+        -webkit-transform: scale3d(1.05, 1.05, 1.05);
+        transform: scale3d(1.05, 1.05, 1.05)
+    }
+}
+
+@keyframes pulse {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    50% {
+        -webkit-transform: scale3d(1.05, 1.05, 1.05);
+        transform: scale3d(1.05, 1.05, 1.05)
+    }
+}
+
+.pulse {
+    -webkit-animation-name: pulse;
+    animation-name: pulse
+}
+
+@-webkit-keyframes rubberBand {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    30% {
+        -webkit-transform: scale3d(1.25, .75, 1);
+        transform: scale3d(1.25, .75, 1)
+    }
+
+    40% {
+        -webkit-transform: scale3d(.75, 1.25, 1);
+        transform: scale3d(.75, 1.25, 1)
+    }
+
+    50% {
+        -webkit-transform: scale3d(1.15, .85, 1);
+        transform: scale3d(1.15, .85, 1)
+    }
+
+    65% {
+        -webkit-transform: scale3d(.95, 1.05, 1);
+        transform: scale3d(.95, 1.05, 1)
+    }
+
+    75% {
+        -webkit-transform: scale3d(1.05, .95, 1);
+        transform: scale3d(1.05, .95, 1)
+    }
+}
+
+@keyframes rubberBand {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    30% {
+        -webkit-transform: scale3d(1.25, .75, 1);
+        transform: scale3d(1.25, .75, 1)
+    }
+
+    40% {
+        -webkit-transform: scale3d(.75, 1.25, 1);
+        transform: scale3d(.75, 1.25, 1)
+    }
+
+    50% {
+        -webkit-transform: scale3d(1.15, .85, 1);
+        transform: scale3d(1.15, .85, 1)
+    }
+
+    65% {
+        -webkit-transform: scale3d(.95, 1.05, 1);
+        transform: scale3d(.95, 1.05, 1)
+    }
+
+    75% {
+        -webkit-transform: scale3d(1.05, .95, 1);
+        transform: scale3d(1.05, .95, 1)
+    }
+}
+
+.rubberBand {
+    -webkit-animation-name: rubberBand;
+    animation-name: rubberBand
+}
+
+@-webkit-keyframes shake {
+    from, to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    10%, 30%, 50%, 70%, 90% {
+        -webkit-transform: translate3d(-10px, 0, 0);
+        transform: translate3d(-10px, 0, 0)
+    }
+
+    20%, 40%, 60%, 80% {
+        -webkit-transform: translate3d(10px, 0, 0);
+        transform: translate3d(10px, 0, 0)
+    }
+}
+
+@keyframes shake {
+    from, to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    10%, 30%, 50%, 70%, 90% {
+        -webkit-transform: translate3d(-10px, 0, 0);
+        transform: translate3d(-10px, 0, 0)
+    }
+
+    20%, 40%, 60%, 80% {
+        -webkit-transform: translate3d(10px, 0, 0);
+        transform: translate3d(10px, 0, 0)
+    }
+}
+
+.shake {
+    -webkit-animation-name: shake;
+    animation-name: shake
+}
+
+@-webkit-keyframes headShake {
+    0% {
+        -webkit-transform: translateX(0);
+        transform: translateX(0)
+    }
+
+    6.5% {
+        -webkit-transform: translateX(-6px) rotateY(-9deg);
+        transform: translateX(-6px) rotateY(-9deg)
+    }
+
+    18.5% {
+        -webkit-transform: translateX(5px) rotateY(7deg);
+        transform: translateX(5px) rotateY(7deg)
+    }
+
+    31.5% {
+        -webkit-transform: translateX(-3px) rotateY(-5deg);
+        transform: translateX(-3px) rotateY(-5deg)
+    }
+
+    43.5% {
+        -webkit-transform: translateX(2px) rotateY(3deg);
+        transform: translateX(2px) rotateY(3deg)
+    }
+
+    50% {
+        -webkit-transform: translateX(0);
+        transform: translateX(0)
+    }
+}
+
+@keyframes headShake {
+    0% {
+        -webkit-transform: translateX(0);
+        transform: translateX(0)
+    }
+
+    6.5% {
+        -webkit-transform: translateX(-6px) rotateY(-9deg);
+        transform: translateX(-6px) rotateY(-9deg)
+    }
+
+    18.5% {
+        -webkit-transform: translateX(5px) rotateY(7deg);
+        transform: translateX(5px) rotateY(7deg)
+    }
+
+    31.5% {
+        -webkit-transform: translateX(-3px) rotateY(-5deg);
+        transform: translateX(-3px) rotateY(-5deg)
+    }
+
+    43.5% {
+        -webkit-transform: translateX(2px) rotateY(3deg);
+        transform: translateX(2px) rotateY(3deg)
+    }
+
+    50% {
+        -webkit-transform: translateX(0);
+        transform: translateX(0)
+    }
+}
+
+.headShake {
+    -webkit-animation-timing-function: ease-in-out;
+    animation-timing-function: ease-in-out;
+    -webkit-animation-name: headShake;
+    animation-name: headShake
+}
+
+@-webkit-keyframes swing {
+    20% {
+        -webkit-transform: rotate3d(0, 0, 1, 15deg);
+        transform: rotate3d(0, 0, 1, 15deg)
+    }
+
+    40% {
+        -webkit-transform: rotate3d(0, 0, 1, -10deg);
+        transform: rotate3d(0, 0, 1, -10deg)
+    }
+
+    60% {
+        -webkit-transform: rotate3d(0, 0, 1, 5deg);
+        transform: rotate3d(0, 0, 1, 5deg)
+    }
+
+    80% {
+        -webkit-transform: rotate3d(0, 0, 1, -5deg);
+        transform: rotate3d(0, 0, 1, -5deg)
+    }
+
+    to {
+        -webkit-transform: rotate3d(0, 0, 1, 0deg);
+        transform: rotate3d(0, 0, 1, 0deg)
+    }
+}
+
+@keyframes swing {
+    20% {
+        -webkit-transform: rotate3d(0, 0, 1, 15deg);
+        transform: rotate3d(0, 0, 1, 15deg)
+    }
+
+    40% {
+        -webkit-transform: rotate3d(0, 0, 1, -10deg);
+        transform: rotate3d(0, 0, 1, -10deg)
+    }
+
+    60% {
+        -webkit-transform: rotate3d(0, 0, 1, 5deg);
+        transform: rotate3d(0, 0, 1, 5deg)
+    }
+
+    80% {
+        -webkit-transform: rotate3d(0, 0, 1, -5deg);
+        transform: rotate3d(0, 0, 1, -5deg)
+    }
+
+    to {
+        -webkit-transform: rotate3d(0, 0, 1, 0deg);
+        transform: rotate3d(0, 0, 1, 0deg)
+    }
+}
+
+.swing {
+    -webkit-transform-origin: top center;
+    -ms-transform-origin: top center;
+    transform-origin: top center;
+    -webkit-animation-name: swing;
+    animation-name: swing
+}
+
+@-webkit-keyframes tada {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    10%, 20% {
+        -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
+        transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
+    }
+
+    30%, 50%, 70%, 90% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
+    }
+
+    40%, 60%, 80% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
+    }
+}
+
+@keyframes tada {
+    from, to {
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+
+    10%, 20% {
+        -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
+        transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
+    }
+
+    30%, 50%, 70%, 90% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
+    }
+
+    40%, 60%, 80% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
+    }
+}
+
+.tada {
+    -webkit-animation-name: tada;
+    animation-name: tada
+}
+
+@-webkit-keyframes wobble {
+    from, to {
+        -webkit-transform: none;
+        transform: none
+    }
+
+    15% {
+        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
+    }
+
+    30% {
+        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
+    }
+
+    45% {
+        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
+    }
+
+    60% {
+        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
+    }
+
+    75% {
+        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
+    }
+}
+
+@keyframes wobble {
+    from, to {
+        -webkit-transform: none;
+        transform: none
+    }
+
+    15% {
+        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
+    }
+
+    30% {
+        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
+    }
+
+    45% {
+        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
+    }
+
+    60% {
+        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
+    }
+
+    75% {
+        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
+    }
+}
+
+.wobble {
+    -webkit-animation-name: wobble;
+    animation-name: wobble
+}
+
+@-webkit-keyframes jello {
+    11.1%, from, to {
+        -webkit-transform: none;
+        transform: none
+    }
+
+    22.2% {
+        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+        transform: skewX(-12.5deg) skewY(-12.5deg)
+    }
+
+    33.3% {
+        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+        transform: skewX(6.25deg) skewY(6.25deg)
+    }
+
+    44.4% {
+        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+        transform: skewX(-3.125deg) skewY(-3.125deg)
+    }
+
+    55.5% {
+        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+        transform: skewX(1.5625deg) skewY(1.5625deg)
+    }
+
+    66.6% {
+        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
+        transform: skewX(-.78125deg) skewY(-.78125deg)
+    }
+
+    77.7% {
+        -webkit-transform: skewX(.39063deg) skewY(.39063deg);
+        transform: skewX(.39063deg) skewY(.39063deg)
+    }
+
+    88.8% {
+        -webkit-transform: skewX(-.19531deg) skewY(-.19531deg);
+        transform: skewX(-.19531deg) skewY(-.19531deg)
+    }
+}
+
+@keyframes jello {
+    11.1%, from, to {
+        -webkit-transform: none;
+        transform: none
+    }
+
+    22.2% {
+        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+        transform: skewX(-12.5deg) skewY(-12.5deg)
+    }
+
+    33.3% {
+        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+        transform: skewX(6.25deg) skewY(6.25deg)
+    }
+
+    44.4% {
+        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+        transform: skewX(-3.125deg) skewY(-3.125deg)
+    }
+
+    55.5% {
+        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+        transform: skewX(1.5625deg) skewY(1.5625deg)
+    }
+
+    66.6% {
+        -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
+        transform: skewX(-.78125deg) skewY(-.78125deg)
+    }
+
+    77.7% {
+        -webkit-transform: skewX(.39063deg) skewY(.39063deg);
+        transform: skewX(.39063deg) skewY(.39063deg)
+    }
+
+    88.8% {
+        -webkit-transform: skewX(-.19531deg) skewY(-.19531deg);
+        transform: skewX(-.19531deg) skewY(-.19531deg)
+    }
+}
+
+.jello {
+    -webkit-animation-name: jello;
+    animation-name: jello;
+    -webkit-transform-origin: center;
+    -ms-transform-origin: center;
+    transform-origin: center
+}
+
+@-webkit-keyframes bounceIn {
+    20%, 40%, 60%, 80%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    20% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1);
+        transform: scale3d(1.1, 1.1, 1.1)
+    }
+
+    40% {
+        -webkit-transform: scale3d(.9, .9, .9);
+        transform: scale3d(.9, .9, .9)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(1.03, 1.03, 1.03);
+        transform: scale3d(1.03, 1.03, 1.03)
+    }
+
+    80% {
+        -webkit-transform: scale3d(.97, .97, .97);
+        transform: scale3d(.97, .97, .97)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+}
+
+@keyframes bounceIn {
+    20%, 40%, 60%, 80%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    20% {
+        -webkit-transform: scale3d(1.1, 1.1, 1.1);
+        transform: scale3d(1.1, 1.1, 1.1)
+    }
+
+    40% {
+        -webkit-transform: scale3d(.9, .9, .9);
+        transform: scale3d(.9, .9, .9)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(1.03, 1.03, 1.03);
+        transform: scale3d(1.03, 1.03, 1.03)
+    }
+
+    80% {
+        -webkit-transform: scale3d(.97, .97, .97);
+        transform: scale3d(.97, .97, .97)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: scale3d(1, 1, 1);
+        transform: scale3d(1, 1, 1)
+    }
+}
+
+.bounceIn {
+    -webkit-animation-name: bounceIn;
+    animation-name: bounceIn
+}
+
+@-webkit-keyframes bounceInDown {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -3000px, 0);
+        transform: translate3d(0, -3000px, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, 25px, 0);
+        transform: translate3d(0, 25px, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(0, -10px, 0);
+        transform: translate3d(0, -10px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, 5px, 0);
+        transform: translate3d(0, 5px, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes bounceInDown {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -3000px, 0);
+        transform: translate3d(0, -3000px, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, 25px, 0);
+        transform: translate3d(0, 25px, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(0, -10px, 0);
+        transform: translate3d(0, -10px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, 5px, 0);
+        transform: translate3d(0, 5px, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.bounceInDown {
+    -webkit-animation-name: bounceInDown;
+    animation-name: bounceInDown
+}
+
+@-webkit-keyframes bounceInLeft {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: translate3d(-3000px, 0, 0);
+        transform: translate3d(-3000px, 0, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(25px, 0, 0);
+        transform: translate3d(25px, 0, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(-10px, 0, 0);
+        transform: translate3d(-10px, 0, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(5px, 0, 0);
+        transform: translate3d(5px, 0, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes bounceInLeft {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    0% {
+        opacity: 0;
+        -webkit-transform: translate3d(-3000px, 0, 0);
+        transform: translate3d(-3000px, 0, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(25px, 0, 0);
+        transform: translate3d(25px, 0, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(-10px, 0, 0);
+        transform: translate3d(-10px, 0, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(5px, 0, 0);
+        transform: translate3d(5px, 0, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.bounceInLeft {
+    -webkit-animation-name: bounceInLeft;
+    animation-name: bounceInLeft
+}
+
+@-webkit-keyframes bounceInRight {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(3000px, 0, 0);
+        transform: translate3d(3000px, 0, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(-25px, 0, 0);
+        transform: translate3d(-25px, 0, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(10px, 0, 0);
+        transform: translate3d(10px, 0, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(-5px, 0, 0);
+        transform: translate3d(-5px, 0, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes bounceInRight {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(3000px, 0, 0);
+        transform: translate3d(3000px, 0, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(-25px, 0, 0);
+        transform: translate3d(-25px, 0, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(10px, 0, 0);
+        transform: translate3d(10px, 0, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(-5px, 0, 0);
+        transform: translate3d(-5px, 0, 0)
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.bounceInRight {
+    -webkit-animation-name: bounceInRight;
+    animation-name: bounceInRight
+}
+
+@-webkit-keyframes bounceInUp {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 3000px, 0);
+        transform: translate3d(0, 3000px, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, -20px, 0);
+        transform: translate3d(0, -20px, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(0, 10px, 0);
+        transform: translate3d(0, 10px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, -5px, 0);
+        transform: translate3d(0, -5px, 0)
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+@keyframes bounceInUp {
+    60%, 75%, 90%, from, to {
+        -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+    }
+
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 3000px, 0);
+        transform: translate3d(0, 3000px, 0)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, -20px, 0);
+        transform: translate3d(0, -20px, 0)
+    }
+
+    75% {
+        -webkit-transform: translate3d(0, 10px, 0);
+        transform: translate3d(0, 10px, 0)
+    }
+
+    90% {
+        -webkit-transform: translate3d(0, -5px, 0);
+        transform: translate3d(0, -5px, 0)
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.bounceInUp {
+    -webkit-animation-name: bounceInUp;
+    animation-name: bounceInUp
+}
+
+@-webkit-keyframes bounceOut {
+    20% {
+        -webkit-transform: scale3d(.9, .9, .9);
+        transform: scale3d(.9, .9, .9)
+    }
+
+    50%, 55% {
+        opacity: 1;
+        -webkit-transform: scale3d(1.1, 1.1, 1.1);
+        transform: scale3d(1.1, 1.1, 1.1)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+}
+
+@keyframes bounceOut {
+    20% {
+        -webkit-transform: scale3d(.9, .9, .9);
+        transform: scale3d(.9, .9, .9)
+    }
+
+    50%, 55% {
+        opacity: 1;
+        -webkit-transform: scale3d(1.1, 1.1, 1.1);
+        transform: scale3d(1.1, 1.1, 1.1)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+}
+
+.bounceOut {
+    -webkit-animation-name: bounceOut;
+    animation-name: bounceOut
+}
+
+@-webkit-keyframes bounceOutDown {
+    20% {
+        -webkit-transform: translate3d(0, 10px, 0);
+        transform: translate3d(0, 10px, 0)
+    }
+
+    40%, 45% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, -20px, 0);
+        transform: translate3d(0, -20px, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+}
+
+@keyframes bounceOutDown {
+    20% {
+        -webkit-transform: translate3d(0, 10px, 0);
+        transform: translate3d(0, 10px, 0)
+    }
+
+    40%, 45% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, -20px, 0);
+        transform: translate3d(0, -20px, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+}
+
+.bounceOutDown {
+    -webkit-animation-name: bounceOutDown;
+    animation-name: bounceOutDown
+}
+
+@-webkit-keyframes bounceOutLeft {
+    20% {
+        opacity: 1;
+        -webkit-transform: translate3d(20px, 0, 0);
+        transform: translate3d(20px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+}
+
+@keyframes bounceOutLeft {
+    20% {
+        opacity: 1;
+        -webkit-transform: translate3d(20px, 0, 0);
+        transform: translate3d(20px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+}
+
+.bounceOutLeft {
+    -webkit-animation-name: bounceOutLeft;
+    animation-name: bounceOutLeft
+}
+
+@-webkit-keyframes bounceOutRight {
+    20% {
+        opacity: 1;
+        -webkit-transform: translate3d(-20px, 0, 0);
+        transform: translate3d(-20px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+}
+
+@keyframes bounceOutRight {
+    20% {
+        opacity: 1;
+        -webkit-transform: translate3d(-20px, 0, 0);
+        transform: translate3d(-20px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+}
+
+.bounceOutRight {
+    -webkit-animation-name: bounceOutRight;
+    animation-name: bounceOutRight
+}
+
+@-webkit-keyframes bounceOutUp {
+    20% {
+        -webkit-transform: translate3d(0, -10px, 0);
+        transform: translate3d(0, -10px, 0)
+    }
+
+    40%, 45% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, 20px, 0);
+        transform: translate3d(0, 20px, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+}
+
+@keyframes bounceOutUp {
+    20% {
+        -webkit-transform: translate3d(0, -10px, 0);
+        transform: translate3d(0, -10px, 0)
+    }
+
+    40%, 45% {
+        opacity: 1;
+        -webkit-transform: translate3d(0, 20px, 0);
+        transform: translate3d(0, 20px, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+}
+
+.bounceOutUp {
+    -webkit-animation-name: bounceOutUp;
+    animation-name: bounceOutUp
+}
+
+@-webkit-keyframes fadeIn {
+    from {
+        opacity: 0
+    }
+
+    to {
+        opacity: 1
+    }
+}
+
+@keyframes fadeIn {
+    from {
+        opacity: 0
+    }
+
+    to {
+        opacity: 1
+    }
+}
+
+.fadeIn {
+    -webkit-animation-name: fadeIn;
+    animation-name: fadeIn
+}
+
+@-webkit-keyframes fadeInDown {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInDown {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInDown {
+    -webkit-animation-name: fadeInDown;
+    animation-name: fadeInDown
+}
+
+@-webkit-keyframes fadeInDownBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInDownBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInDownBig {
+    -webkit-animation-name: fadeInDownBig;
+    animation-name: fadeInDownBig
+}
+
+@-webkit-keyframes fadeInLeft {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInLeft {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInLeft {
+    -webkit-animation-name: fadeInLeft;
+    animation-name: fadeInLeft
+}
+
+@-webkit-keyframes fadeInLeftBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInLeftBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInLeftBig {
+    -webkit-animation-name: fadeInLeftBig;
+    animation-name: fadeInLeftBig
+}
+
+@-webkit-keyframes fadeInRight {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInRight {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInRight {
+    -webkit-animation-name: fadeInRight;
+    animation-name: fadeInRight
+}
+
+@-webkit-keyframes fadeInRightBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInRightBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInRightBig {
+    -webkit-animation-name: fadeInRightBig;
+    animation-name: fadeInRightBig
+}
+
+@-webkit-keyframes fadeInUp {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInUp {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInUp {
+    -webkit-animation-name: fadeInUp;
+    animation-name: fadeInUp
+}
+
+@-webkit-keyframes fadeInUpBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes fadeInUpBig {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.fadeInUpBig {
+    -webkit-animation-name: fadeInUpBig;
+    animation-name: fadeInUpBig
+}
+
+@-webkit-keyframes fadeOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0
+    }
+}
+
+@keyframes fadeOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0
+    }
+}
+
+.fadeOut {
+    -webkit-animation-name: fadeOut;
+    animation-name: fadeOut
+}
+
+@-webkit-keyframes fadeOutDown {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+}
+
+@keyframes fadeOutDown {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+}
+
+.fadeOutDown {
+    -webkit-animation-name: fadeOutDown;
+    animation-name: fadeOutDown
+}
+
+@-webkit-keyframes fadeOutDownBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+}
+
+@keyframes fadeOutDownBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 2000px, 0);
+        transform: translate3d(0, 2000px, 0)
+    }
+}
+
+.fadeOutDownBig {
+    -webkit-animation-name: fadeOutDownBig;
+    animation-name: fadeOutDownBig
+}
+
+@-webkit-keyframes fadeOutLeft {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+}
+
+@keyframes fadeOutLeft {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+}
+
+.fadeOutLeft {
+    -webkit-animation-name: fadeOutLeft;
+    animation-name: fadeOutLeft
+}
+
+@-webkit-keyframes fadeOutLeftBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+}
+
+@keyframes fadeOutLeftBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(-2000px, 0, 0);
+        transform: translate3d(-2000px, 0, 0)
+    }
+}
+
+.fadeOutLeftBig {
+    -webkit-animation-name: fadeOutLeftBig;
+    animation-name: fadeOutLeftBig
+}
+
+@-webkit-keyframes fadeOutRight {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+}
+
+@keyframes fadeOutRight {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+}
+
+.fadeOutRight {
+    -webkit-animation-name: fadeOutRight;
+    animation-name: fadeOutRight
+}
+
+@-webkit-keyframes fadeOutRightBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+}
+
+@keyframes fadeOutRightBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(2000px, 0, 0);
+        transform: translate3d(2000px, 0, 0)
+    }
+}
+
+.fadeOutRightBig {
+    -webkit-animation-name: fadeOutRightBig;
+    animation-name: fadeOutRightBig
+}
+
+@-webkit-keyframes fadeOutUp {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+}
+
+@keyframes fadeOutUp {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+}
+
+.fadeOutUp {
+    -webkit-animation-name: fadeOutUp;
+    animation-name: fadeOutUp
+}
+
+@-webkit-keyframes fadeOutUpBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+}
+
+@keyframes fadeOutUpBig {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(0, -2000px, 0);
+        transform: translate3d(0, -2000px, 0)
+    }
+}
+
+.fadeOutUpBig {
+    -webkit-animation-name: fadeOutUpBig;
+    animation-name: fadeOutUpBig
+}
+
+@-webkit-keyframes flip {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+        -webkit-animation-timing-function: ease-out;
+        animation-timing-function: ease-out
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+        -webkit-animation-timing-function: ease-out;
+        animation-timing-function: ease-out
+    }
+
+    50% {
+        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
+        transform: perspective(400px) scale3d(.95, .95, .95);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+}
+
+@keyframes flip {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+        -webkit-animation-timing-function: ease-out;
+        animation-timing-function: ease-out
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+        -webkit-animation-timing-function: ease-out;
+        animation-timing-function: ease-out
+    }
+
+    50% {
+        -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+        transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
+        transform: perspective(400px) scale3d(.95, .95, .95);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+}
+
+.animated.flip {
+    -webkit-backface-visibility: visible;
+    backface-visibility: visible;
+    -webkit-animation-name: flip;
+    animation-name: flip
+}
+
+@-webkit-keyframes flipInX {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in;
+        opacity: 0
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    60% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -5deg)
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+}
+
+@keyframes flipInX {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in;
+        opacity: 0
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    60% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -5deg)
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+}
+
+.flipInX {
+    backface-visibility: visible !important;
+    -webkit-animation-name: flipInX;
+    animation-name: flipInX
+}
+
+.flipInX, .flipInY {
+    -webkit-backface-visibility: visible !important
+}
+
+@-webkit-keyframes flipInY {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in;
+        opacity: 0
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    60% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -5deg)
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+}
+
+@keyframes flipInY {
+    from {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in;
+        opacity: 0
+    }
+
+    40% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+        -webkit-animation-timing-function: ease-in;
+        animation-timing-function: ease-in
+    }
+
+    60% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -5deg)
+    }
+
+    to {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+}
+
+.flipInY {
+    backface-visibility: visible !important;
+    -webkit-animation-name: flipInY;
+    animation-name: flipInY
+}
+
+@-webkit-keyframes flipOutX {
+    from {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+
+    30% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        opacity: 0
+    }
+}
+
+@keyframes flipOutX {
+    from {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+
+    30% {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+        opacity: 0
+    }
+}
+
+.flipOutX {
+    -webkit-animation-name: flipOutX;
+    animation-name: flipOutX;
+    backface-visibility: visible !important
+}
+
+.flipOutX, .flipOutY {
+    -webkit-backface-visibility: visible !important
+}
+
+@-webkit-keyframes flipOutY {
+    from {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+
+    30% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        opacity: 0
+    }
+}
+
+@keyframes flipOutY {
+    from {
+        -webkit-transform: perspective(400px);
+        transform: perspective(400px)
+    }
+
+    30% {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+        opacity: 0
+    }
+}
+
+.flipOutY {
+    backface-visibility: visible !important;
+    -webkit-animation-name: flipOutY;
+    animation-name: flipOutY
+}
+
+@-webkit-keyframes lightSpeedIn {
+    from {
+        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+        transform: translate3d(100%, 0, 0) skewX(-30deg);
+        opacity: 0
+    }
+
+    60% {
+        -webkit-transform: skewX(20deg);
+        transform: skewX(20deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: skewX(-5deg);
+        transform: skewX(-5deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes lightSpeedIn {
+    from {
+        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+        transform: translate3d(100%, 0, 0) skewX(-30deg);
+        opacity: 0
+    }
+
+    60% {
+        -webkit-transform: skewX(20deg);
+        transform: skewX(20deg);
+        opacity: 1
+    }
+
+    80% {
+        -webkit-transform: skewX(-5deg);
+        transform: skewX(-5deg);
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.lightSpeedIn {
+    -webkit-animation-name: lightSpeedIn;
+    animation-name: lightSpeedIn;
+    -webkit-animation-timing-function: ease-out;
+    animation-timing-function: ease-out
+}
+
+@-webkit-keyframes lightSpeedOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        opacity: 0
+    }
+}
+
+@keyframes lightSpeedOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        opacity: 0
+    }
+}
+
+.lightSpeedOut {
+    -webkit-animation-name: lightSpeedOut;
+    animation-name: lightSpeedOut;
+    -webkit-animation-timing-function: ease-in;
+    animation-timing-function: ease-in
+}
+
+@-webkit-keyframes rotateIn {
+    from {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: rotate3d(0, 0, 1, -200deg);
+        transform: rotate3d(0, 0, 1, -200deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes rotateIn {
+    from {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: rotate3d(0, 0, 1, -200deg);
+        transform: rotate3d(0, 0, 1, -200deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.rotateIn {
+    -webkit-animation-name: rotateIn;
+    animation-name: rotateIn
+}
+
+@-webkit-keyframes rotateInDownLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes rotateInDownLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.rotateInDownLeft {
+    -webkit-animation-name: rotateInDownLeft;
+    animation-name: rotateInDownLeft
+}
+
+@-webkit-keyframes rotateInDownRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes rotateInDownRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.rotateInDownRight {
+    -webkit-animation-name: rotateInDownRight;
+    animation-name: rotateInDownRight
+}
+
+@-webkit-keyframes rotateInUpLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes rotateInUpLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.rotateInUpLeft {
+    -webkit-animation-name: rotateInUpLeft;
+    animation-name: rotateInUpLeft
+}
+
+@-webkit-keyframes rotateInUpRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -90deg);
+        transform: rotate3d(0, 0, 1, -90deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+@keyframes rotateInUpRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -90deg);
+        transform: rotate3d(0, 0, 1, -90deg);
+        opacity: 0
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: none;
+        transform: none;
+        opacity: 1
+    }
+}
+
+.rotateInUpRight {
+    -webkit-animation-name: rotateInUpRight;
+    animation-name: rotateInUpRight
+}
+
+@-webkit-keyframes rotateOut {
+    from {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: rotate3d(0, 0, 1, 200deg);
+        transform: rotate3d(0, 0, 1, 200deg);
+        opacity: 0
+    }
+}
+
+@keyframes rotateOut {
+    from {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: center;
+        transform-origin: center;
+        -webkit-transform: rotate3d(0, 0, 1, 200deg);
+        transform: rotate3d(0, 0, 1, 200deg);
+        opacity: 0
+    }
+}
+
+.rotateOut {
+    -webkit-animation-name: rotateOut;
+    animation-name: rotateOut
+}
+
+@-webkit-keyframes rotateOutDownLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+}
+
+@keyframes rotateOutDownLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 45deg);
+        transform: rotate3d(0, 0, 1, 45deg);
+        opacity: 0
+    }
+}
+
+.rotateOutDownLeft {
+    -webkit-animation-name: rotateOutDownLeft;
+    animation-name: rotateOutDownLeft
+}
+
+@-webkit-keyframes rotateOutDownRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+}
+
+@keyframes rotateOutDownRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+}
+
+.rotateOutDownRight {
+    -webkit-animation-name: rotateOutDownRight;
+    animation-name: rotateOutDownRight
+}
+
+@-webkit-keyframes rotateOutUpLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+}
+
+@keyframes rotateOutUpLeft {
+    from {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: left bottom;
+        transform-origin: left bottom;
+        -webkit-transform: rotate3d(0, 0, 1, -45deg);
+        transform: rotate3d(0, 0, 1, -45deg);
+        opacity: 0
+    }
+}
+
+.rotateOutUpLeft {
+    -webkit-animation-name: rotateOutUpLeft;
+    animation-name: rotateOutUpLeft
+}
+
+@-webkit-keyframes rotateOutUpRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 90deg);
+        transform: rotate3d(0, 0, 1, 90deg);
+        opacity: 0
+    }
+}
+
+@keyframes rotateOutUpRight {
+    from {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform-origin: right bottom;
+        transform-origin: right bottom;
+        -webkit-transform: rotate3d(0, 0, 1, 90deg);
+        transform: rotate3d(0, 0, 1, 90deg);
+        opacity: 0
+    }
+}
+
+.rotateOutUpRight {
+    -webkit-animation-name: rotateOutUpRight;
+    animation-name: rotateOutUpRight
+}
+
+@-webkit-keyframes hinge {
+    0% {
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out
+    }
+
+    20%, 60% {
+        -webkit-transform: rotate3d(0, 0, 1, 80deg);
+        transform: rotate3d(0, 0, 1, 80deg);
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out
+    }
+
+    40%, 80% {
+        -webkit-transform: rotate3d(0, 0, 1, 60deg);
+        transform: rotate3d(0, 0, 1, 60deg);
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 700px, 0);
+        transform: translate3d(0, 700px, 0);
+        opacity: 0
+    }
+}
+
+@keyframes hinge {
+    0% {
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out
+    }
+
+    20%, 60% {
+        -webkit-transform: rotate3d(0, 0, 1, 80deg);
+        transform: rotate3d(0, 0, 1, 80deg);
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out
+    }
+
+    40%, 80% {
+        -webkit-transform: rotate3d(0, 0, 1, 60deg);
+        transform: rotate3d(0, 0, 1, 60deg);
+        -webkit-transform-origin: top left;
+        transform-origin: top left;
+        -webkit-animation-timing-function: ease-in-out;
+        animation-timing-function: ease-in-out;
+        opacity: 1
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 700px, 0);
+        transform: translate3d(0, 700px, 0);
+        opacity: 0
+    }
+}
+
+.hinge {
+    -webkit-animation-name: hinge;
+    animation-name: hinge
+}
+
+@-webkit-keyframes rollIn {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+@keyframes rollIn {
+    from {
+        opacity: 0;
+        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
+    }
+
+    to {
+        opacity: 1;
+        -webkit-transform: none;
+        transform: none
+    }
+}
+
+.rollIn {
+    -webkit-animation-name: rollIn;
+    animation-name: rollIn
+}
+
+@-webkit-keyframes rollOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)
+    }
+}
+
+@keyframes rollOut {
+    from {
+        opacity: 1
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)
+    }
+}
+
+.rollOut {
+    -webkit-animation-name: rollOut;
+    animation-name: rollOut
+}
+
+@-webkit-keyframes zoomIn {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    50% {
+        opacity: 1
+    }
+}
+
+@keyframes zoomIn {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    50% {
+        opacity: 1
+    }
+}
+
+.zoomIn {
+    -webkit-animation-name: zoomIn;
+    animation-name: zoomIn
+}
+
+@-webkit-keyframes zoomInDown {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomInDown {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomInDown {
+    -webkit-animation-name: zoomInDown;
+    animation-name: zoomInDown
+}
+
+@-webkit-keyframes zoomInLeft {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomInLeft {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomInLeft {
+    -webkit-animation-name: zoomInLeft;
+    animation-name: zoomInLeft
+}
+
+@-webkit-keyframes zoomInRight {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomInRight {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomInRight {
+    -webkit-animation-name: zoomInRight;
+    animation-name: zoomInRight
+}
+
+@-webkit-keyframes zoomInUp {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomInUp {
+    from {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    60% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomInUp {
+    -webkit-animation-name: zoomInUp;
+    animation-name: zoomInUp
+}
+
+@-webkit-keyframes zoomOut {
+    from {
+        opacity: 1
+    }
+
+    50% {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    to {
+        opacity: 0
+    }
+}
+
+@keyframes zoomOut {
+    from {
+        opacity: 1
+    }
+
+    50% {
+        opacity: 0;
+        -webkit-transform: scale3d(.3, .3, .3);
+        transform: scale3d(.3, .3, .3)
+    }
+
+    to {
+        opacity: 0
+    }
+}
+
+.zoomOut {
+    -webkit-animation-name: zoomOut;
+    animation-name: zoomOut
+}
+
+@-webkit-keyframes zoomOutDown {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+        -webkit-transform-origin: center bottom;
+        transform-origin: center bottom;
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomOutDown {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+        -webkit-transform-origin: center bottom;
+        transform-origin: center bottom;
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomOutDown {
+    -webkit-animation-name: zoomOutDown;
+    animation-name: zoomOutDown
+}
+
+@-webkit-keyframes zoomOutLeft {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
+        transform: scale(.1) translate3d(-2000px, 0, 0);
+        -webkit-transform-origin: left center;
+        transform-origin: left center
+    }
+}
+
+@keyframes zoomOutLeft {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
+        transform: scale(.1) translate3d(-2000px, 0, 0);
+        -webkit-transform-origin: left center;
+        transform-origin: left center
+    }
+}
+
+.zoomOutLeft {
+    -webkit-animation-name: zoomOutLeft;
+    animation-name: zoomOutLeft
+}
+
+@-webkit-keyframes zoomOutRight {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
+        transform: scale(.1) translate3d(2000px, 0, 0);
+        -webkit-transform-origin: right center;
+        transform-origin: right center
+    }
+}
+
+@keyframes zoomOutRight {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
+        transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
+        transform: scale(.1) translate3d(2000px, 0, 0);
+        -webkit-transform-origin: right center;
+        transform-origin: right center
+    }
+}
+
+.zoomOutRight {
+    -webkit-animation-name: zoomOutRight;
+    animation-name: zoomOutRight
+}
+
+@-webkit-keyframes zoomOutUp {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+        -webkit-transform-origin: center bottom;
+        transform-origin: center bottom;
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+@keyframes zoomOutUp {
+    40% {
+        opacity: 1;
+        -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+        -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+    }
+
+    to {
+        opacity: 0;
+        -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+        transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+        -webkit-transform-origin: center bottom;
+        transform-origin: center bottom;
+        -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+    }
+}
+
+.zoomOutUp {
+    -webkit-animation-name: zoomOutUp;
+    animation-name: zoomOutUp
+}
+
+@-webkit-keyframes slideInDown {
+    from {
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+@keyframes slideInDown {
+    from {
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.slideInDown {
+    -webkit-animation-name: slideInDown;
+    animation-name: slideInDown
+}
+
+@-webkit-keyframes slideInLeft {
+    from {
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+@keyframes slideInLeft {
+    from {
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.slideInLeft {
+    -webkit-animation-name: slideInLeft;
+    animation-name: slideInLeft
+}
+
+@-webkit-keyframes slideInRight {
+    from {
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+@keyframes slideInRight {
+    from {
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.slideInRight {
+    -webkit-animation-name: slideInRight;
+    animation-name: slideInRight
+}
+
+@-webkit-keyframes slideInUp {
+    from {
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+@keyframes slideInUp {
+    from {
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0);
+        visibility: visible
+    }
+
+    to {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.slideInUp {
+    -webkit-animation-name: slideInUp;
+    animation-name: slideInUp
+}
+
+@-webkit-keyframes slideOutDown {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+}
+
+@keyframes slideOutDown {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(0, 100%, 0);
+        transform: translate3d(0, 100%, 0)
+    }
+}
+
+.slideOutDown {
+    -webkit-animation-name: slideOutDown;
+    animation-name: slideOutDown
+}
+
+@-webkit-keyframes slideOutLeft {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+}
+
+@keyframes slideOutLeft {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(-100%, 0, 0);
+        transform: translate3d(-100%, 0, 0)
+    }
+}
+
+.slideOutLeft {
+    -webkit-animation-name: slideOutLeft;
+    animation-name: slideOutLeft
+}
+
+@-webkit-keyframes slideOutRight {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+}
+
+@keyframes slideOutRight {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(100%, 0, 0);
+        transform: translate3d(100%, 0, 0)
+    }
+}
+
+.slideOutRight {
+    -webkit-animation-name: slideOutRight;
+    animation-name: slideOutRight
+}
+
+@-webkit-keyframes slideOutUp {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+}
+
+@keyframes slideOutUp {
+    from {
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    to {
+        visibility: hidden;
+        -webkit-transform: translate3d(0, -100%, 0);
+        transform: translate3d(0, -100%, 0)
+    }
+}
+
+.slideOutUp {
+    -webkit-animation-name: slideOutUp;
+    animation-name: slideOutUp
+}
+
+/*!
+ * Waves v0.7.5
+ * http://fian.my.id/Waves 
+ * 
+ * Copyright 2014-2016 Alfiana E. Sibuea and other contributors 
+ * Released under the MIT license 
+ * https://github.com/fians/Waves/blob/master/LICENSE 
+ */
+.waves-effect {
+    position: relative;
+    cursor: pointer;
+    overflow: hidden;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    z-index: 1
+}
+
+.waves-effect .waves-ripple {
+    position: absolute;
+    border-radius: 50%;
+    width: 100px;
+    height: 100px;
+    margin-top: -50px;
+    margin-left: -50px;
+    opacity: 0;
+    background: rgba(0, 0, 0, .2);
+    background: -webkit-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -o-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -moz-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    -webkit-transition: all .5s ease-out;
+    -moz-transition: all .5s ease-out;
+    -o-transition: all .5s ease-out;
+    transition: all .5s ease-out;
+    -webkit-transition-property: -webkit-transform, opacity;
+    -moz-transition-property: -moz-transform, opacity;
+    -o-transition-property: -o-transform, opacity;
+    transition-property: opacity, -webkit-transform;
+    transition-property: transform, opacity;
+    transition-property: transform, opacity, -webkit-transform;
+    -webkit-transform: scale(0) translate(0, 0);
+    -moz-transform: scale(0) translate(0, 0);
+    -ms-transform: scale(0) translate(0, 0);
+    -o-transform: scale(0) translate(0, 0);
+    transform: scale(0) translate(0, 0);
+    pointer-events: none
+}
+
+.waves-effect.waves-light .waves-ripple {
+    background: rgba(255, 255, 255, .4);
+    background: -webkit-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -o-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: -moz-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%);
+    background: radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%)
+}
+
+.waves-effect.waves-classic .waves-ripple {
+    background: rgba(0, 0, 0, .2)
+}
+
+.waves-effect.waves-classic.waves-light .waves-ripple {
+    background: rgba(255, 255, 255, .4)
+}
+
+.waves-notransition {
+    -webkit-transition: none !important;
+    -moz-transition: none !important;
+    -o-transition: none !important;
+    transition: none !important
+}
+
+.waves-button, .waves-circle {
+    -webkit-transform: translateZ(0);
+    -moz-transform: translateZ(0);
+    -ms-transform: translateZ(0);
+    -o-transform: translateZ(0);
+    transform: translateZ(0);
+    -webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%)
+}
+
+.waves-button, .waves-button-input, .waves-button:hover, .waves-button:visited {
+    white-space: nowrap;
+    vertical-align: middle;
+    cursor: pointer;
+    border: none;
+    outline: 0;
+    color: inherit;
+    background-color: transparent;
+    font-size: 1em;
+    line-height: 1em;
+    text-align: center;
+    text-decoration: none;
+    z-index: 1
+}
+
+.waves-button {
+    padding: .85em 1.1em;
+    border-radius: .2em
+}
+
+.waves-button-input {
+    margin: 0;
+    padding: .85em 1.1em
+}
+
+.waves-input-wrapper {
+    border-radius: .2em;
+    vertical-align: bottom
+}
+
+.waves-input-wrapper.waves-button {
+    padding: 0
+}
+
+.waves-input-wrapper .waves-button-input {
+    position: relative;
+    top: 0;
+    left: 0;
+    z-index: 1
+}
+
+.waves-circle {
+    text-align: center;
+    width: 2.5em;
+    height: 2.5em;
+    line-height: 2.5em;
+    border-radius: 50%
+}
+
+.waves-float {
+    -webkit-mask-image: none;
+    -webkit-box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12);
+    box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12);
+    -webkit-transition: all 300ms;
+    -moz-transition: all 300ms;
+    -o-transition: all 300ms;
+    transition: all 300ms
+}
+
+.btn, .pager li a {
+    transition: .2s ease-out
+}
+
+.waves-float:active {
+    -webkit-box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3);
+    box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3)
+}
+
+.waves-block {
+    display: block
+}
+
+@media only screen and (max-width:992px) {
+    .center-on-small-only {
+        text-align: center
+    }
+
+    .card .center-on-small-only img, .center-on-small-only .card img,
+    .center-on-small-only .img-fluid, .center-on-small-only .section .view,
+    .center-on-small-only .section img, .section .center-on-small-only .view,
+    .section .center-on-small-only img {
+        display: inline
+    }
+}
+
+.flex-center {
+    display: -webkit-flex;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-align-items: center;
+    -ms-flex-align: center;
+    align-items: center;
+    height: 100%
+}
+
+.flex-center p {
+    margin: 0
+}
+
+.flex-center ul {
+    text-align: center
+}
+
+.flex-center ul li {
+    margin-bottom: 1rem
+}
+
+.vertical-center {
+    position: relative;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+    -o-transform: translateY(-50%);
+    -ms-transform: translateY(-50%);
+    transform: translateY(-50%)
+}
+
+.card img, .img-fluid, .section .view, .section img {
+    display: block;
+    max-width: 100%;
+    height: auto
+}
+
+.inline-ul > li {
+    display: inline
+}
+
+.list-inline-div > div {
+    display: inline-block
+}
+
+.hr-light {
+    background-color: #fff;
+    height: .5px
+}
+
+.hr-dark {
+    background-color: #666;
+    height: .5px
+}
+
+.divider-new::after, .divider-new::before {
+    content: '';
+    height: 1.5px;
+    background: #666
+}
+
+.divider-new {
+    display: -webkit-flex;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-flex-direction: row;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-align-items: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 45px;
+    margin-bottom: 45px
+}
+
+.divider-new h2 {
+    margin-top: 5px
+}
+
+.divider-new::before {
+    -webkit-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    margin: 0 .45em 0 0
+}
+
+.divider-new::after {
+    -webkit-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    margin: 0 0 0 .45em
+}
+
+.section-title {
+    text-transform: uppercase;
+    margin-top: 0;
+    margin-bottom: 3rem;
+    padding: .7rem
+}
+
+.section-title small {
+    text-transform: none;
+    padding-left: 7px;
+    margin-left: 10px
+}
+
+.btn, footer.page-footer .title {
+    text-transform: uppercase
+}
+
+.st-indigo {
+    border-left: 4px solid #00f
+}
+
+.st-indigo small {
+    border-left: 2px solid #00f
+}
+
+.st-red {
+    border-left: 4px solid red
+}
+
+.st-red small {
+    border-left: 2px solid red
+}
+
+.st-teal {
+    border-left: 4px solid #009688
+}
+
+.st-teal small {
+    border-left: 2px solid #009688
+}
+
+.st-orange {
+    border-left: 4px solid #ff6f00
+}
+
+.st-orange small {
+    border-left: 2px solid #ff6f00
+}
+
+.st-blue {
+    border-left: 4px solid #2196f3
+}
+
+.st-blue small {
+    border-left: 2px solid #2196f3
+}
+
+.st-mdb {
+    border-left: 4px solid #45526E
+}
+
+.st-mdb small {
+    border-left: 2px solid #45526E
+}
+
+.divider-short {
+    max-width: 50px;
+    border-color: #4285F4;
+    border-width: 3px
+}
+
+.blockquote .bq-title {
+    font-weight: 400;
+    font-size: 1.5rem;
+    margin-bottom: 0
+}
+
+.blockquote p {
+    font-size: 1.1rem
+}
+
+.bq-primary {
+    border-left: 3px solid #4285F4
+}
+
+.bq-primary .bq-title {
+    color: #4285F4
+}
+
+.bq-warning {
+    border-left: 3px solid #fb3
+}
+
+.bq-warning .bq-title {
+    color: #fb3
+}
+
+.bq-danger {
+    border-left: 3px solid #f44
+}
+
+.bq-danger .bq-title {
+    color: #f44
+}
+
+.bq-success {
+    border-left: 3px solid #00C851
+}
+
+.bq-success .bq-title {
+    color: #00C851
+}
+
+.pt-1 {
+    padding-top: 1rem !important
+}
+
+.pt-2 {
+    padding-top: 2rem !important
+}
+
+.pt-3 {
+    padding-top: 3rem !important
+}
+
+.pt-4 {
+    padding-top: 4rem !important
+}
+
+.pt-5 {
+    padding-top: 5rem !important
+}
+
+.pt-6 {
+    padding-top: 6rem !important
+}
+
+.pb-1 {
+    padding-top: 1rem !important
+}
+
+.pb-2 {
+    padding-top: 2rem !important
+}
+
+.pb-3 {
+    padding-top: 3rem !important
+}
+
+.pb-4 {
+    padding-bottom: 4rem !important
+}
+
+.pb-5 {
+    padding-bottom: 5rem !important
+}
+
+.pb-6 {
+    padding-bottom: 6rem !important
+}
+
+.mt-1 {
+    margin-top: 1rem !important
+}
+
+.mt-2 {
+    margin-top: 2rem !important
+}
+
+.mt-3 {
+    margin-top: 3rem !important
+}
+
+.mt-4 {
+    margin-top: 4rem !important
+}
+
+.mt-5 {
+    margin-top: 5rem !important
+}
+
+.mt-6 {
+    margin-top: 6rem !important
+}
+
+.mb-1 {
+    margin-bottom: 1rem !important
+}
+
+.mb-2 {
+    margin-bottom: 2rem !important
+}
+
+.mb-3 {
+    margin-bottom: 3rem !important
+}
+
+.mb-4 {
+    margin-bottom: 4rem !important
+}
+
+.mb-5 {
+    margin-bottom: 5rem !important
+}
+
+.mb-6 {
+    margin-bottom: 6rem !important
+}
+
+@media (max-width:992px) {
+    .mb-r {
+        margin-bottom: 2rem !important
+    }
+}
+
+@media (min-width:992px) {
+    .mb-r {
+        margin-bottom: 3rem !important
+    }
+}
+
+.mb-m {
+    margin-bottom: 1rem
+}
+
+@media (min-width:62em) {
+    .mb-m {
+        margin-bottom: 0
+    }
+}
+
+.no-height {
+    height: 0
+}
+
+.sharp-corners {
+    border-radius: 0
+}
+
+button:focus {
+    outline: 0 !important
+}
+
+.btn {
+    font-size: .8rem;
+    padding: .85rem 2.13rem;
+    border-radius: 2px;
+    border: 0;
+    color: #fff !important;
+    margin: 6px;
+    white-space: normal !important
+}
+
+.btn.btn-lg {
+    font-size: .9rem;
+    padding: 1rem 2.4rem
+}
+
+.btn.btn-md {
+    font-size: .7rem;
+    padding: .7rem 1.6rem
+}
+
+.btn.btn-sm {
+    font-size: .6rem;
+    padding: .5rem 1.6rem
+}
+
+.btn:hover {
+    color: #fff
+}
+
+.btn.active, .btn:active, .btn:focus {
+    outline: 0;
+    color: #fff
+}
+
+.btn .fa {
+    font-size: 1.1rem;
+    position: relative;
+    vertical-align: middle;
+    margin-top: -2px
+}
+
+.btn .fa.right {
+    margin-left: 3px
+}
+
+.btn .fa.left {
+    margin-right: 3px
+}
+
+.btn-group .btn {
+    margin: 0
+}
+
+.btn-block {
+    margin: inherit
+}
+
+.btn-secondary {
+    background-color: #a6c
+}
+
+.btn-secondary:active, .btn-secondary:focus, .btn-secondary:hover {
+    background-color: #b579d2 !important;
+    color: #fff
+}
+
+.btn-secondary.active {
+    background-color: #739 !important
+}
+
+.btn-secondary.active:focus, .btn-secondary.active:hover {
+    color: #fff
+}
+
+.btn-secondary.dropdown-toggle {
+    color: #fff !important;
+    background-color: #a6c !important
+}
+
+.btn-secondary.dropdown-toggle:hover {
+    color: #fff;
+    background-color: #b579d2 !important
+}
+
+.btn-secondary.dropdown-toggle:focus {
+    color: #fff;
+    background-color: #a6c
+}
+
+.btn-secondary:active:hover {
+    background-color: #b579d2 !important
+}
+
+.btn-primary {
+    background: #4285F4
+}
+
+.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
+    background-color: #5a95f5 !important
+}
+
+.btn-primary.active {
+    background-color: #0b51c5 !important
+}
+
+.btn-default {
+    background: #2BBBAD
+}
+
+.btn-default:active, .btn-default:focus, .btn-default:hover {
+    background-color: #30cfc0 !important
+}
+
+.btn-default.active {
+    background-color: #186860 !important
+}
+
+.btn-success {
+    background: #00C851
+}
+
+.btn-success:active, .btn-success:focus, .btn-success:hover {
+    background-color: #00d255 !important
+}
+
+.btn-success.active {
+    background-color: #006228 !important
+}
+
+.btn-info {
+    background: #33b5e5
+}
+
+.btn-info:focus, .btn-info:hover {
+    background-color: #4abde8 !important
+}
+
+.btn-info.active {
+    background-color: #14799e !important
+}
+
+.btn-warning {
+    background: #F80
+}
+
+.btn-warning:focus, .btn-warning:hover {
+    background-color: #ff961f !important
+}
+
+.btn-warning.active {
+    background-color: #c80 !important
+}
+
+.btn-danger {
+    background: #C00
+}
+
+.btn-danger:focus, .btn-danger:hover {
+    background-color: #db0000 !important
+}
+
+.btn-danger.active {
+    background-color: maroon !important
+}
+
+.btn-link {
+    background-color: transparent;
+    color: #000 !important
+}
+
+.btn-link:focus, .btn-link:hover {
+    background-color: transparent;
+    color: #000
+}
+
+.btn-outline-primary {
+    border: 2px solid #4285F4;
+    color: #0d47a1 !important;
+    background-color: transparent
+}
+
+.btn-outline-primary:active, .btn-outline-primary:active:focus,
+.btn-outline-primary:focus, .btn-outline-primary:hover {
+    color: #4285F4;
+    border-color: #4285F4;
+    background-color: transparent
+}
+
+.btn-outline-secondary {
+    border: 2px solid #a6c;
+    color: #93C !important;
+    background-color: transparent
+}
+
+.btn-outline-secondary:active, .btn-outline-secondary:active:focus,
+.btn-outline-secondary:focus, .btn-outline-secondary:hover {
+    color: #a6c;
+    border: 2px solid #a6c;
+    background-color: transparent
+}
+
+.btn-outline-default {
+    border: 2px solid #2BBBAD;
+    color: #00695c !important;
+    background-color: transparent
+}
+
+.btn-outline-default:active, .btn-outline-default:active:focus,
+.btn-outline-default:focus, .btn-outline-default:hover {
+    color: #2BBBAD;
+    border-color: #2BBBAD;
+    background-color: transparent
+}
+
+.btn-outline-success {
+    border: 2px solid #00C851;
+    color: #007E33 !important;
+    background-color: transparent
+}
+
+.btn-outline-success:active, .btn-outline-success:active:focus,
+.btn-outline-success:focus, .btn-outline-success:hover {
+    color: #00C851;
+    border-color: #00C851;
+    background-color: transparent
+}
+
+.btn-outline-info {
+    border: 2px solid #33b5e5;
+    color: #09C !important;
+    background-color: transparent
+}
+
+.btn-outline-info:active, .btn-outline-info:active:focus, .btn-outline-info:focus,
+.btn-outline-info:hover {
+    color: #33b5e5;
+    border-color: #33b5e5;
+    background-color: transparent
+}
+
+.btn-outline-warning {
+    border: 2px solid #fb3;
+    color: #F80 !important;
+    background-color: transparent
+}
+
+.btn-outline-warning:active, .btn-outline-warning:active:focus,
+.btn-outline-warning:focus, .btn-outline-warning:hover {
+    border-color: #fb3;
+    color: #fb3;
+    background-color: transparent
+}
+
+.btn-outline-danger {
+    border: 2px solid #f44;
+    color: #C00 !important;
+    background-color: transparent
+}
+
+.btn-outline-danger:active, .btn-outline-danger:active:focus,
+.btn-outline-danger:focus, .btn-outline-danger:hover {
+    color: #f44;
+    border-color: #f44;
+    background-color: transparent
+}
+
+.btn-outline-white {
+    border: 2px solid #fff;
+    color: #fff !important;
+    background-color: transparent
+}
+
+.btn-outline-white:active, .btn-outline-white:active:focus, .btn-outline-white:focus,
+.btn-outline-white:hover {
+    color: #e6e6e6;
+    border-color: #fff;
+    background-color: transparent
+}
+
+.btn-outline-black {
+    border: 2px solid #000;
+    color: #000 !important;
+    background-color: transparent
+}
+
+.btn-outline-black:active, .btn-outline-black:active:focus, .btn-outline-black:focus,
+.btn-outline-black:hover {
+    color: #000;
+    border-color: #000;
+    background-color: transparent
+}
+
+.pager li a {
+    border: 0
+}
+
+.btn-elegant {
+    background: #2E2E2E
+}
+
+.btn-elegant:focus, .btn-elegant:hover {
+    background-color: #3b3b3b !important
+}
+
+.btn-elegant.active {
+    background-color: #000 !important
+}
+
+.btn-unique {
+    background: #1C2331
+}
+
+.btn-unique:focus, .btn-unique:hover {
+    background-color: #252f41 !important
+}
+
+.btn-unique.active {
+    background-color: #000 !important
+}
+
+.btn-pink {
+    background: #e91e63
+}
+
+.btn-pink:focus, .btn-pink:hover {
+    background-color: #eb3573 !important
+}
+
+.btn-pink.active {
+    background-color: #930e3b !important
+}
+
+.btn-purple {
+    background: #4a148c
+}
+
+.btn-purple:focus, .btn-purple:hover {
+    background-color: #5617a2 !important
+}
+
+.btn-purple.active {
+    background-color: #1b0733 !important
+}
+
+.btn-deep-purple {
+    background: #311b92
+}
+
+.btn-deep-purple:focus, .btn-deep-purple:hover {
+    background-color: #381fa8 !important
+}
+
+.btn-deep-purple.active {
+    background-color: #140b3c !important
+}
+
+.btn-indigo {
+    background: #1a237e
+}
+
+.btn-indigo:focus, .btn-indigo:hover {
+    background-color: #1e2993 !important
+}
+
+.btn-indigo.active {
+    background-color: #090c29 !important
+}
+
+.btn-cyan {
+    background: #00acc1
+}
+
+.btn-cyan:focus, .btn-cyan:hover {
+    background-color: #00c3db !important
+}
+
+.btn-cyan.active {
+    background-color: #00515b !important
+}
+
+.btn-light-green {
+    background: #7cb342
+}
+
+.btn-light-green:focus, .btn-light-green:hover {
+    background-color: #89be50 !important
+}
+
+.btn-light-green.active {
+    background-color: #486827 !important
+}
+
+.btn-dark-green {
+    background: #007E33
+}
+
+.btn-dark-green:focus, .btn-dark-green:hover {
+    background-color: #00983d !important
+}
+
+.btn-dark-green.active {
+    background-color: #00180a !important
+}
+
+.btn-lime {
+    background: #afb42b
+}
+
+.btn-lime:focus, .btn-lime:hover {
+    background-color: #c3c930 !important
+}
+
+.btn-lime.active {
+    background-color: #5f6217 !important
+}
+
+.btn-yellow {
+    background: #fbc02d
+}
+
+.btn-yellow:focus, .btn-yellow:hover {
+    background-color: #fbc846 !important
+}
+
+.btn-yellow.active {
+    background-color: #be8904 !important
+}
+
+.btn-amber {
+    background: #ff6f00
+}
+
+.btn-amber:focus, .btn-amber:hover {
+    background-color: #ff7d1a !important
+}
+
+.btn-amber.active {
+    background-color: #994300 !important
+}
+
+.btn-orange {
+    background: #e65100
+}
+
+.btn-orange:focus, .btn-orange:hover {
+    background-color: #ff5a01 !important
+}
+
+.btn-orange.active {
+    background-color: #802d00 !important
+}
+
+.btn-deep-orange {
+    background: #bf360c
+}
+
+.btn-deep-orange:focus, .btn-deep-orange:hover {
+    background-color: #d73d0e !important
+}
+
+.btn-deep-orange.active {
+    background-color: #5f1b06 !important
+}
+
+.btn-brown {
+    background: #6d4c41
+}
+
+.btn-brown:focus, .btn-brown:hover {
+    background-color: #7d574b !important
+}
+
+.btn-brown.active {
+    background-color: #2d1f1b !important
+}
+
+.btn-blue-grey {
+    background: #607d8b
+}
+
+.btn-blue-grey:focus, .btn-blue-grey:hover {
+    background-color: #6b8a99 !important
+}
+
+.btn-blue-grey.active {
+    background-color: #36474f !important
+}
+
+.btn-mdb {
+    background: #45526E
+}
+
+.btn-mdb:focus, .btn-mdb:hover {
+    background-color: #4f5e7e !important
+}
+
+.btn-mdb.active {
+    background-color: #1e232f !important
+}
+
+input[type=date], input[type=datetime-local], input[type=email],
+input[type=number], input[type=password], input[type=search-md],
+input[type=search], input[type=tel], input[type=text], input[type=time],
+input[type=url], textarea.md-textarea {
+    background-color: transparent;
+    border: none;
+    border-bottom: 1px solid #ccc;
+    border-radius: 0;
+    outline: 0;
+    height: 2.1rem;
+    width: 100%;
+    font-size: 1rem;
+    box-shadow: none;
+    -webkit-box-sizing: content-box;
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    transition: all .3s
+}
+
+input[type=date]:disabled, input[type=date][readonly=readonly],
+input[type=datetime-local]:disabled, input[type=datetime-local][readonly=readonly],
+input[type=email]:disabled, input[type=email][readonly=readonly],
+input[type=number]:disabled, input[type=number][readonly=readonly],
+input[type=password]:disabled, input[type=password][readonly=readonly],
+input[type=search-md]:disabled, input[type=search-md][readonly=readonly],
+input[type=search]:disabled, input[type=search][readonly=readonly],
+input[type=tel]:disabled, input[type=tel][readonly=readonly], input[type=text]:disabled,
+input[type=text][readonly=readonly], input[type=time]:disabled,
+input[type=time][readonly=readonly], input[type=url]:disabled,
+input[type=url][readonly=readonly], textarea.md-textarea:disabled,
+textarea.md-textarea[readonly=readonly] {
+    color: rgba(0, 0, 0, .46);
+    border-bottom: 1px dotted rgba(0, 0, 0, .46);
+    background-color: transparent
+}
+
+input[type=date]:disabled + label, input[type=date][readonly=readonly] + label,
+input[type=datetime-local]:disabled + label, input[type=datetime-local][readonly=readonly] + label,
+input[type=email]:disabled + label, input[type=email][readonly=readonly] + label,
+input[type=number]:disabled + label, input[type=number][readonly=readonly] + label,
+input[type=password]:disabled + label, input[type=password][readonly=readonly] + label,
+input[type=search-md]:disabled + label, input[type=search-md][readonly=readonly] + label,
+input[type=search]:disabled + label, input[type=search][readonly=readonly] + label,
+input[type=tel]:disabled + label, input[type=tel][readonly=readonly] + label,
+input[type=text]:disabled + label, input[type=text][readonly=readonly] + label,
+input[type=time]:disabled + label, input[type=time][readonly=readonly] + label,
+input[type=url]:disabled + label, input[type=url][readonly=readonly] + label,
+textarea.md-textarea:disabled + label, textarea.md-textarea[readonly=readonly] + label {
+    color: rgba(0, 0, 0, .46);
+    background-color: transparent
+}
+
+input[type=date]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]),
+input[type=email]:focus:not([readonly]), input[type=number]:focus:not([readonly]),
+input[type=password]:focus:not([readonly]), input[type=search-md]:focus:not([readonly]),
+input[type=search]:focus:not([readonly]), input[type=tel]:focus:not([readonly]),
+input[type=text]:focus:not([readonly]), input[type=time]:focus:not([readonly]),
+input[type=url]:focus:not([readonly]), textarea.md-textarea:focus:not([readonly]) {
+    border-bottom: 1px solid #4285F4;
+    box-shadow: 0 1px 0 0 #4285F4
+}
+
+input[type=date]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label,
+input[type=email]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label,
+input[type=password]:focus:not([readonly]) + label, input[type=search-md]:focus:not([readonly]) + label,
+input[type=search]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label,
+input[type=text]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label,
+input[type=url]:focus:not([readonly]) + label, textarea.md-textarea:focus:not([readonly]) + label {
+    color: #4285F4
+}
+
+input[type=date].valid, input[type=date]:focus.valid, input[type=datetime-local].valid,
+input[type=datetime-local]:focus.valid, input[type=email].valid,
+input[type=email]:focus.valid, input[type=number].valid, input[type=number]:focus.valid,
+input[type=password].valid, input[type=password]:focus.valid, input[type=search-md].valid,
+input[type=search-md]:focus.valid, input[type=search].valid, input[type=search]:focus.valid,
+input[type=tel].valid, input[type=tel]:focus.valid, input[type=text].valid,
+input[type=text]:focus.valid, input[type=time].valid, input[type=time]:focus.valid,
+input[type=url].valid, input[type=url]:focus.valid, textarea.md-textarea.valid,
+textarea.md-textarea:focus.valid {
+    border-bottom: 1px solid #00C851;
+    box-shadow: 0 1px 0 0 #00C851
+}
+
+input[type=date].valid + label:after, input[type=date]:focus.valid + label:after,
+input[type=datetime-local].valid + label:after, input[type=datetime-local]:focus.valid + label:after,
+input[type=email].valid + label:after, input[type=email]:focus.valid + label:after,
+input[type=number].valid + label:after, input[type=number]:focus.valid + label:after,
+input[type=password].valid + label:after, input[type=password]:focus.valid + label:after,
+input[type=search-md].valid + label:after, input[type=search-md]:focus.valid + label:after,
+input[type=search].valid + label:after, input[type=search]:focus.valid + label:after,
+input[type=tel].valid + label:after, input[type=tel]:focus.valid + label:after,
+input[type=text].valid + label:after, input[type=text]:focus.valid + label:after,
+input[type=time].valid + label:after, input[type=time]:focus.valid + label:after,
+input[type=url].valid + label:after, input[type=url]:focus.valid + label:after,
+textarea.md-textarea.valid + label:after, textarea.md-textarea:focus.valid + label:after {
+    content: attr(data-success);
+    color: #00C851;
+    opacity: 1
+}
+
+input[type=date].invalid, input[type=date]:focus.invalid, input[type=datetime-local].invalid,
+input[type=datetime-local]:focus.invalid, input[type=email].invalid,
+input[type=email]:focus.invalid, input[type=number].invalid, input[type=number]:focus.invalid,
+input[type=password].invalid, input[type=password]:focus.invalid,
+input[type=search-md].invalid, input[type=search-md]:focus.invalid,
+input[type=search].invalid, input[type=search]:focus.invalid, input[type=tel].invalid,
+input[type=tel]:focus.invalid, input[type=text].invalid, input[type=text]:focus.invalid,
+input[type=time].invalid, input[type=time]:focus.invalid, input[type=url].invalid,
+input[type=url]:focus.invalid, textarea.md-textarea.invalid, textarea.md-textarea:focus.invalid {
+    border-bottom: 1px solid #F44336;
+    box-shadow: 0 1px 0 0 #F44336
+}
+
+input[type=date].invalid + label:after, input[type=date]:focus.invalid + label:after,
+input[type=datetime-local].invalid + label:after, input[type=datetime-local]:focus.invalid + label:after,
+input[type=email].invalid + label:after, input[type=email]:focus.invalid + label:after,
+input[type=number].invalid + label:after, input[type=number]:focus.invalid + label:after,
+input[type=password].invalid + label:after, input[type=password]:focus.invalid + label:after,
+input[type=search-md].invalid + label:after, input[type=search-md]:focus.invalid + label:after,
+input[type=search].invalid + label:after, input[type=search]:focus.invalid + label:after,
+input[type=tel].invalid + label:after, input[type=tel]:focus.invalid + label:after,
+input[type=text].invalid + label:after, input[type=text]:focus.invalid + label:after,
+input[type=time].invalid + label:after, input[type=time]:focus.invalid + label:after,
+input[type=url].invalid + label:after, input[type=url]:focus.invalid + label:after,
+textarea.md-textarea.invalid + label:after, textarea.md-textarea:focus.invalid + label:after {
+    content: attr(data-error);
+    color: #F44336;
+    opacity: 1
+}
+
+input[type=date] + label:after, input[type=datetime-local] + label:after,
+input[type=email] + label:after, input[type=number] + label:after,
+input[type=password] + label:after, input[type=search-md] + label:after,
+input[type=search] + label:after, input[type=tel] + label:after, input[type=text] + label:after,
+input[type=time] + label:after, input[type=url] + label:after, textarea.md-textarea + label:after {
+    display: block;
+    content: "";
+    position: absolute;
+    top: 65px;
+    opacity: 0;
+    transition: .2s opacity ease-out, .2s color ease-out
+}
+
+input[type=date].input-alternate, input[type=datetime-local].input-alternate,
+input[type=email].input-alternate, input[type=number].input-alternate,
+input[type=password].input-alternate, input[type=search-md].input-alternate,
+input[type=search].input-alternate, input[type=tel].input-alternate,
+input[type=text].input-alternate, input[type=time].input-alternate,
+input[type=url].input-alternate, textarea.md-textarea.input-alternate {
+    padding: 0 15px;
+    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12);
+    font-size: .875rem;
+    border-bottom: 0
+}
+
+input[type=date].input-alternate:focus:not([readonly]), input[type=datetime-local].input-alternate:focus:not([readonly]),
+input[type=email].input-alternate:focus:not([readonly]), input[type=number].input-alternate:focus:not([readonly]),
+input[type=password].input-alternate:focus:not([readonly]), input[type=search-md].input-alternate:focus:not([readonly]),
+input[type=search].input-alternate:focus:not([readonly]), input[type=tel].input-alternate:focus:not([readonly]),
+input[type=text].input-alternate:focus:not([readonly]), input[type=time].input-alternate:focus:not([readonly]),
+input[type=url].input-alternate:focus:not([readonly]), textarea.md-textarea.input-alternate:focus:not([readonly]) {
+    border-bottom: 0;
+    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12)
+}
+
+label {
+    font-size: .8rem;
+    color: darken #ccc, 90%
+}
+
+.form-control {
+    padding: .5rem 0 .6rem;
+    font-size: 1rem;
+    line-height: 1.5;
+    background-color: transparent;
+    background-image: none;
+    border-radius: 0;
+    margin-top: .2rem;
+    margin-bottom: 1rem
+}
+
+.md-form, .md-form .btn {
+    margin-bottom: 1.5rem
+}
+
+.form-control:focus {
+    background: 0 0
+}
+
+.form-control:disabled, .form-control[readonly] {
+    background-color: transparent;
+    border-bottom: 1px solid #e0e0e0
+}
+
+.md-form {
+    position: relative
+}
+
+.md-form label {
+    color: #757575;
+    position: absolute;
+    top: .8rem;
+    left: 0;
+    font-size: 1rem;
+    cursor: text;
+    -webkit-transition: .2s ease-out;
+    -moz-transition: .2s ease-out;
+    -o-transition: .2s ease-out;
+    -ms-transition: .2s ease-out;
+    transition: .2s ease-out
+}
+
+.md-form label.active {
+    font-size: .8rem;
+    -webkit-transform: translateY(-140%);
+    -moz-transform: translateY(-140%);
+    -ms-transform: translateY(-140%);
+    -o-transform: translateY(-140%);
+    transform: translateY(-140%)
+}
+
+.md-form .prefix {
+    position: absolute;
+    width: 3rem;
+    font-size: 2rem;
+    -webkit-transition: color .2s;
+    -moz-transition: color .2s;
+    -o-transition: color .2s;
+    -ms-transition: color .2s;
+    transition: color .2s
+}
+
+.md-form .prefix.active {
+    color: #4285F4
+}
+
+.md-form .prefix ~ input, .md-form .prefix ~ textarea {
+    margin-left: 3rem;
+    width: 92%;
+    width: calc(100% - 3rem)
+}
+
+.md-form .prefix ~ textarea {
+    padding-top: .8rem
+}
+
+.md-form .prefix ~ label {
+    margin-left: 3rem
+}
+
+@media only screen and (max-width:992px) {
+    .md-form .prefix ~ input {
+        width: 86%;
+        width: calc(100% - 3rem)
+    }
+}
+
+@media only screen and (max-width:600px) {
+    .md-form .prefix ~ input {
+        width: 80%;
+        width: calc(100% - 3rem)
+    }
+}
+
+.list-group-item, textarea {
+    width: 100%
+}
+
+.md-form.input-group .form-control {
+    margin: 0;
+    padding-left: 1rem
+}
+
+.md-form.input-group .form-control:-moz-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-ms-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-webkit-input-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::-moz-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control:-ms-input-placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.md-form.input-group .form-control::placeholder {
+    color: #999;
+    padding-top: 2px
+}
+
+.form-inline fieldset {
+    margin-right: 1.5rem
+}
+
+textarea {
+    height: 3rem;
+    background-color: transparent
+}
+
+textarea.md-textarea {
+    overflow-y: hidden;
+    padding: 1.6rem 0;
+    resize: none;
+    min-height: 3rem
+}
+
+.hiddendiv {
+    display: none;
+    white-space: pre-wrap;
+    overflow-wrap: break-word;
+    padding-top: 1.2rem
+}
+
+.input-dark-bg:-moz-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-ms-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-webkit-input-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::-moz-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg:-ms-input-placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg::placeholder {
+    color: #fff !important;
+    font-weight: 300
+}
+
+.input-dark-bg input[type=text] {
+    border-bottom: 1px solid #fff
+}
+
+.input-dark-bg .form-control {
+    color: #fff
+}
+
+.input-light-bg:-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-ms-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-webkit-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg:-ms-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg::placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.input-light-bg input[type=text] {
+    border-bottom: 1px solid #1C2331
+}
+
+.input-light-bg .form-control {
+    color: #1C2331
+}
+
+.form-inline .form-group {
+    margin-right: 2rem
+}
+
+i.btn-primary {
+    background: #4285F4 !important
+}
+
+i.btn-default {
+    background: #2BBBAD !important
+}
+
+i.btn-success {
+    background: #00C851 !important
+}
+
+i.btn-info {
+    background: #33b5e5 !important
+}
+
+i.btn-warning {
+    background: #F80 !important
+}
+
+i.btn-danger {
+    background: #C00 !important
+}
+
+.card {
+    border: 0
+}
+
+.card .card-title a {
+    color: #424242;
+    transition: .4s
+}
+
+.card .card-title a, .card .card-title a:hover {
+    -webkit-transition: .4s;
+    -moz-transition: .4s;
+    -o-transition: .4s;
+    -ms-transition: .4s
+}
+
+.card .card-title a:hover {
+    color: #616161;
+    transition: .4s
+}
+
+.card img {
+    border-bottom-left-radius: 0;
+    border-bottom-right-radius: 0
+}
+
+.card .card-block {
+    position: relative
+}
+
+.card .card-footer {
+    padding-bottom: 0;
+    font-size: 1.2rem
+}
+
+.card .card-footer:after {
+    display: block;
+    content: "";
+    clear: both
+}
+
+.card .card-footer .card-link {
+    color: inherit
+}
+
+.jumbotron {
+    background-color: #fff;
+    padding: 2rem
+}
+
+.jumbotron.m-1, .jumbotron.m-2, .jumbotron.m-3 {
+    z-index: 50;
+    position: relative;
+    margin-left: 3%;
+    margin-right: 3%
+}
+
+.jumbotron.m-1 {
+    margin-top: -20px
+}
+
+.jumbotron.m-2 {
+    margin-top: -30px
+}
+
+.jumbotron.m-3 {
+    margin-top: -40px
+}
+
+.edge-header {
+    display: block;
+    height: 278px;
+    background-color: #ccc
+}
+
+.free-bird {
+    margin-top: -100px
+}
+
+.navbar {
+    font-weight: 300
+}
+
+.navbar form input {
+    margin: 0 5px 1px 8px;
+    height: 1rem
+}
+
+.full-bg-img, .img-overlay:after, .view .content, .view .mask {
+    left: 0;
+    height: 100%;
+    width: 100%;
+    top: 0
+}
+
+.navbar .navbar-brand {
+    -webkit-align-self: flex-start;
+    -ms-flex-item-align: start;
+    align-self: flex-start;
+    overflow: visible
+}
+
+.navbar .breadcrumb {
+    margin: 0;
+    background-color: inherit;
+    font-weight: 300
+}
+
+.navbar.navbar-dark .navbar-brand, .navbar.navbar-dark .navbar-brand:hover {
+    color: #fff
+}
+
+.navbar.navbar-dark .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#fff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")
+}
+
+.navbar.navbar-dark .breadcrumb a, .navbar.navbar-dark .navbar-nav .nav-item a {
+    color: #fff;
+    transition: .35s
+}
+
+.navbar.navbar-dark .breadcrumb a:hover, .navbar.navbar-dark .navbar-nav .nav-item a:hover {
+    color: rgba(255, 255, 255, .75)
+}
+
+.navbar.navbar-dark .breadcrumb.active, .navbar.navbar-dark .navbar-nav .nav-item.active {
+    background-color: rgba(255, 255, 255, .1)
+}
+
+.navbar.navbar-dark .breadcrumb .dropdown-menu a, .navbar.navbar-dark .breadcrumb .dropdown-menu a:active,
+.navbar.navbar-dark .breadcrumb .dropdown-menu a:focus, .navbar.navbar-dark .breadcrumb .dropdown-menu a:hover,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a, .navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:active,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:focus,
+.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:hover {
+    color: #212121
+}
+
+.navbar.navbar-dark .nav-link, .navbar.navbar-dark .navbar-toggler {
+    color: #fff
+}
+
+.navbar.navbar-light .breadcrumb a, .navbar.navbar-light .breadcrumb a:hover,
+.navbar.navbar-light .nav-item a, .navbar.navbar-light .nav-item a:hover {
+    transition: .35s;
+    color: #212121
+}
+
+.navbar.navbar-light .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")
+}
+
+.navbar.navbar-light .breadcrumb.active, .navbar.navbar-light .nav-item.active {
+    background-color: rgba(158, 158, 158, .2)
+}
+
+.navbar.navbar-light .breadcrumb .dropdown-menu a, .navbar.navbar-light .nav-item .dropdown-menu a {
+    color: #000;
+    padding: 10px
+}
+
+.navbar.navbar-light .navbar-toggler {
+    color: #000
+}
+
+.navbar .dropdown-menu a {
+    font-size: .9375rem;
+    font-weight: 300;
+    padding: 1rem
+}
+
+.navbar .navbar-toggler {
+    border-width: 0
+}
+
+.navbar .nav-flex-icons {
+    -webkit-flex-direction: row;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+@media (max-width:991px) {
+    .navbar .container {
+        width: 100%
+    }
+
+    .navbar .container .navbar-toggler-right {
+        right: 0
+    }
+}
+
+.navbar .dropdown-menu {
+    position: absolute !important
+}
+
+.navbar.double-nav {
+    -webkit-flex-direction: row;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.navbar-dark form input[type=text] {
+    border-bottom: 1px solid #fff
+}
+
+.navbar-dark form .form-control {
+    color: #fff
+}
+
+.navbar-dark form .form-control:-moz-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-ms-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-webkit-input-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::-moz-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control:-ms-input-placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-dark form .form-control::placeholder {
+    color: rgba(255, 255, 255, .65) !important;
+    font-weight: 300
+}
+
+.navbar-light form input[type=text] {
+    border-bottom: 1px solid #1C2331
+}
+
+.navbar-light form .form-control {
+    color: #1C2331
+}
+
+.navbar-light form .form-control:-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-ms-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-webkit-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::-moz-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control:-ms-input-placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.navbar-light form .form-control::placeholder {
+    color: #1C2331 !important;
+    font-weight: 300
+}
+
+.view {
+    overflow: hidden;
+    position: relative;
+    cursor: default
+}
+
+.view .content, .view .mask {
+    position: absolute;
+    overflow: hidden
+}
+
+.view img, .view video {
+    display: block;
+    position: relative
+}
+
+.view .mask {
+    background-attachment: fixed
+}
+
+.full-bg-img {
+    position: absolute;
+    overflow: hidden
+}
+
+.overlay:hover .mask {
+    opacity: 1
+}
+
+.overlay img, .overlay video {
+    transition: all .2s linear
+}
+
+.overlay .mask {
+    opacity: 0;
+    transition: all .4s ease-in-out
+}
+
+.pattern-1 {
+    background: url(../img/overlays/01.png)
+}
+
+.pattern-2 {
+    background: url(../img/overlays/02.png)
+}
+
+.pattern-3 {
+    background: url(../img/overlays/03.png)
+}
+
+.pattern-4 {
+    background: url(../img/overlays/04.png)
+}
+
+.pattern-5 {
+    background: url(../img/overlays/05.png)
+}
+
+.pattern-6 {
+    background: url(../img/overlays/06.png)
+}
+
+.pattern-7 {
+    background: url(../img/overlays/07.png)
+}
+
+.pattern-8 {
+    background: url(../img/overlays/08.png)
+}
+
+.pattern-9 {
+    background: url(../img/overlays/09.png)
+}
+
+.hm-blue-light .full-bg-img, .hm-blue-light .mask {
+    background-color: rgba(3, 169, 244, .3)
+}
+
+.hm-red-light .full-bg-img, .hm-red-light .mask {
+    background-color: rgba(244, 67, 54, .3)
+}
+
+.hm-pink-light .full-bg-img, .hm-pink-light .mask {
+    background-color: rgba(233, 30, 99, .3)
+}
+
+.hm-purple-light .full-bg-img, .hm-purple-light .mask {
+    background-color: rgba(156, 39, 176, .3)
+}
+
+.hm-indigo-light .full-bg-img, .hm-indigo-light .mask {
+    background-color: rgba(63, 81, 181, .3)
+}
+
+.hm-cyan-light .full-bg-img, .hm-cyan-light .mask {
+    background-color: rgba(0, 188, 212, .3)
+}
+
+.hm-teal-light .full-bg-img, .hm-teal-light .mask {
+    background-color: rgba(0, 150, 136, .3)
+}
+
+.hm-green-light .full-bg-img, .hm-green-light .mask {
+    background-color: rgba(76, 175, 80, .3)
+}
+
+.hm-lime-light .full-bg-img, .hm-lime-light .mask {
+    background-color: rgba(205, 220, 57, .3)
+}
+
+.hm-yellow-light .full-bg-img, .hm-yellow-light .mask {
+    background-color: rgba(255, 235, 59, .3)
+}
+
+.hm-orange-light .full-bg-img, .hm-orange-light .mask {
+    background-color: rgba(255, 152, 0, .3)
+}
+
+.hm-brown-light .full-bg-img, .hm-brown-light .mask {
+    background-color: rgba(121, 85, 72, .3)
+}
+
+.hm-grey-light .full-bg-img, .hm-grey-light .mask {
+    background-color: rgba(158, 158, 158, .3)
+}
+
+.hm-bluegrey-light .full-bg-img, .hm-bluegrey-light .mask {
+    background-color: rgba(96, 125, 139, .3)
+}
+
+.hm-black-light .full-bg-img, .hm-black-light .mask {
+    background-color: rgba(0, 0, 0, .3)
+}
+
+.hm-stylish-light .full-bg-img, .hm-stylish-light .mask {
+    background-color: rgba(62, 69, 81, .3)
+}
+
+.hm-white-light .full-bg-img, .hm-white-light .mask {
+    background-color: rgba(255, 255, 255, .3)
+}
+
+.hm-blue-strong .full-bg-img, .hm-blue-strong .mask {
+    background-color: rgba(3, 169, 244, .7)
+}
+
+.hm-red-strong .full-bg-img, .hm-red-strong .mask {
+    background-color: rgba(244, 67, 54, .7)
+}
+
+.hm-pink-strong .full-bg-img, .hm-pink-strong .mask {
+    background-color: rgba(233, 30, 99, .7)
+}
+
+.hm-purple-strong .full-bg-img, .hm-purple-strong .mask {
+    background-color: rgba(156, 39, 176, .7)
+}
+
+.hm-indigo-strong .full-bg-img, .hm-indigo-strong .mask {
+    background-color: rgba(63, 81, 181, .7)
+}
+
+.hm-cyan-strong .full-bg-img, .hm-cyan-strong .mask {
+    background-color: rgba(0, 188, 212, .7)
+}
+
+.hm-teal-strong .full-bg-img, .hm-teal-strong .mask {
+    background-color: rgba(0, 150, 136, .7)
+}
+
+.hm-green-strong .full-bg-img, .hm-green-strong .mask {
+    background-color: rgba(76, 175, 80, .7)
+}
+
+.hm-lime-strong .full-bg-img, .hm-lime-strong .mask {
+    background-color: rgba(205, 220, 57, .7)
+}
+
+.hm-yellow-strong .full-bg-img, .hm-yellow-strong .mask {
+    background-color: rgba(255, 235, 59, .7)
+}
+
+.hm-orange-strong .full-bg-img, .hm-orange-strong .mask {
+    background-color: rgba(255, 152, 0, .7)
+}
+
+.hm-brown-strong .full-bg-img, .hm-brown-strong .mask {
+    background-color: rgba(121, 85, 72, .7)
+}
+
+.hm-grey-strong .full-bg-img, .hm-grey-strong .mask {
+    background-color: rgba(158, 158, 158, .7)
+}
+
+.hm-bluegrey-strong .full-bg-img, .hm-bluegrey-strong .mask {
+    background-color: rgba(96, 125, 139, .7)
+}
+
+.hm-black-strong .full-bg-img, .hm-black-strong .mask {
+    background-color: rgba(0, 0, 0, .7)
+}
+
+.hm-stylish-strong .full-bg-img, .hm-stylish-strong .mask {
+    background-color: rgba(62, 69, 81, .7)
+}
+
+.hm-white-strong .full-bg-img, .hm-white-strong .mask {
+    background-color: rgba(255, 255, 255, .7)
+}
+
+.hm-blue-slight .full-bg-img, .hm-blue-slight .mask {
+    background-color: rgba(3, 169, 244, .1)
+}
+
+.hm-red-slight .full-bg-img, .hm-red-slight .mask {
+    background-color: rgba(244, 67, 54, .1)
+}
+
+.hm-pink-slight .full-bg-img, .hm-pink-slight .mask {
+    background-color: rgba(233, 30, 99, .1)
+}
+
+.hm-purple-slight .full-bg-img, .hm-purple-slight .mask {
+    background-color: rgba(156, 39, 176, .1)
+}
+
+.hm-indigo-slight .full-bg-img, .hm-indigo-slight .mask {
+    background-color: rgba(63, 81, 181, .1)
+}
+
+.hm-cyan-slight .full-bg-img, .hm-cyan-slight .mask {
+    background-color: rgba(0, 188, 212, .1)
+}
+
+.hm-teal-slight .full-bg-img, .hm-teal-slight .mask {
+    background-color: rgba(0, 150, 136, .1)
+}
+
+.hm-green-slight .full-bg-img, .hm-green-slight .mask {
+    background-color: rgba(76, 175, 80, .1)
+}
+
+.hm-lime-slight .full-bg-img, .hm-lime-slight .mask {
+    background-color: rgba(205, 220, 57, .1)
+}
+
+.hm-yellow-slight .full-bg-img, .hm-yellow-slight .mask {
+    background-color: rgba(255, 235, 59, .1)
+}
+
+.hm-orange-slight .full-bg-img, .hm-orange-slight .mask {
+    background-color: rgba(255, 152, 0, .1)
+}
+
+.hm-brown-slight .full-bg-img, .hm-brown-slight .mask {
+    background-color: rgba(121, 85, 72, .1)
+}
+
+.hm-grey-slight .full-bg-img, .hm-grey-slight .mask {
+    background-color: rgba(158, 158, 158, .1)
+}
+
+.hm-bluegrey-slight .full-bg-img, .hm-bluegrey-slight .mask {
+    background-color: rgba(96, 125, 139, .1)
+}
+
+.hm-black-slight .full-bg-img, .hm-black-slight .mask {
+    background-color: rgba(0, 0, 0, .1)
+}
+
+.hm-stylish-slight .full-bg-img, .hm-stylish-slight .mask {
+    background-color: rgba(62, 69, 81, .1)
+}
+
+.hm-white-slight .full-bg-img, .hm-white-slight .mask {
+    background-color: rgba(255, 255, 255, .1)
+}
+
+.hm-zoom img {
+    transition: all .2s linear
+}
+
+.hm-zoom:hover img {
+    -webkit-transform: scale(1.1);
+    -ms-transform: scale(1.1);
+    transform: scale(1.1)
+}
+
+.hm-zoom:hover .mask {
+    opacity: 1
+}
+
+.img-overlay {
+    position: relative
+}
+
+.img-overlay:after {
+    content: '';
+    display: block;
+    position: absolute;
+    bottom: 0;
+    right: 0;
+    background: rgba(0, 0, 0, .17);
+    transition: background .4s
+}
+
+.img-overlay:hover:after {
+    background: rgba(0, 0, 0, .35)
+}
+
+.img-overlay.light:after {
+    background: rgba(255, 255, 255, .17)
+}
+
+.img-overlay.light:hover:after {
+    background: rgba(255, 255, 255, .35)
+}
+
+.img-overlay.blue:after {
+    background: rgba(0, 145, 234, .17)
+}
+
+.img-overlay.blue:hover:after {
+    background: rgba(0, 145, 234, .35)
+}
+
+.img-overlay.green:after {
+    background: rgba(76, 175, 80, .17)
+}
+
+.img-overlay.green:hover:after {
+    background: rgba(76, 175, 80, .35)
+}
+
+.img-overlay.red:after {
+    background: rgba(213, 0, 0, .17)
+}
+
+.img-overlay.red:hover:after {
+    background: rgba(213, 0, 0, .35)
+}
+
+footer.page-footer {
+    margin-top: 20px;
+    padding-top: 20px;
+    background-color: #3E4551;
+    color: #fff
+}
+
+footer.page-footer .footer-copyright {
+    overflow: hidden;
+    height: 50px;
+    line-height: 50px;
+    color: rgba(255, 255, 255, .8);
+    background-color: rgba(0, 0, 0, .2);
+    text-align: center
+}
+
+footer.page-footer a {
+    color: #fff
+}
+
+footer.page-footer .call-to-action {
+    text-align: center;
+    padding-top: 1.3rem;
+    padding-bottom: .5rem
+}
+
+footer.page-footer .call-to-action ul li {
+    display: inline-block;
+    padding-right: 10px
+}
+
+footer.page-footer .social-section {
+    text-align: center
+}
+
+footer.page-footer .social-section ul li {
+    display: inline-block
+}
+
+ul.instagram-photos li {
+    display: inline-block;
+    max-width: 100px;
+    margin: 4px
+}
+
+ul.instagram-photos li img {
+    margin: 0
+}
+
+.carousel-control:hover {
+    -webkit-transition-duration: 400ms;
+    -moz-transition-duration: 400ms;
+    -o-transition-duration: 400ms;
+    -ms-transition-duration: 400ms;
+    transition-duration: 400ms
+}
+
+.carousel-fade .carousel-inner .carousel-item {
+    opacity: 0;
+    transition-property: opacity
+}
+
+.carousel-fade .carousel-inner .active {
+    opacity: 1
+}
+
+.carousel-fade .carousel-inner .active.left, .carousel-fade .carousel-inner .active.right {
+    left: 0;
+    opacity: 0;
+    z-index: 1
+}
+
+.carousel-fade .carousel-inner .next.left, .carousel-fade .carousel-inner .prev.right {
+    opacity: 1
+}
+
+.carousel-fade .carousel-control {
+    z-index: 2
+}
+
+@media all and (transform-3d), (-webkit-transform-3d) {
+    .carousel-fade .carousel-inner > .carousel-item.active.left, .carousel-fade .carousel-inner > .carousel-item.active.right,
+    .carousel-fade .carousel-inner > .carousel-item.next, .carousel-fade .carousel-inner > .carousel-item.prev {
+        opacity: 0;
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+
+    .carousel-fade .carousel-inner > .carousel-item.active, .carousel-fade .carousel-inner > .carousel-item.next.left,
+    .carousel-fade .carousel-inner > .carousel-item.prev.right {
+        opacity: 1;
+        -webkit-transform: translate3d(0, 0, 0);
+        transform: translate3d(0, 0, 0)
+    }
+}
+
+.carousel .carousel-control-next-icon, .carousel .carousel-control-prev-icon {
+    width: 36px;
+    height: 36px
+}
+
+.carousel .carousel-control-prev-icon {
+    background-image: url(../img/svg/arrow_left.svg)
+}
+
+.carousel .carousel-control-next-icon {
+    background-image: url(../img/svg/arrow_right.svg)
+}
+
+.carousel .carousel-indicators li {
+    max-width: 10px;
+    height: 10px;
+    border-radius: 50%
+}
+
+.carousel .video-fluid {
+    height: 100%
+}
+
+.carousel.no-flex .carousel-item-next, .carousel.no-flex .carousel-item-prev,
+.carousel.no-flex .carousel-item.active {
+    display: block
+}
\ No newline at end of file
diff --git a/workspace/public/favicon.ico b/workspace/public/favicon.ico
new file mode 100644
index 0000000..e69de29
diff --git a/workspace/public/img/arbre.jpg b/workspace/public/img/arbre.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5c99fb668a4e6c59c7c60f1643efd6f8c4a467cd
GIT binary patch
literal 113567
zcmex=<NpH&0WUXCHwH#VMuraz9~c<^KV;nET9KK?z~Jer#lXS9z`(-5&&b3e#K6E{
z$H2fKz{teF#lXN2z`(#@#K^=T!oa`~#lXOj+0Mei$iTpm#{dC-p5Fd`3eNsP0scXb
zA)fwz3=k0)O9KWY14BbALqjWL0|g@kD+6OI6H5jmhFMLlU=w^885rh5*&&P!3`!l$
zU~wh}1_pH~yMc*;fq4SN_83M61{Ns0fRTZLaS|6;eG4N41JfjknLQviQ1K~@3=FJL
z@i~kP4D6F2=Cd*|FmOQGAU|*-vALk?mw?P)08tO}Ez=SR8>F5YiOq(@2FZcc8Zj_1
zXfZH=Lk|`L2F418rdGzLR>l_aP(c<8kPBmQaN=ipt!EFWSr`}?*cccXG@<4=Fhb1x
z|B$mhqokz3N?$*(ST8XpKPgo&IX_pwBC$Z<P|rZ0!N$I#ATc>RwL~E)H9a%WR_Xoj
z{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;>6w1-Ypui3%0DIeEoa
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
At^fc4

literal 0
HcmV?d00001

diff --git a/workspace/public/img/arbreNav.jpg b/workspace/public/img/arbreNav.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3f1f5f28189e2e5451ca498fba1f6a08622bba0c
GIT binary patch
literal 21353
zcmex=<NpH&0WUXCHwH#VMg|WC4+e(+51ANTD>Bm<7(6|-7&sUh7}y#38JQS_7#J9m
z7#J7?7?~Kj7#J8z7#J9&7+Dz@85kJq7#J9&q3kvW1_ljAX0SLD0|SE*BNKxN0|P@J
z0|P^5I}2ER5d#GHd3yW%DLDHF1^5R!hIsn>F+fCIEDb<T0ju?3U;xub28QNVh6Ywf
z#tMc;Rt82^CYB5$46~XbE||f{z%UoeUckt}pwxkIfjX4k0CLU*b_Ny(1_lEoLj&ds
z5SOiBWME){viC4DFfdNy0^4|jk%56}62$x)AT?0&2aF61tWfb6j0_CylOT4nGB7Z3
zK-nPwaU!v~pz1$>f@=ZP4Tc5=j0+%oLBdQ+AZ(CcW+XNn5*s83QftJ(z@Wvz0FDVG
z14BbALqjVAV+BJ~D`QhDV+#gsVgYht3=U5G46pU<!89lw*cccXG@<4=Fhb1x|By{N
zqokz3N?$*(ST8XpKPgo&IX_pwBC$Z<P|rZ0!N$I#ATc>RwL~E)H9a%WR{j0%{pt#t
zDYok2roINg1<t7%nI2U|slio#A<0$Q$(AYV_I6x06;>6w1-Ypui3%0DIeEoa6}IYN
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
E034Eop#T5?

literal 0
HcmV?d00001

diff --git a/workspace/public/img/arbreRond.png b/workspace/public/img/arbreRond.png
new file mode 100644
index 0000000000000000000000000000000000000000..8522b1210957c6c573fe697a16796f686813d5f6
GIT binary patch
literal 530962
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

literal 0
HcmV?d00001

diff --git a/workspace/public/img/doge.png b/workspace/public/img/doge.png
new file mode 100644
index 0000000000000000000000000000000000000000..3166b12817019f0769572ab66687f22872964e9c
GIT binary patch
literal 42968
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
I=akR{0P1vz;s5{u

literal 0
HcmV?d00001

diff --git a/workspace/public/img/feuillesNav.jpeg b/workspace/public/img/feuillesNav.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1fbc7eeff04fc91370ceb5784b9c4c33a9b2fe0b
GIT binary patch
literal 102903
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
Zbz$|rZGYY4XMAVBBU<pn`m_E2n*dC$Xg>e|

literal 0
HcmV?d00001

diff --git a/workspace/public/index.php b/workspace/public/index.php
new file mode 100644
index 0000000..c582053
--- /dev/null
+++ b/workspace/public/index.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * Laravel - A PHP Framework For Web Artisans
+ *
+ * @package  Laravel
+ * @author   Taylor Otwell <taylorotwell@gmail.com>
+ */
+
+/*
+|--------------------------------------------------------------------------
+| Register The Auto Loader
+|--------------------------------------------------------------------------
+|
+| Composer provides a convenient, automatically generated class loader for
+| our application. We just need to utilize it! We'll simply require it
+| into the script here so that we don't have to worry about manual
+| loading any of our classes later on. It feels nice to relax.
+|
+*/
+
+require __DIR__.'/../bootstrap/autoload.php';
+
+/*
+|--------------------------------------------------------------------------
+| Turn On The Lights
+|--------------------------------------------------------------------------
+|
+| We need to illuminate PHP development, so let us turn on the lights.
+| This bootstraps the framework and gets it ready for use, then it
+| will load up this application so that we can run it and send
+| the responses back to the browser and delight our users.
+|
+*/
+
+$app = require_once __DIR__.'/../bootstrap/app.php';
+
+/*
+|--------------------------------------------------------------------------
+| Run The Application
+|--------------------------------------------------------------------------
+|
+| Once we have the application, we can handle the incoming request
+| through the kernel, and send the associated response back to
+| the client's browser allowing them to enjoy the creative
+| and wonderful application we have prepared for them.
+|
+*/
+
+$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
+
+$response = $kernel->handle(
+    $request = Illuminate\Http\Request::capture()
+);
+
+$response->send();
+
+$kernel->terminate($request, $response);
diff --git a/workspace/public/jquery/core.js b/workspace/public/jquery/core.js
new file mode 100644
index 0000000..0e95274
--- /dev/null
+++ b/workspace/public/jquery/core.js
@@ -0,0 +1,476 @@
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+define( [
+	"./var/arr",
+	"./var/document",
+	"./var/getProto",
+	"./var/slice",
+	"./var/concat",
+	"./var/push",
+	"./var/indexOf",
+	"./var/class2type",
+	"./var/toString",
+	"./var/hasOwn",
+	"./var/fnToString",
+	"./var/ObjectFunctionString",
+	"./var/support",
+	"./core/DOMEval"
+], function( arr, document, getProto, slice, concat, push, indexOf,
+	class2type, toString, hasOwn, fnToString, ObjectFunctionString,
+	support, DOMEval ) {
+
+"use strict";
+
+var
+	version = "3.2.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return letter.toUpperCase();
+	};
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	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();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	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 = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isFunction: function( obj ) {
+		return jQuery.type( obj ) === "function";
+	},
+
+	isWindow: function( obj ) {
+		return obj != null && obj === obj.window;
+	},
+
+	isNumeric: function( obj ) {
+
+		// As of jQuery 3.0, isNumeric is limited to
+		// strings and numbers (primitives or objects)
+		// that can be coerced to finite numbers (gh-2662)
+		var type = jQuery.type( obj );
+		return ( type === "number" || type === "string" ) &&
+
+			// parseFloat NaNs numeric-cast false positives ("")
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+			// subtraction forces infinities to NaN
+			!isNaN( obj - parseFloat( obj ) );
+	},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	type: function( obj ) {
+		if ( obj == null ) {
+			return obj + "";
+		}
+
+		// Support: Android <=2.3 only (functionish RegExp)
+		return typeof obj === "object" || typeof obj === "function" ?
+			class2type[ toString.call( obj ) ] || "object" :
+			typeof obj;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Support: IE <=9 - 11, Edge 12 - 13
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	now: Date.now,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = jQuery.type( obj );
+
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+
+return jQuery;
+} );
diff --git a/workspace/public/jquery/jquery.js b/workspace/public/jquery/jquery.js
new file mode 100644
index 0000000..d2d8ca4
--- /dev/null
+++ b/workspace/public/jquery/jquery.js
@@ -0,0 +1,10253 @@
+/*!
+ * jQuery JavaScript Library v3.2.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T18:59Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+	function DOMEval( code, doc ) {
+		doc = doc || document;
+
+		var script = doc.createElement( "script" );
+
+		script.text = code;
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.2.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return letter.toUpperCase();
+	};
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	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();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	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 = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isFunction: function( obj ) {
+		return jQuery.type( obj ) === "function";
+	},
+
+	isWindow: function( obj ) {
+		return obj != null && obj === obj.window;
+	},
+
+	isNumeric: function( obj ) {
+
+		// As of jQuery 3.0, isNumeric is limited to
+		// strings and numbers (primitives or objects)
+		// that can be coerced to finite numbers (gh-2662)
+		var type = jQuery.type( obj );
+		return ( type === "number" || type === "string" ) &&
+
+			// parseFloat NaNs numeric-cast false positives ("")
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+			// subtraction forces infinities to NaN
+			!isNaN( obj - parseFloat( obj ) );
+	},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	type: function( obj ) {
+		if ( obj == null ) {
+			return obj + "";
+		}
+
+		// Support: Android <=2.3 only (functionish RegExp)
+		return typeof obj === "object" || typeof obj === "function" ?
+			class2type[ toString.call( obj ) ] || "object" :
+			typeof obj;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Support: IE <=9 - 11, Edge 12 - 13
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	now: Date.now,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = jQuery.type( obj );
+
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+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 ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; 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",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	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" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"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/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( 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 ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		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 );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				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( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					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 + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				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 = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							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 ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"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);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"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 name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"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 ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+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 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (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 the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; 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 && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						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,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+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 ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Simple selector that can be filtered directly, removing non-Elements
+	if ( risSimple.test( qualifier ) ) {
+		return jQuery.filter( qualifier, elements, not );
+	}
+
+	// Complex selector, compare the two sets, removing non-Elements
+	qualifier = jQuery.filter( qualifier, elements );
+	return jQuery.grep( elements, function( elem ) {
+		return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+	} );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( 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 || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( jQuery.isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? 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 ) {
+        if ( nodeName( elem, "iframe" ) ) {
+            return elem.contentDocument;
+        }
+
+        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+        // Treat the template element as a regular one in browsers that
+        // don't support it.
+        if ( nodeName( elem, "template" ) ) {
+            elem = elem.content || elem;
+        }
+
+        return jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = locked || options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( jQuery.isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+			// * false: [ value ].slice( 0 ) => resolve( value )
+			// * true: [ value ].slice( 1 ) => resolve()
+			resolve.apply( undefined, [ value ].slice( noValue ) );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.apply( undefined, [ value ] );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "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() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && jQuery.isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( jQuery.isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+				!remaining );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( 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;
+	} );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( jQuery.type( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !jQuery.isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	if ( chainable ) {
+		return elems;
+	}
+
+	// Gets
+	if ( bulk ) {
+		return fn.call( elems );
+	}
+
+	return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ jQuery.camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( Array.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( jQuery.camelCase );
+			} else {
+				key = jQuery.camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnothtmlwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+	if ( data === "true" ) {
+		return true;
+	}
+
+	if ( data === "false" ) {
+		return false;
+	}
+
+	if ( data === "null" ) {
+		return null;
+	}
+
+	// Only convert to a number if it doesn't change the string
+	if ( data === +data + "" ) {
+		return +data;
+	}
+
+	if ( rbrace.test( data ) ) {
+		return JSON.parse( data );
+	}
+
+	return data;
+}
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = getData( data );
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+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 );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_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;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = jQuery.camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || Array.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return 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 );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_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;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+
+var swap = function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
+
+
+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" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		do {
+
+			// If previous iteration zeroed out, double until we get *something*.
+			// Use string for doubling so we don't accidentally see scale as unchanged below
+			scale = scale || ".5";
+
+			// Adjust and apply
+			initialInUnit = initialInUnit / scale;
+			jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Update scale, tolerating zero or NaN from tween.cur()
+		// Break the loop if scale is unchanged or perfect, or if we've just had enough.
+		} while (
+			scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+		);
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) );
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	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, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret;
+
+	if ( typeof context.getElementsByTagName !== "undefined" ) {
+		ret = context.getElementsByTagName( tag || "*" );
+
+	} else if ( typeof context.querySelectorAll !== "undefined" ) {
+		ret = context.querySelectorAll( tag || "*" );
+
+	} else {
+		ret = [];
+	}
+
+	if ( tag === undefined || tag && nodeName( context, tag ) ) {
+		return jQuery.merge( [ context ], ret );
+	}
+
+	return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( jQuery.type( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+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 );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			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 );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	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 ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( 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 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !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 );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, handleObj, sel, matchedHandlers, matchedSelectors,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Find delegate handlers
+		if ( delegateCount &&
+
+			// Support: IE <=9
+			// Black-hole SVG <use> instance trees (trac-13180)
+			cur.nodeType &&
+
+			// Support: Firefox <=42
+			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+			// Support: IE 11 only
+			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+			!( event.type === "click" && event.button >= 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+					matchedHandlers = [];
+					matchedSelectors = {};
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matchedSelectors[ sel ] === undefined ) {
+							matchedSelectors[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matchedSelectors[ sel ] ) {
+							matchedHandlers.push( handleObj );
+						}
+					}
+					if ( matchedHandlers.length ) {
+						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		cur = this;
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			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: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			if ( button & 1 ) {
+				return 1;
+			}
+
+			if ( button & 2 ) {
+				return 3;
+			}
+
+			if ( button & 4 ) {
+				return 2;
+			}
+
+			return 0;
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+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;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return 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 ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rscriptTypeMasked = /^true\/(.*)/,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+	if ( nodeName( elem, "table" ) &&
+		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return jQuery( ">tbody", elem )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	var match = rscriptTypeMasked.exec( elem.type );
+
+	if ( match ) {
+		elem.type = match[ 1 ];
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( 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 ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	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 );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( isFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( isFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return 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 ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+
+
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		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 = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = divStyle.marginLeft === "2px";
+		boxSizingReliableVal = divStyle.width === "4px";
+
+		// Support: Android 4.0 - 4.3 only
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.marginRight = "50%";
+		pixelMarginRightVal = divStyle.marginRight === "4px";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	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() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelMarginRight: function() {
+			computeStyleTests();
+			return pixelMarginRightVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		}
+	} );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+
+		// Support: Firefox 51+
+		// Retrieving style before computed somehow
+		// fixes an issue with getting wrong values
+		// on detached elements
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// getPropertyValue is needed for:
+	//   .css('filter') (IE 9 only, #12537)
+	//   .css('--customProperty) (#3144)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rcustomProp = /^--/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+	var ret = jQuery.cssProps[ name ];
+	if ( !ret ) {
+		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	}
+	return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+	var i,
+		val = 0;
+
+	// If we already have the right measurement, avoid augmentation
+	if ( extra === ( isBorderBox ? "border" : "content" ) ) {
+		i = 4;
+
+	// Otherwise initialize for horizontal or vertical properties
+	} else {
+		i = name === "width" ? 1 : 0;
+	}
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin, so add it if we want it
+		if ( extra === "margin" ) {
+			val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+		}
+
+		if ( isBorderBox ) {
+
+			// border-box includes padding, so remove it if we want content
+			if ( extra === "content" ) {
+				val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// At this point, extra isn't border nor margin, so remove border
+			if ( extra !== "margin" ) {
+				val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		} else {
+
+			// At this point, extra isn't content, so add padding
+			val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// At this point, extra isn't content nor padding, so add border
+			if ( extra !== "padding" ) {
+				val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+	// Start with computed style
+	var valueIsBorderBox,
+		styles = getStyles( elem ),
+		val = curCSS( elem, name, styles ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+	// Computed unit is not pixels. Stop here and return.
+	if ( rnumnonpx.test( val ) ) {
+		return val;
+	}
+
+	// Check for style in case a browser which returns unreliable values
+	// for getComputedStyle silently falls back to the reliable elem.style
+	valueIsBorderBox = isBorderBox &&
+		( support.boxSizingReliable() || val === elem.style[ name ] );
+
+	// Fall back to offsetWidth/Height when value is "auto"
+	// This happens for inline elements with no explicit setting (gh-3571)
+	if ( val === "auto" ) {
+		val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
+	}
+
+	// Normalize "", auto, and prepare for extra
+	val = parseFloat( val ) || 0;
+
+	// Use the active box-sizing model to add/subtract irrelevant styles
+	return ( val +
+		augmentWidthOrHeight(
+			elem,
+			name,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {
+		"float": "cssFloat"
+	},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = jQuery.camelCase( name ),
+			isCustomProp = rcustomProp.test( name ),
+			style = elem.style;
+
+		// Make sure that we're working with the right name. We don't
+		// want to query the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
+
+			// background-* props affect original clone's values
+			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+				style[ name ] = "inherit";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !( "set" in hooks ) ||
+				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+				if ( isCustomProp ) {
+					style.setProperty( name, value );
+				} else {
+					style[ name ] = value;
+				}
+			}
+
+		} else {
+
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks &&
+				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra, styles ) {
+		var val, num, hooks,
+			origName = jQuery.camelCase( name ),
+			isCustomProp = rcustomProp.test( name );
+
+		// Make sure that we're working with the right name. We don't
+		// want to modify the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Try prefixed name followed by the unprefixed name
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name, styles );
+		}
+
+		// Convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Make numeric if forced or a qualifier was provided and val looks numeric
+		if ( extra === "" || extra ) {
+			num = parseFloat( val );
+			return extra === true || isFinite( num ) ? num || 0 : val;
+		}
+
+		return val;
+	}
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+	jQuery.cssHooks[ name ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+
+				// Certain elements can have dimension info if we invisibly show them
+				// but it must have a current display style that would benefit
+				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+					// Support: Safari 8+
+					// Table columns in Safari have non-zero offsetWidth & zero
+					// getBoundingClientRect().width unless display is changed.
+					// Support: IE <=11 only
+					// Running getBoundingClientRect on a disconnected node
+					// in IE throws an error.
+					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+						swap( elem, cssShow, function() {
+							return getWidthOrHeight( elem, name, extra );
+						} ) :
+						getWidthOrHeight( elem, name, extra );
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			var matches,
+				styles = extra && getStyles( elem ),
+				subtract = extra && augmentWidthOrHeight(
+					elem,
+					name,
+					extra,
+					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+					styles
+				);
+
+			// Convert to pixels if value adjustment is needed
+			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+				( matches[ 3 ] || "px" ) !== "px" ) {
+
+				elem.style[ name ] = value;
+				value = jQuery.css( elem, name );
+			}
+
+			return 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";
+		}
+	}
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i = 0,
+				expanded = {},
+
+				// Assumes a single number if not a string
+				parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+			for ( ; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( !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 ( Array.isArray( name ) ) {
+				styles = getStyles( elem );
+				len = name.length;
+
+				for ( ; i < len; i++ ) {
+					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+				}
+
+				return map;
+			}
+
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	}
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+	return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+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 ];
+
+		if ( this.options.duration ) {
+			this.pos = eased = jQuery.easing[ this.easing ](
+				percent, this.options.duration * percent, 0, 1, this.options.duration
+			);
+		} else {
+			this.pos = eased = percent;
+		}
+		this.now = ( this.end - this.start ) * eased + this.start;
+
+		if ( this.options.step ) {
+			this.options.step.call( this.elem, this.now, this );
+		}
+
+		if ( hooks && hooks.set ) {
+			hooks.set( this );
+		} else {
+			Tween.propHooks._default.set( this );
+		}
+		return this;
+	}
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+	_default: {
+		get: function( tween ) {
+			var result;
+
+			// Use a property on the element directly when it is not a DOM element,
+			// or when there is no matching style property that exists.
+			if ( tween.elem.nodeType !== 1 ||
+				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+				return tween.elem[ tween.prop ];
+			}
+
+			// Passing an empty string as a 3rd parameter to .css will automatically
+			// attempt a parseFloat and fallback to a string if the parse fails.
+			// Simple values such as "10px" are parsed to Float;
+			// complex values such as "rotate(1rad)" are returned as-is.
+			result = jQuery.css( tween.elem, tween.prop, "" );
+
+			// Empty strings, null, undefined and "auto" are converted to 0.
+			return !result || result === "auto" ? 0 : result;
+		},
+		set: function( tween ) {
+
+			// Use step hook for back compat.
+			// Use cssHook if its there.
+			// Use .style if available and use plain properties where available.
+			if ( jQuery.fx.step[ tween.prop ] ) {
+				jQuery.fx.step[ tween.prop ]( tween );
+			} else if ( tween.elem.nodeType === 1 &&
+				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+					jQuery.cssHooks[ tween.prop ] ) ) {
+				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+			} else {
+				tween.elem[ tween.prop ] = tween.now;
+			}
+		}
+	}
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+	set: function( tween ) {
+		if ( tween.elem.nodeType && tween.elem.parentNode ) {
+			tween.elem[ tween.prop ] = tween.now;
+		}
+	}
+};
+
+jQuery.easing = {
+	linear: function( p ) {
+		return p;
+	},
+	swing: function( p ) {
+		return 0.5 - Math.cos( p * Math.PI ) / 2;
+	},
+	_default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+	fxNow, inProgress,
+	rfxtypes = /^(?:toggle|show|hide)$/,
+	rrun = /queueHooks$/;
+
+function schedule() {
+	if ( inProgress ) {
+		if ( document.hidden === false && window.requestAnimationFrame ) {
+			window.requestAnimationFrame( schedule );
+		} else {
+			window.setTimeout( schedule, jQuery.fx.interval );
+		}
+
+		jQuery.fx.tick();
+	}
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+	window.setTimeout( function() {
+		fxNow = undefined;
+	} );
+	return ( fxNow = jQuery.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+	var which,
+		i = 0,
+		attrs = { height: type };
+
+	// If we include width, step value is 1 to do all cssExpand values,
+	// otherwise step value is 2 to skip over Left and Right
+	includeWidth = includeWidth ? 1 : 0;
+	for ( ; i < 4; i += 2 - includeWidth ) {
+		which = cssExpand[ i ];
+		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+	}
+
+	if ( includeWidth ) {
+		attrs.opacity = attrs.width = type;
+	}
+
+	return attrs;
+}
+
+function createTween( value, prop, animation ) {
+	var tween,
+		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+		index = 0,
+		length = collection.length;
+	for ( ; index < length; index++ ) {
+		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+			// We're done with this property
+			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" );
+
+	// Queue-skipping animations hijack the fx hooks
+	if ( !opts.queue ) {
+		hooks = jQuery._queueHooks( elem, "fx" );
+		if ( hooks.unqueued == null ) {
+			hooks.unqueued = 0;
+			oldfire = hooks.empty.fire;
+			hooks.empty.fire = function() {
+				if ( !hooks.unqueued ) {
+					oldfire();
+				}
+			};
+		}
+		hooks.unqueued++;
+
+		anim.always( function() {
+
+			// Ensure the complete handler is called before this completes
+			anim.always( function() {
+				hooks.unqueued--;
+				if ( !jQuery.queue( elem, "fx" ).length ) {
+					hooks.empty.fire();
+				}
+			} );
+		} );
+	}
+
+	// Detect show/hide animations
+	for ( prop in props ) {
+		value = props[ prop ];
+		if ( rfxtypes.test( value ) ) {
+			delete props[ prop ];
+			toggle = toggle || value === "toggle";
+			if ( value === ( hidden ? "hide" : "show" ) ) {
+
+				// Pretend to be hidden if this is a "show" and
+				// there is still data from a stopped show/hide
+				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+					hidden = true;
+
+				// Ignore all other no-op show/hide data
+				} else {
+					continue;
+				}
+			}
+			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+		}
+	}
+
+	// Bail out if this is a no-op like .hide().hide()
+	propTween = !jQuery.isEmptyObject( props );
+	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+		return;
+	}
+
+	// Restrict "overflow" and "display" styles during box animations
+	if ( isBox && elem.nodeType === 1 ) {
+
+		// Support: IE <=9 - 11, Edge 12 - 13
+		// Record all 3 overflow attributes because IE does not infer the shorthand
+		// from identically-valued overflowX and overflowY
+		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+		// Identify a display type, preferring old show/hide data over the CSS cascade
+		restoreDisplay = dataShow && dataShow.display;
+		if ( restoreDisplay == null ) {
+			restoreDisplay = dataPriv.get( elem, "display" );
+		}
+		display = jQuery.css( elem, "display" );
+		if ( display === "none" ) {
+			if ( restoreDisplay ) {
+				display = restoreDisplay;
+			} else {
+
+				// Get nonempty value(s) by temporarily forcing visibility
+				showHide( [ elem ], true );
+				restoreDisplay = elem.style.display || restoreDisplay;
+				display = jQuery.css( elem, "display" );
+				showHide( [ elem ] );
+			}
+		}
+
+		// Animate inline elements as inline-block
+		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+			if ( jQuery.css( elem, "float" ) === "none" ) {
+
+				// Restore the original display value at the end of pure show/hide animations
+				if ( !propTween ) {
+					anim.done( function() {
+						style.display = restoreDisplay;
+					} );
+					if ( restoreDisplay == null ) {
+						display = style.display;
+						restoreDisplay = display === "none" ? "" : display;
+					}
+				}
+				style.display = "inline-block";
+			}
+		}
+	}
+
+	if ( opts.overflow ) {
+		style.overflow = "hidden";
+		anim.always( function() {
+			style.overflow = opts.overflow[ 0 ];
+			style.overflowX = opts.overflow[ 1 ];
+			style.overflowY = opts.overflow[ 2 ];
+		} );
+	}
+
+	// Implement show/hide animations
+	propTween = false;
+	for ( prop in orig ) {
+
+		// General show/hide setup for this element animation
+		if ( !propTween ) {
+			if ( dataShow ) {
+				if ( "hidden" in dataShow ) {
+					hidden = dataShow.hidden;
+				}
+			} else {
+				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+			}
+
+			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+			if ( toggle ) {
+				dataShow.hidden = !hidden;
+			}
+
+			// Show elements before animating them
+			if ( hidden ) {
+				showHide( [ elem ], true );
+			}
+
+			/* eslint-disable no-loop-func */
+
+			anim.done( function() {
+
+			/* eslint-enable no-loop-func */
+
+				// The final step of a "hide" animation is actually hiding the element
+				if ( !hidden ) {
+					showHide( [ elem ] );
+				}
+				dataPriv.remove( elem, "fxshow" );
+				for ( prop in orig ) {
+					jQuery.style( elem, prop, orig[ prop ] );
+				}
+			} );
+		}
+
+		// Per-property setup
+		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+		if ( !( prop in dataShow ) ) {
+			dataShow[ prop ] = propTween.start;
+			if ( hidden ) {
+				propTween.end = propTween.start;
+				propTween.start = 0;
+			}
+		}
+	}
+}
+
+function propFilter( props, specialEasing ) {
+	var index, name, easing, value, hooks;
+
+	// camelCase, specialEasing and expand cssHook pass
+	for ( index in props ) {
+		name = jQuery.camelCase( index );
+		easing = specialEasing[ name ];
+		value = props[ index ];
+		if ( Array.isArray( value ) ) {
+			easing = value[ 1 ];
+			value = props[ index ] = value[ 0 ];
+		}
+
+		if ( index !== name ) {
+			props[ name ] = value;
+			delete props[ index ];
+		}
+
+		hooks = jQuery.cssHooks[ name ];
+		if ( hooks && "expand" in hooks ) {
+			value = hooks.expand( value );
+			delete props[ name ];
+
+			// Not quite $.extend, this won't overwrite existing keys.
+			// Reusing 'index' because we have the correct "name"
+			for ( index in value ) {
+				if ( !( 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() {
+
+			// Don't match elem in the :animated selector
+			delete tick.elem;
+		} ),
+		tick = function() {
+			if ( stopped ) {
+				return false;
+			}
+			var currentTime = fxNow || createFxNow(),
+				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+				// Support: Android 2.3 only
+				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+				temp = remaining / animation.duration || 0,
+				percent = 1 - temp,
+				index = 0,
+				length = animation.tweens.length;
+
+			for ( ; index < length; index++ ) {
+				animation.tweens[ index ].run( percent );
+			}
+
+			deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+			// If there's more to do, yield
+			if ( percent < 1 && length ) {
+				return remaining;
+			}
+
+			// If this was an empty animation, synthesize a final progress notification
+			if ( !length ) {
+				deferred.notifyWith( elem, [ animation, 1, 0 ] );
+			}
+
+			// Resolve the animation and report its conclusion
+			deferred.resolveWith( elem, [ animation ] );
+			return false;
+		},
+		animation = deferred.promise( {
+			elem: elem,
+			props: jQuery.extend( {}, properties ),
+			opts: jQuery.extend( true, {
+				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 );
+				animation.tweens.push( tween );
+				return tween;
+			},
+			stop: function( gotoEnd ) {
+				var index = 0,
+
+					// If we are going to the end, we want to run all the tweens
+					// otherwise we skip this part
+					length = gotoEnd ? animation.tweens.length : 0;
+				if ( stopped ) {
+					return this;
+				}
+				stopped = true;
+				for ( ; index < length; index++ ) {
+					animation.tweens[ index ].run( 1 );
+				}
+
+				// Resolve when we played the last frame; otherwise, reject
+				if ( gotoEnd ) {
+					deferred.notifyWith( elem, [ animation, 1, 0 ] );
+					deferred.resolveWith( elem, [ animation, gotoEnd ] );
+				} else {
+					deferred.rejectWith( elem, [ animation, gotoEnd ] );
+				}
+				return this;
+			}
+		} ),
+		props = animation.props;
+
+	propFilter( props, animation.opts.specialEasing );
+
+	for ( ; index < length; index++ ) {
+		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+		if ( result ) {
+			if ( jQuery.isFunction( result.stop ) ) {
+				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+					jQuery.proxy( result.stop, result );
+			}
+			return result;
+		}
+	}
+
+	jQuery.map( props, createTween, animation );
+
+	if ( jQuery.isFunction( animation.opts.start ) ) {
+		animation.opts.start.call( elem, animation );
+	}
+
+	// Attach callbacks from options
+	animation
+		.progress( animation.opts.progress )
+		.done( animation.opts.done, animation.opts.complete )
+		.fail( animation.opts.fail )
+		.always( animation.opts.always );
+
+	jQuery.fx.timer(
+		jQuery.extend( tick, {
+			elem: elem,
+			anim: animation,
+			queue: animation.opts.queue
+		} )
+	);
+
+	return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+	tweeners: {
+		"*": [ function( prop, value ) {
+			var tween = this.createTween( prop, value );
+			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+			return tween;
+		} ]
+	},
+
+	tweener: function( props, callback ) {
+		if ( jQuery.isFunction( props ) ) {
+			callback = props;
+			props = [ "*" ];
+		} else {
+			props = props.match( rnothtmlwhite );
+		}
+
+		var prop,
+			index = 0,
+			length = props.length;
+
+		for ( ; index < length; index++ ) {
+			prop = props[ index ];
+			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+			Animation.tweeners[ prop ].unshift( callback );
+		}
+	},
+
+	prefilters: [ defaultPrefilter ],
+
+	prefilter: function( callback, prepend ) {
+		if ( prepend ) {
+			Animation.prefilters.unshift( callback );
+		} else {
+			Animation.prefilters.push( callback );
+		}
+	}
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+		complete: fn || !fn && easing ||
+			jQuery.isFunction( speed ) && speed,
+		duration: speed,
+		easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+	};
+
+	// Go to the end state if fx are off
+	if ( jQuery.fx.off ) {
+		opt.duration = 0;
+
+	} else {
+		if ( typeof opt.duration !== "number" ) {
+			if ( opt.duration in jQuery.fx.speeds ) {
+				opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+			} else {
+				opt.duration = jQuery.fx.speeds._default;
+			}
+		}
+	}
+
+	// Normalize opt.queue - true/undefined/null -> "fx"
+	if ( opt.queue == null || opt.queue === true ) {
+		opt.queue = "fx";
+	}
+
+	// Queueing
+	opt.old = opt.complete;
+
+	opt.complete = function() {
+		if ( jQuery.isFunction( opt.old ) ) {
+			opt.old.call( this );
+		}
+
+		if ( opt.queue ) {
+			jQuery.dequeue( this, opt.queue );
+		}
+	};
+
+	return opt;
+};
+
+jQuery.fn.extend( {
+	fadeTo: function( speed, to, easing, callback ) {
+
+		// Show any hidden elements after setting opacity to 0
+		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+			// Animate to the value specified
+			.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() {
+
+				// Operate on a copy of prop so per-property easing won't be lost
+				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+				// Empty animations, or finishing resolves immediately
+				if ( empty || dataPriv.get( this, "finish" ) ) {
+					anim.stop( true );
+				}
+			};
+			doAnimation.finish = doAnimation;
+
+		return empty || optall.queue === false ?
+			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 );
+		};
+
+		if ( typeof type !== "string" ) {
+			gotoEnd = clearQueue;
+			clearQueue = type;
+			type = undefined;
+		}
+		if ( clearQueue && type !== false ) {
+			this.queue( type || "fx", [] );
+		}
+
+		return this.each( function() {
+			var dequeue = true,
+				index = type != null && type + "queueHooks",
+				timers = jQuery.timers,
+				data = dataPriv.get( this );
+
+			if ( index ) {
+				if ( data[ index ] && data[ index ].stop ) {
+					stopQueue( data[ index ] );
+				}
+			} else {
+				for ( index in data ) {
+					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+						stopQueue( data[ index ] );
+					}
+				}
+			}
+
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this &&
+					( type == null || timers[ index ].queue === type ) ) {
+
+					timers[ index ].anim.stop( gotoEnd );
+					dequeue = false;
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Start the next in the queue if the last step wasn't forced.
+			// Timers currently will call their complete callbacks, which
+			// will dequeue but only if they were gotoEnd.
+			if ( dequeue || !gotoEnd ) {
+				jQuery.dequeue( this, type );
+			}
+		} );
+	},
+	finish: function( type ) {
+		if ( type !== false ) {
+			type = type || "fx";
+		}
+		return 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;
+
+			// Enable finishing flag on private data
+			data.finish = true;
+
+			// Empty the queue first
+			jQuery.queue( this, type, [] );
+
+			if ( hooks && hooks.stop ) {
+				hooks.stop.call( this, true );
+			}
+
+			// Look for any active animations, and finish them
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+					timers[ index ].anim.stop( true );
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Look for any animations in the old queue and finish them
+			for ( index = 0; index < length; index++ ) {
+				if ( queue[ index ] && queue[ index ].finish ) {
+					queue[ index ].finish.call( this );
+				}
+			}
+
+			// Turn off finishing flag
+			delete data.finish;
+		} );
+	}
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+	var cssFn = jQuery.fn[ name ];
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return speed == null || typeof speed === "boolean" ?
+			cssFn.apply( this, arguments ) :
+			this.animate( genFx( name, true ), speed, easing, callback );
+	};
+} );
+
+// Generate shortcuts for custom animations
+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;
+
+	fxNow = jQuery.now();
+
+	for ( ; i < timers.length; i++ ) {
+		timer = timers[ i ];
+
+		// Run the timer and safely remove it when done (allowing for external removal)
+		if ( !timer() && timers[ i ] === timer ) {
+			timers.splice( i--, 1 );
+		}
+	}
+
+	if ( !timers.length ) {
+		jQuery.fx.stop();
+	}
+	fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+	jQuery.timers.push( timer );
+	jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+	if ( inProgress ) {
+		return;
+	}
+
+	inProgress = true;
+	schedule();
+};
+
+jQuery.fx.stop = function() {
+	inProgress = null;
+};
+
+jQuery.fx.speeds = {
+	slow: 600,
+	fast: 200,
+
+	// Default speed
+	_default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+	type = type || "fx";
+
+	return 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: Android <=4.3 only
+	// Default value for a checkbox should be "on"
+	support.checkOn = input.value !== "";
+
+	// Support: IE <=11 only
+	// Must access selectedIndex to make default options select
+	support.optSelected = opt.selected;
+
+	// Support: IE <=11 only
+	// An input loses its value after becoming a radio
+	input = document.createElement( "input" );
+	input.value = "t";
+	input.type = "radio";
+	support.radioValue = input.value === "t";
+} )();
+
+
+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;
+
+		// Don't get/set attributes on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		// Attribute hooks are determined by the lowercase version
+		// Grab necessary hook if one is defined
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+		}
+
+		if ( value !== undefined ) {
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+			}
+
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			elem.setAttribute( name, value + "" );
+			return value;
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		ret = jQuery.find.attr( elem, name );
+
+		// Non-existent attributes return null, we normalize to undefined
+		return ret == null ? undefined : ret;
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				if ( !support.radioValue && value === "radio" &&
+					nodeName( elem, "input" ) ) {
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var name,
+			i = 0,
+
+			// Attribute names can contain non-HTML whitespace characters
+			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+			attrNames = value && value.match( rnothtmlwhite );
+
+		if ( attrNames && elem.nodeType === 1 ) {
+			while ( ( name = attrNames[ i++ ] ) ) {
+				elem.removeAttribute( name );
+			}
+		}
+	}
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+	set: function( elem, value, name ) {
+		if ( value === false ) {
+
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			elem.setAttribute( name, name );
+		}
+		return 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();
+
+		if ( !isXML ) {
+
+			// Avoid an infinite loop by temporarily removing this function from the getter
+			handle = attrHandle[ lowercaseName ];
+			attrHandle[ lowercaseName ] = ret;
+			ret = getter( elem, name, isXML ) != null ?
+				lowercaseName :
+				null;
+			attrHandle[ lowercaseName ] = handle;
+		}
+		return 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;
+
+		// Don't get/set properties on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			return ( elem[ name ] = value );
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		return elem[ name ];
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+
+				// Support: IE <=9 - 11 only
+				// elem.tabIndex doesn't always return the
+				// correct value when it hasn't been explicitly set
+				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				// Use proper attribute retrieval(#12072)
+				var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+				if ( tabindex ) {
+					return parseInt( tabindex, 10 );
+				}
+
+				if (
+					rfocusable.test( elem.nodeName ) ||
+					rclickable.test( elem.nodeName ) &&
+					elem.href
+				) {
+					return 0;
+				}
+
+				return -1;
+			}
+		}
+	},
+
+	propFix: {
+		"for": "htmlFor",
+		"class": "className"
+	}
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+	jQuery.propHooks.selected = {
+		get: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent && parent.parentNode ) {
+				parent.parentNode.selectedIndex;
+			}
+			return null;
+		},
+		set: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent ) {
+				parent.selectedIndex;
+
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+		}
+	};
+}
+
+jQuery.each( [
+	"tabIndex",
+	"readOnly",
+	"maxLength",
+	"cellSpacing",
+	"cellPadding",
+	"rowSpan",
+	"colSpan",
+	"useMap",
+	"frameBorder",
+	"contentEditable"
+], function() {
+	jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+	// Strip and collapse whitespace according to HTML spec
+	// https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
+	function stripAndCollapse( value ) {
+		var tokens = value.match( rnothtmlwhite ) || [];
+		return tokens.join( " " );
+	}
+
+
+function getClass( elem ) {
+	return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+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 ( typeof value === "string" && value ) {
+			classes = value.match( rnothtmlwhite ) || [];
+
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+							cur += clazz + " ";
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( 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 ( typeof value === "string" && value ) {
+			classes = value.match( rnothtmlwhite ) || [];
+
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+
+				// This expression is here for better compressibility (see addClass)
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+
+						// Remove *all* instances
+						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+							cur = cur.replace( " " + clazz + " ", " " );
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value;
+
+		if ( typeof stateVal === "boolean" && type === "string" ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).toggleClass(
+					value.call( this, i, getClass( this ), stateVal ),
+					stateVal
+				);
+			} );
+		}
+
+		return this.each( function() {
+			var className, i, self, classNames;
+
+			if ( type === "string" ) {
+
+				// Toggle individual class names
+				i = 0;
+				self = jQuery( this );
+				classNames = value.match( rnothtmlwhite ) || [];
+
+				while ( ( className = classNames[ i++ ] ) ) {
+
+					// Check each className given, space separated list
+					if ( self.hasClass( className ) ) {
+						self.removeClass( className );
+					} else {
+						self.addClass( className );
+					}
+				}
+
+			// Toggle whole class name
+			} else if ( value === undefined || type === "boolean" ) {
+				className = getClass( this );
+				if ( className ) {
+
+					// Store className if set
+					dataPriv.set( this, "__className__", className );
+				}
+
+				// If the element has a class name or if we're passed `false`,
+				// then remove the whole classname (if there was one, the above saved it).
+				// Otherwise bring back whatever was previously saved (if anything),
+				// falling back to the empty string if nothing was stored.
+				if ( this.setAttribute ) {
+					this.setAttribute( "class",
+						className || value === false ?
+						"" :
+						dataPriv.get( this, "__className__" ) || ""
+					);
+				}
+			}
+		} );
+	},
+
+	hasClass: function( selector ) {
+		var className, elem,
+			i = 0;
+
+		className = " " + selector + " ";
+		while ( ( elem = this[ i++ ] ) ) {
+			if ( elem.nodeType === 1 &&
+				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+					return true;
+			}
+		}
+
+		return false;
+	}
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+	val: function( value ) {
+		var hooks, ret, isFunction,
+			elem = this[ 0 ];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] ||
+					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks &&
+					"get" in hooks &&
+					( ret = hooks.get( elem, "value" ) ) !== undefined
+				) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				// Handle most common string cases
+				if ( typeof ret === "string" ) {
+					return ret.replace( rreturn, "" );
+				}
+
+				// Handle cases where value is null/undef or number
+				return ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		isFunction = jQuery.isFunction( value );
+
+		return this.each( function( i ) {
+			var val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( isFunction ) {
+				val = value.call( this, i, jQuery( this ).val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+
+			} else if ( typeof val === "number" ) {
+				val += "";
+
+			} else if ( Array.isArray( val ) ) {
+				val = jQuery.map( val, function( value ) {
+					return value == null ? "" : value + "";
+				} );
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		} );
+	}
+} );
+
+jQuery.extend( {
+	valHooks: {
+		option: {
+			get: function( elem ) {
+
+				var val = jQuery.find.attr( elem, "value" );
+				return val != null ?
+					val :
+
+					// Support: IE <=10 - 11 only
+					// option.text throws exceptions (#14686, #14858)
+					// Strip and collapse whitespace
+					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+					stripAndCollapse( jQuery.text( elem ) );
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, option, i,
+					options = elem.options,
+					index = elem.selectedIndex,
+					one = elem.type === "select-one",
+					values = one ? null : [],
+					max = one ? index + 1 : options.length;
+
+				if ( index < 0 ) {
+					i = max;
+
+				} else {
+					i = one ? index : 0;
+				}
+
+				// Loop through all the selected options
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Support: IE <=9 only
+					// IE8-9 doesn't update selected after form reset (#2551)
+					if ( ( option.selected || i === index ) &&
+
+							// Don't return options that are disabled or in a disabled optgroup
+							!option.disabled &&
+							( !option.parentNode.disabled ||
+								!nodeName( option.parentNode, "optgroup" ) ) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var optionSet, option,
+					options = elem.options,
+					values = jQuery.makeArray( value ),
+					i = options.length;
+
+				while ( i-- ) {
+					option = options[ i ];
+
+					/* eslint-disable no-cond-assign */
+
+					if ( option.selected =
+						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+					) {
+						optionSet = true;
+					}
+
+					/* eslint-enable no-cond-assign */
+				}
+
+				// Force browsers to behave consistently when non-matching value is set
+				if ( !optionSet ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	}
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = {
+		set: function( elem, value ) {
+			if ( Array.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+			}
+		}
+	};
+	if ( !support.checkOn ) {
+		jQuery.valHooks[ this ].get = function( elem ) {
+			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+		};
+	}
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+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( "." ) : [];
+
+		cur = tmp = elem = elem || document;
+
+		// Don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "." ) > -1 ) {
+
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split( "." );
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+		ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+		// Caller can pass in a jQuery.Event object, Object, or just an event type string
+		event = event[ jQuery.expando ] ?
+			event :
+			new jQuery.Event( type, typeof event === "object" && event );
+
+		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+		event.isTrigger = onlyHandlers ? 2 : 3;
+		event.namespace = namespaces.join( "." );
+		event.rnamespace = event.namespace ?
+			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+			null;
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data == null ?
+			[ event ] :
+			jQuery.makeArray( data, [ event ] );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			if ( !rfocusMorph.test( bubbleType + type ) ) {
+				cur = cur.parentNode;
+			}
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push( cur );
+				tmp = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( tmp === ( elem.ownerDocument || document ) ) {
+				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+			}
+		}
+
+		// Fire handlers on the event path
+		i = 0;
+		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+			event.type = i > 1 ?
+				bubbleType :
+				special.bindType || type;
+
+			// jQuery handler
+			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+				dataPriv.get( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+
+			// Native handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && handle.apply && acceptData( cur ) ) {
+				event.result = handle.apply( cur, data );
+				if ( event.result === false ) {
+					event.preventDefault();
+				}
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( ( !special._default ||
+				special._default.apply( eventPath.pop(), data ) === false ) &&
+				acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name as the event.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					tmp = elem[ ontype ];
+
+					if ( tmp ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+					elem[ type ]();
+					jQuery.event.triggered = undefined;
+
+					if ( tmp ) {
+						elem[ ontype ] = tmp;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Piggyback on a donor event to simulate a different one
+	// Used only for `focus(in | out)` events
+	simulate: function( type, elem, event ) {
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{
+				type: type,
+				isSimulated: true
+			}
+		);
+
+		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, true );
+		}
+	}
+} );
+
+
+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 ) {
+
+	// Handle event binding
+	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: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler on the document while someone wants focusin/focusout
+		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 );
+
+				if ( !attaches ) {
+					doc.addEventListener( orig, handler, true );
+				}
+				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+			},
+			teardown: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix ) - 1;
+
+				if ( !attaches ) {
+					doc.removeEventListener( orig, handler, true );
+					dataPriv.remove( doc, fix );
+
+				} else {
+					dataPriv.access( doc, fix, attaches );
+				}
+			}
+		};
+	} );
+}
+var location = window.location;
+
+var nonce = jQuery.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+	var xml;
+	if ( !data || typeof data !== "string" ) {
+		return null;
+	}
+
+	// Support: IE 9 - 11 only
+	// IE throws on parseFromString with invalid input.
+	try {
+		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+	} catch ( e ) {
+		xml = undefined;
+	}
+
+	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+		jQuery.error( "Invalid XML: " + data );
+	}
+	return xml;
+};
+
+
+var
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+	rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( Array.isArray( obj ) ) {
+
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+
+				// Item is non-scalar (array or object), encode its numeric index.
+				buildParams(
+					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+					v,
+					traditional,
+					add
+				);
+			}
+		} );
+
+	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, valueOrFunction ) {
+
+			// If value is a function, invoke it and use its return value
+			var value = jQuery.isFunction( valueOrFunction ) ?
+				valueOrFunction() :
+				valueOrFunction;
+
+			s[ s.length ] = encodeURIComponent( key ) + "=" +
+				encodeURIComponent( value == null ? "" : value );
+		};
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		} );
+
+	} else {
+
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map( function() {
+
+			// Can add propHook for "elements" to filter or add form elements
+			var elements = jQuery.prop( this, "elements" );
+			return elements ? jQuery.makeArray( elements ) : this;
+		} )
+		.filter( function() {
+			var type = this.type;
+
+			// Use .is( ":disabled" ) so that fieldset[disabled] works
+			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();
+
+			if ( val == null ) {
+				return null;
+			}
+
+			if ( Array.isArray( val ) ) {
+				return jQuery.map( val, function( val ) {
+					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+				} );
+			}
+
+			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		} ).get();
+	}
+} );
+
+
+var
+	r20 = /%20/g,
+	rhash = /#.*$/,
+	rantiCache = /([?&])_=[^&]*/,
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+	// #7653, #8125, #8152: local protocol detection
+	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+	rnoContent = /^(?:GET|HEAD)$/,
+	rprotocol = /^\/\//,
+
+	/* Prefilters
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+	 * 2) These are called:
+	 *    - BEFORE asking for a transport
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
+	 * 3) key is the dataType
+	 * 4) the catchall symbol "*" can be used
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+	 */
+	prefilters = {},
+
+	/* Transports bindings
+	 * 1) key is the dataType
+	 * 2) the catchall symbol "*" can be used
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
+	 */
+	transports = {},
+
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	allTypes = "*/".concat( "*" ),
+
+	// Anchor tag for parsing the document origin
+	originAnchor = document.createElement( "a" );
+	originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+	// dataTypeExpression is optional and defaults to "*"
+	return function( dataTypeExpression, func ) {
+
+		if ( typeof dataTypeExpression !== "string" ) {
+			func = dataTypeExpression;
+			dataTypeExpression = "*";
+		}
+
+		var dataType,
+			i = 0,
+			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+		if ( jQuery.isFunction( func ) ) {
+
+			// For each dataType in the dataTypeExpression
+			while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+				// Prepend if requested
+				if ( dataType[ 0 ] === "+" ) {
+					dataType = dataType.slice( 1 ) || "*";
+					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+				// Otherwise append
+				} else {
+					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+				}
+			}
+		}
+	};
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+	var inspected = {},
+		seekingTransport = ( structure === transports );
+
+	function inspect( dataType ) {
+		var selected;
+		inspected[ dataType ] = true;
+		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+			if ( typeof dataTypeOrTransport === "string" &&
+				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+				options.dataTypes.unshift( dataTypeOrTransport );
+				inspect( dataTypeOrTransport );
+				return false;
+			} else if ( seekingTransport ) {
+				return !( selected = dataTypeOrTransport );
+			}
+		} );
+		return selected;
+	}
+
+	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+	var key, deep,
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+	for ( key in src ) {
+		if ( src[ key ] !== undefined ) {
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+		}
+	}
+	if ( deep ) {
+		jQuery.extend( true, target, deep );
+	}
+
+	return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+	var ct, type, finalDataType, firstDataType,
+		contents = s.contents,
+		dataTypes = s.dataTypes;
+
+	// Remove auto dataType and get content-type in the process
+	while ( dataTypes[ 0 ] === "*" ) {
+		dataTypes.shift();
+		if ( ct === undefined ) {
+			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+		}
+	}
+
+	// Check if we're dealing with a known content-type
+	if ( ct ) {
+		for ( type in contents ) {
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
+				dataTypes.unshift( type );
+				break;
+			}
+		}
+	}
+
+	// Check to see if we have a response for the expected dataType
+	if ( dataTypes[ 0 ] in responses ) {
+		finalDataType = dataTypes[ 0 ];
+	} else {
+
+		// Try convertible dataTypes
+		for ( type in responses ) {
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+				finalDataType = type;
+				break;
+			}
+			if ( !firstDataType ) {
+				firstDataType = type;
+			}
+		}
+
+		// Or just use first one
+		finalDataType = finalDataType || firstDataType;
+	}
+
+	// If we found a dataType
+	// We add the dataType to the list if needed
+	// and return the corresponding response
+	if ( finalDataType ) {
+		if ( finalDataType !== dataTypes[ 0 ] ) {
+			dataTypes.unshift( finalDataType );
+		}
+		return responses[ finalDataType ];
+	}
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+	var conv2, current, conv, tmp, prev,
+		converters = {},
+
+		// Work with a copy of dataTypes in case we need to modify it for conversion
+		dataTypes = s.dataTypes.slice();
+
+	// Create converters map with lowercased keys
+	if ( dataTypes[ 1 ] ) {
+		for ( conv in s.converters ) {
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
+		}
+	}
+
+	current = dataTypes.shift();
+
+	// Convert to each sequential dataType
+	while ( current ) {
+
+		if ( s.responseFields[ current ] ) {
+			jqXHR[ s.responseFields[ current ] ] = response;
+		}
+
+		// Apply the dataFilter if provided
+		if ( !prev && isSuccess && s.dataFilter ) {
+			response = s.dataFilter( response, s.dataType );
+		}
+
+		prev = current;
+		current = dataTypes.shift();
+
+		if ( current ) {
+
+			// There's only work to do if current dataType is non-auto
+			if ( current === "*" ) {
+
+				current = prev;
+
+			// Convert response if prev dataType is non-auto and differs from current
+			} else if ( prev !== "*" && prev !== current ) {
+
+				// Seek a direct converter
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+				// If none found, seek a pair
+				if ( !conv ) {
+					for ( conv2 in converters ) {
+
+						// If conv2 outputs current
+						tmp = conv2.split( " " );
+						if ( tmp[ 1 ] === current ) {
+
+							// If prev can be converted to accepted input
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
+								converters[ "* " + tmp[ 0 ] ];
+							if ( conv ) {
+
+								// Condense equivalence converters
+								if ( conv === true ) {
+									conv = converters[ conv2 ];
+
+								// Otherwise, insert the intermediate dataType
+								} else if ( converters[ conv2 ] !== true ) {
+									current = tmp[ 0 ];
+									dataTypes.unshift( tmp[ 1 ] );
+								}
+								break;
+							}
+						}
+					}
+				}
+
+				// Apply converter (if not an equivalence)
+				if ( conv !== true ) {
+
+					// Unless errors are allowed to bubble, catch and return them
+					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 };
+}
+
+jQuery.extend( {
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+	etag: {},
+
+	ajaxSettings: {
+		url: location.href,
+		type: "GET",
+		isLocal: rlocalProtocol.test( location.protocol ),
+		global: true,
+		processData: true,
+		async: true,
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+		/*
+		timeout: 0,
+		data: null,
+		dataType: null,
+		username: null,
+		password: null,
+		cache: null,
+		throws: false,
+		traditional: false,
+		headers: {},
+		*/
+
+		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"
+		},
+
+		// Data converters
+		// Keys separate source (or catchall "*") and destination types with a single space
+		converters: {
+
+			// Convert anything to text
+			"* text": String,
+
+			// Text to html (true = no transformation)
+			"text html": true,
+
+			// Evaluate text as a json expression
+			"text json": JSON.parse,
+
+			// Parse text as xml
+			"text xml": jQuery.parseXML
+		},
+
+		// For options that shouldn't be deep extended:
+		// you can add your own custom options here if
+		// and when you create one that shouldn't be
+		// deep extended (see ajaxExtend)
+		flatOptions: {
+			url: true,
+			context: true
+		}
+	},
+
+	// Creates a full fledged settings object into target
+	// with both ajaxSettings and settings fields.
+	// If target is omitted, writes into ajaxSettings.
+	ajaxSetup: function( target, settings ) {
+		return settings ?
+
+			// Building a settings object
+			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+			// Extending ajaxSettings
+			ajaxExtend( jQuery.ajaxSettings, target );
+	},
+
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+	// Main method
+	ajax: function( url, options ) {
+
+		// If url is an object, simulate pre-1.5 signature
+		if ( typeof url === "object" ) {
+			options = url;
+			url = undefined;
+		}
+
+		// Force options to be an object
+		options = options || {};
+
+		var transport,
+
+			// URL without anti-cache param
+			cacheURL,
+
+			// Response headers
+			responseHeadersString,
+			responseHeaders,
+
+			// timeout handle
+			timeoutTimer,
+
+			// Url cleanup var
+			urlAnchor,
+
+			// Request state (becomes false upon send and true upon completion)
+			completed,
+
+			// To know if global events are to be dispatched
+			fireGlobals,
+
+			// Loop variable
+			i,
+
+			// uncached part of the url
+			uncached,
+
+			// Create the final options object
+			s = jQuery.ajaxSetup( {}, options ),
+
+			// Callbacks context
+			callbackContext = s.context || s,
+
+			// Context for global events is callbackContext if it is a DOM node or jQuery collection
+			globalEventContext = s.context &&
+				( callbackContext.nodeType || callbackContext.jquery ) ?
+					jQuery( callbackContext ) :
+					jQuery.event,
+
+			// Deferreds
+			deferred = jQuery.Deferred(),
+			completeDeferred = jQuery.Callbacks( "once memory" ),
+
+			// Status-dependent callbacks
+			statusCode = s.statusCode || {},
+
+			// Headers (they are sent all at once)
+			requestHeaders = {},
+			requestHeadersNames = {},
+
+			// Default abort message
+			strAbort = "canceled",
+
+			// Fake xhr
+			jqXHR = {
+				readyState: 0,
+
+				// Builds headers hashtable if needed
+				getResponseHeader: function( key ) {
+					var match;
+					if ( completed ) {
+						if ( !responseHeaders ) {
+							responseHeaders = {};
+							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+							}
+						}
+						match = responseHeaders[ key.toLowerCase() ];
+					}
+					return match == null ? null : match;
+				},
+
+				// Raw string
+				getAllResponseHeaders: function() {
+					return completed ? responseHeadersString : null;
+				},
+
+				// Caches the header
+				setRequestHeader: function( name, value ) {
+					if ( completed == null ) {
+						name = requestHeadersNames[ name.toLowerCase() ] =
+							requestHeadersNames[ name.toLowerCase() ] || name;
+						requestHeaders[ name ] = value;
+					}
+					return this;
+				},
+
+				// Overrides response content-type header
+				overrideMimeType: function( type ) {
+					if ( completed == null ) {
+						s.mimeType = type;
+					}
+					return this;
+				},
+
+				// Status-dependent callbacks
+				statusCode: function( map ) {
+					var code;
+					if ( map ) {
+						if ( completed ) {
+
+							// Execute the appropriate callbacks
+							jqXHR.always( map[ jqXHR.status ] );
+						} else {
+
+							// Lazy-add the new callbacks in a way that preserves old ones
+							for ( code in map ) {
+								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+							}
+						}
+					}
+					return this;
+				},
+
+				// Cancel the request
+				abort: function( statusText ) {
+					var finalText = statusText || strAbort;
+					if ( transport ) {
+						transport.abort( finalText );
+					}
+					done( 0, finalText );
+					return this;
+				}
+			};
+
+		// Attach deferreds
+		deferred.promise( jqXHR );
+
+		// Add protocol if not provided (prefilters might expect it)
+		// Handle falsy url in the settings object (#10093: consistency with old signature)
+		// We also use the url parameter if available
+		s.url = ( ( url || s.url || location.href ) + "" )
+			.replace( rprotocol, location.protocol + "//" );
+
+		// Alias method option to type as per ticket #12004
+		s.type = options.method || options.type || s.method || s.type;
+
+		// Extract dataTypes list
+		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+		// A cross-domain request is in order when the origin doesn't match the current origin.
+		if ( s.crossDomain == null ) {
+			urlAnchor = document.createElement( "a" );
+
+			// Support: IE <=8 - 11, Edge 12 - 13
+			// IE throws exception on accessing the href property if url is malformed,
+			// e.g. http://example.com:80x/
+			try {
+				urlAnchor.href = s.url;
+
+				// Support: IE <=8 - 11 only
+				// Anchor's host property isn't correctly set when s.url is relative
+				urlAnchor.href = urlAnchor.href;
+				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+					urlAnchor.protocol + "//" + urlAnchor.host;
+			} catch ( e ) {
+
+				// If there is an error parsing the URL, assume it is crossDomain,
+				// it can be rejected by the transport if it is invalid
+				s.crossDomain = true;
+			}
+		}
+
+		// Convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
+			s.data = jQuery.param( s.data, s.traditional );
+		}
+
+		// Apply prefilters
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+		// If request was aborted inside a prefilter, stop there
+		if ( completed ) {
+			return jqXHR;
+		}
+
+		// We can fire global events as of now if asked to
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+		fireGlobals = jQuery.event && s.global;
+
+		// Watch for a new set of requests
+		if ( fireGlobals && jQuery.active++ === 0 ) {
+			jQuery.event.trigger( "ajaxStart" );
+		}
+
+		// Uppercase the type
+		s.type = s.type.toUpperCase();
+
+		// Determine if request has content
+		s.hasContent = !rnoContent.test( s.type );
+
+		// Save the URL in case we're toying with the If-Modified-Since
+		// and/or If-None-Match header later on
+		// Remove hash to simplify url manipulation
+		cacheURL = s.url.replace( rhash, "" );
+
+		// More options handling for requests with no content
+		if ( !s.hasContent ) {
+
+			// Remember the hash so we can put it back
+			uncached = s.url.slice( cacheURL.length );
+
+			// If data is available, append data to url
+			if ( s.data ) {
+				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+				// #9682: remove data so that it's not used in an eventual retry
+				delete s.data;
+			}
+
+			// Add or update anti-cache param if needed
+			if ( s.cache === false ) {
+				cacheURL = cacheURL.replace( rantiCache, "$1" );
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+			}
+
+			// Put hash and anti-cache on the URL that will be requested (gh-1732)
+			s.url = cacheURL + uncached;
+
+		// Change '%20' to '+' if this is encoded form body content (gh-2658)
+		} else if ( s.data && s.processData &&
+			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+			s.data = s.data.replace( r20, "+" );
+		}
+
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+		if ( s.ifModified ) {
+			if ( jQuery.lastModified[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+			}
+			if ( jQuery.etag[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+			}
+		}
+
+		// Set the correct header, if data is being sent
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
+		}
+
+		// Set the Accepts header for the server, depending on the dataType
+		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[ "*" ]
+		);
+
+		// Check for headers option
+		for ( i in s.headers ) {
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
+		}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend &&
+			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+			// Abort if not done already and return
+			return jqXHR.abort();
+		}
+
+		// Aborting is no longer a cancellation
+		strAbort = "abort";
+
+		// Install callbacks on deferreds
+		completeDeferred.add( s.complete );
+		jqXHR.done( s.success );
+		jqXHR.fail( s.error );
+
+		// Get transport
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+		// If no transport, we auto-abort
+		if ( !transport ) {
+			done( -1, "No Transport" );
+		} else {
+			jqXHR.readyState = 1;
+
+			// Send global event
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+			}
+
+			// If request was aborted inside ajaxSend, stop there
+			if ( completed ) {
+				return jqXHR;
+			}
+
+			// Timeout
+			if ( s.async && s.timeout > 0 ) {
+				timeoutTimer = window.setTimeout( function() {
+					jqXHR.abort( "timeout" );
+				}, s.timeout );
+			}
+
+			try {
+				completed = false;
+				transport.send( requestHeaders, done );
+			} catch ( e ) {
+
+				// Rethrow post-completion exceptions
+				if ( completed ) {
+					throw e;
+				}
+
+				// Propagate others as results
+				done( -1, e );
+			}
+		}
+
+		// Callback for when everything is done
+		function done( status, nativeStatusText, responses, headers ) {
+			var isSuccess, success, error, response, modified,
+				statusText = nativeStatusText;
+
+			// Ignore repeat invocations
+			if ( completed ) {
+				return;
+			}
+
+			completed = true;
+
+			// Clear timeout if it exists
+			if ( timeoutTimer ) {
+				window.clearTimeout( timeoutTimer );
+			}
+
+			// Dereference transport for early garbage collection
+			// (no matter how long the jqXHR object will be used)
+			transport = undefined;
+
+			// Cache response headers
+			responseHeadersString = headers || "";
+
+			// Set readyState
+			jqXHR.readyState = status > 0 ? 4 : 0;
+
+			// Determine if successful
+			isSuccess = status >= 200 && status < 300 || status === 304;
+
+			// Get response data
+			if ( responses ) {
+				response = ajaxHandleResponses( s, jqXHR, responses );
+			}
+
+			// Convert no matter what (that way responseXXX fields are always set)
+			response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+			// If successful, handle type chaining
+			if ( isSuccess ) {
+
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+				if ( s.ifModified ) {
+					modified = jqXHR.getResponseHeader( "Last-Modified" );
+					if ( modified ) {
+						jQuery.lastModified[ cacheURL ] = modified;
+					}
+					modified = jqXHR.getResponseHeader( "etag" );
+					if ( modified ) {
+						jQuery.etag[ cacheURL ] = modified;
+					}
+				}
+
+				// if no content
+				if ( status === 204 || s.type === "HEAD" ) {
+					statusText = "nocontent";
+
+				// if not modified
+				} else if ( status === 304 ) {
+					statusText = "notmodified";
+
+				// If we have data, let's convert it
+				} else {
+					statusText = response.state;
+					success = response.data;
+					error = response.error;
+					isSuccess = !error;
+				}
+			} else {
+
+				// Extract error from statusText and normalize for non-aborts
+				error = statusText;
+				if ( status || !statusText ) {
+					statusText = "error";
+					if ( status < 0 ) {
+						status = 0;
+					}
+				}
+			}
+
+			// Set data for the fake xhr object
+			jqXHR.status = status;
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+			// Success/Error
+			if ( isSuccess ) {
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+			} else {
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+			}
+
+			// Status-dependent callbacks
+			jqXHR.statusCode( statusCode );
+			statusCode = undefined;
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+					[ jqXHR, s, isSuccess ? success : error ] );
+			}
+
+			// Complete
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+				// Handle the global AJAX counter
+				if ( !( --jQuery.active ) ) {
+					jQuery.event.trigger( "ajaxStop" );
+				}
+			}
+		}
+
+		return jqXHR;
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get( url, data, callback, "json" );
+	},
+
+	getScript: function( url, callback ) {
+		return jQuery.get( url, undefined, callback, "script" );
+	}
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+	jQuery[ method ] = function( url, data, callback, type ) {
+
+		// Shift arguments if data argument was omitted
+		if ( jQuery.isFunction( data ) ) {
+			type = type || callback;
+			callback = data;
+			data = undefined;
+		}
+
+		// The url can be an options object (which then must have .url)
+		return 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,
+
+		// Make this explicit, since user can override this through ajaxSetup (#11264)
+		type: "GET",
+		dataType: "script",
+		cache: true,
+		async: false,
+		global: false,
+		"throws": true
+	} );
+};
+
+
+jQuery.fn.extend( {
+	wrapAll: function( html ) {
+		var wrap;
+
+		if ( this[ 0 ] ) {
+			if ( jQuery.isFunction( html ) ) {
+				html = html.call( this[ 0 ] );
+			}
+
+			// The elements to wrap the target around
+			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+			if ( this[ 0 ].parentNode ) {
+				wrap.insertBefore( this[ 0 ] );
+			}
+
+			wrap.map( function() {
+				var elem = this;
+
+				while ( elem.firstElementChild ) {
+					elem = elem.firstElementChild;
+				}
+
+				return elem;
+			} ).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).wrapInner( html.call( this, i ) );
+			} );
+		}
+
+		return this.each( function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				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 ) {
+		this.parent( selector ).not( "body" ).each( function() {
+			jQuery( this ).replaceWith( this.childNodes );
+		} );
+		return 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 = {
+
+		// File protocol always yields status code 0, assume 200
+		0: 200,
+
+		// Support: IE <=9 only
+		// #1450: sometimes IE returns 1223 when it should be 204
+		1223: 204
+	},
+	xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+	var callback, errorCallback;
+
+	// Cross domain only allowed if supported through XMLHttpRequest
+	if ( support.cors || xhrSupported && !options.crossDomain ) {
+		return {
+			send: function( headers, complete ) {
+				var i,
+					xhr = options.xhr();
+
+				xhr.open(
+					options.type,
+					options.url,
+					options.async,
+					options.username,
+					options.password
+				);
+
+				// Apply custom fields if provided
+				if ( options.xhrFields ) {
+					for ( i in options.xhrFields ) {
+						xhr[ i ] = options.xhrFields[ i ];
+					}
+				}
+
+				// Override mime type if needed
+				if ( options.mimeType && xhr.overrideMimeType ) {
+					xhr.overrideMimeType( options.mimeType );
+				}
+
+				// X-Requested-With header
+				// For cross-domain requests, seeing as conditions for a preflight are
+				// akin to a jigsaw puzzle, we simply never set it to be sure.
+				// (it can always be set on a per-request basis or even using ajaxSetup)
+				// For same-domain requests, won't change header if already provided.
+				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+					headers[ "X-Requested-With" ] = "XMLHttpRequest";
+				}
+
+				// Set headers
+				for ( i in headers ) {
+					xhr.setRequestHeader( i, headers[ i ] );
+				}
+
+				// Callback
+				callback = function( type ) {
+					return function() {
+						if ( callback ) {
+							callback = errorCallback = xhr.onload =
+								xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
+
+							if ( type === "abort" ) {
+								xhr.abort();
+							} else if ( type === "error" ) {
+
+								// Support: IE <=9 only
+								// On a manual native abort, IE9 throws
+								// errors on any property access that is not readyState
+								if ( typeof xhr.status !== "number" ) {
+									complete( 0, "error" );
+								} else {
+									complete(
+
+										// File: protocol always yields status 0; see #8605, #14207
+										xhr.status,
+										xhr.statusText
+									);
+								}
+							} else {
+								complete(
+									xhrSuccessStatus[ xhr.status ] || xhr.status,
+									xhr.statusText,
+
+									// Support: IE <=9 only
+									// IE9 has no XHR2 but throws on binary (trac-11426)
+									// For XHR2 non-text, let the caller handle it (gh-2498)
+									( xhr.responseType || "text" ) !== "text"  ||
+									typeof xhr.responseText !== "string" ?
+										{ binary: xhr.response } :
+										{ text: xhr.responseText },
+									xhr.getAllResponseHeaders()
+								);
+							}
+						}
+					};
+				};
+
+				// Listen to events
+				xhr.onload = callback();
+				errorCallback = xhr.onerror = callback( "error" );
+
+				// Support: IE 9 only
+				// Use onreadystatechange to replace onabort
+				// to handle uncaught aborts
+				if ( xhr.onabort !== undefined ) {
+					xhr.onabort = errorCallback;
+				} else {
+					xhr.onreadystatechange = function() {
+
+						// Check readyState before timeout as it changes
+						if ( xhr.readyState === 4 ) {
+
+							// Allow onerror to be called first,
+							// but that will not handle a native abort
+							// Also, save errorCallback to a variable
+							// as xhr.onerror cannot be accessed
+							window.setTimeout( function() {
+								if ( callback ) {
+									errorCallback();
+								}
+							} );
+						}
+					};
+				}
+
+				// Create the abort callback
+				callback = callback( "abort" );
+
+				try {
+
+					// Do send the request (this may raise an exception)
+					xhr.send( options.hasContent && options.data || null );
+				} catch ( e ) {
+
+					// #14683: Only rethrow if this hasn't been notified as an error yet
+					if ( callback ) {
+						throw e;
+					}
+				}
+			},
+
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+	if ( s.crossDomain ) {
+		s.contents.script = false;
+	}
+} );
+
+// Install script dataType
+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 ) {
+			jQuery.globalEval( text );
+			return text;
+		}
+	}
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+	if ( s.cache === undefined ) {
+		s.cache = false;
+	}
+	if ( s.crossDomain ) {
+		s.type = "GET";
+	}
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+	// This transport only deals with cross domain requests
+	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;
+						if ( evt ) {
+							complete( evt.type === "error" ? 404 : 200, evt.type );
+						}
+					}
+				);
+
+				// Use native DOM manipulation to avoid our domManip AJAX trickery
+				document.head.appendChild( script[ 0 ] );
+			},
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+
+
+
+var oldCallbacks = [],
+	rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+	jsonp: "callback",
+	jsonpCallback: function() {
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		this[ callback ] = true;
+		return callback;
+	}
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+	var callbackName, overwritten, responseContainer,
+		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+			"url" :
+			typeof s.data === "string" &&
+				( s.contentType || "" )
+					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+				rjsonp.test( s.data ) && "data"
+		);
+
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
+	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+		// Get callback name, remembering preexisting value associated with it
+		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
+			s.jsonpCallback() :
+			s.jsonpCallback;
+
+		// Insert callback into url or form data
+		if ( jsonProp ) {
+			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+		} else if ( s.jsonp !== false ) {
+			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+		}
+
+		// Use data converter to retrieve json after script execution
+		s.converters[ "script json" ] = function() {
+			if ( !responseContainer ) {
+				jQuery.error( callbackName + " was not called" );
+			}
+			return responseContainer[ 0 ];
+		};
+
+		// Force json dataType
+		s.dataTypes[ 0 ] = "json";
+
+		// Install callback
+		overwritten = window[ callbackName ];
+		window[ callbackName ] = function() {
+			responseContainer = arguments;
+		};
+
+		// Clean-up function (fires after converters)
+		jqXHR.always( function() {
+
+			// If previous value didn't exist - remove it
+			if ( overwritten === undefined ) {
+				jQuery( window ).removeProp( callbackName );
+
+			// Otherwise restore preexisting value
+			} else {
+				window[ callbackName ] = overwritten;
+			}
+
+			// Save back as free
+			if ( s[ callbackName ] ) {
+
+				// Make sure that re-using the options doesn't screw things around
+				s.jsonpCallback = originalSettings.jsonpCallback;
+
+				// Save the callback name for future use
+				oldCallbacks.push( callbackName );
+			}
+
+			// Call if it was a function and we have a response
+			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
+				overwritten( responseContainer[ 0 ] );
+			}
+
+			responseContainer = overwritten = undefined;
+		} );
+
+		// Delegate to script
+		return "script";
+	}
+} );
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+	var body = document.implementation.createHTMLDocument( "" ).body;
+	body.innerHTML = "<form></form><form></form>";
+	return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+	if ( typeof data !== "string" ) {
+		return [];
+	}
+	if ( typeof context === "boolean" ) {
+		keepScripts = context;
+		context = false;
+	}
+
+	var base, parsed, scripts;
+
+	if ( !context ) {
+
+		// Stop scripts or inline event handlers from being executed immediately
+		// by using document.implementation
+		if ( support.createHTMLDocument ) {
+			context = document.implementation.createHTMLDocument( "" );
+
+			// Set the base href for the created document
+			// so any parsed elements with URLs
+			// are based on the document's URL (gh-2965)
+			base = context.createElement( "base" );
+			base.href = document.location.href;
+			context.head.appendChild( base );
+		} else {
+			context = document;
+		}
+	}
+
+	parsed = rsingleTag.exec( data );
+	scripts = !keepScripts && [];
+
+	// Single tag
+	if ( parsed ) {
+		return [ context.createElement( parsed[ 1 ] ) ];
+	}
+
+	parsed = buildFragment( [ data ], context, scripts );
+
+	if ( scripts && scripts.length ) {
+		jQuery( scripts ).remove();
+	}
+
+	return jQuery.merge( [], parsed.childNodes );
+};
+
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+	var selector, type, response,
+		self = this,
+		off = url.indexOf( " " );
+
+	if ( off > -1 ) {
+		selector = stripAndCollapse( url.slice( off ) );
+		url = url.slice( 0, off );
+	}
+
+	// If it's a function
+	if ( jQuery.isFunction( params ) ) {
+
+		// We assume that it's the callback
+		callback = params;
+		params = undefined;
+
+	// Otherwise, build a param string
+	} else if ( params && typeof params === "object" ) {
+		type = "POST";
+	}
+
+	// If we have elements to modify, make the request
+	if ( self.length > 0 ) {
+		jQuery.ajax( {
+			url: url,
+
+			// If "type" variable is undefined, then "GET" method will be used.
+			// Make value of this field explicit since
+			// user can override it through ajaxSetup method
+			type: type || "GET",
+			dataType: "html",
+			data: params
+		} ).done( function( responseText ) {
+
+			// Save response for use in complete callback
+			response = arguments;
+
+			self.html( selector ?
+
+				// If a selector was specified, locate the right elements in a dummy div
+				// Exclude scripts to avoid IE 'Permission Denied' errors
+				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+				// Otherwise use the full result
+				responseText );
+
+		// If the request succeeds, this function gets "data", "status", "jqXHR"
+		// but they are ignored because response was set above.
+		// If it fails, this function gets "jqXHR", "status", "error"
+		} ).always( callback && function( jqXHR, status ) {
+			self.each( function() {
+				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+			} );
+		} );
+	}
+
+	return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+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 = {};
+
+		// Set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		curOffset = curElem.offset();
+		curCSSTop = jQuery.css( elem, "top" );
+		curCSSLeft = jQuery.css( elem, "left" );
+		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+		// Need to be able to calculate position if either
+		// top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( jQuery.isFunction( options ) ) {
+
+			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+jQuery.fn.extend( {
+	offset: function( options ) {
+
+		// Preserve chaining for setter
+		if ( arguments.length ) {
+			return options === undefined ?
+				this :
+				this.each( function( i ) {
+					jQuery.offset.setOffset( this, options, i );
+				} );
+		}
+
+		var doc, docElem, rect, win,
+			elem = this[ 0 ];
+
+		if ( !elem ) {
+			return;
+		}
+
+		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+		// Support: IE <=11 only
+		// Running getBoundingClientRect on a
+		// disconnected node in IE throws an error
+		if ( !elem.getClientRects().length ) {
+			return { top: 0, left: 0 };
+		}
+
+		rect = elem.getBoundingClientRect();
+
+		doc = elem.ownerDocument;
+		docElem = doc.documentElement;
+		win = doc.defaultView;
+
+		return {
+			top: rect.top + win.pageYOffset - docElem.clientTop,
+			left: rect.left + win.pageXOffset - docElem.clientLeft
+		};
+	},
+
+	position: function() {
+		if ( !this[ 0 ] ) {
+			return;
+		}
+
+		var offsetParent, offset,
+			elem = this[ 0 ],
+			parentOffset = { top: 0, left: 0 };
+
+		// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+		// because it is its only offset parent
+		if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+			// Assume getBoundingClientRect is there when computed position is fixed
+			offset = elem.getBoundingClientRect();
+
+		} else {
+
+			// Get *real* offsetParent
+			offsetParent = this.offsetParent();
+
+			// Get correct offsets
+			offset = this.offset();
+			if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
+				parentOffset = offsetParent.offset();
+			}
+
+			// Add offsetParent borders
+			parentOffset = {
+				top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
+				left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
+			};
+		}
+
+		// Subtract parent offsets and element margins
+		return {
+			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+		};
+	},
+
+	// This method will return documentElement in the following cases:
+	// 1) For the element inside the iframe without offsetParent, this method will return
+	//    documentElement of the parent window
+	// 2) For the hidden or detached element
+	// 3) For body or html element, i.e. in case of the html node - it will return itself
+	//
+	// but those exceptions were never presented as a real life use-cases
+	// and might be considered as more preferable results.
+	//
+	// This logic, however, is not guaranteed and can change at any point in the future
+	offsetParent: function() {
+		return this.map( function() {
+			var offsetParent = this.offsetParent;
+
+			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+
+			return offsetParent || documentElement;
+		} );
+	}
+} );
+
+// Create scrollLeft and scrollTop methods
+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 ) {
+
+			// Coalesce documents and windows
+			var win;
+			if ( jQuery.isWindow( elem ) ) {
+				win = elem;
+			} else if ( elem.nodeType === 9 ) {
+				win = elem.defaultView;
+			}
+
+			if ( val === undefined ) {
+				return win ? win[ prop ] : elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : win.pageXOffset,
+					top ? val : win.pageYOffset
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length );
+	};
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+		function( elem, computed ) {
+			if ( computed ) {
+				computed = curCSS( elem, prop );
+
+				// If curCSS returns percentage, fallback to offset
+				return rnumnonpx.test( computed ) ?
+					jQuery( elem ).position()[ prop ] + "px" :
+					computed;
+			}
+		}
+	);
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+		function( defaultExtra, funcName ) {
+
+		// Margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( jQuery.isWindow( elem ) ) {
+
+					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+					return funcName.indexOf( "outer" ) === 0 ?
+						elem[ "inner" + name ] :
+						elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+					// whichever is greatest
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, 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 ) {
+
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ?
+			this.off( selector, "**" ) :
+			this.off( types, selector || "**", fn );
+	}
+} );
+
+jQuery.holdReady = function( hold ) {
+	if ( hold ) {
+		jQuery.readyWait++;
+	} else {
+		jQuery.ready( true );
+	}
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+	define( "jquery", [], function() {
+		return jQuery;
+	} );
+}
+
+
+
+
+var
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+	if ( window.$ === jQuery ) {
+		window.$ = _$;
+	}
+
+	if ( deep && window.jQuery === jQuery ) {
+		window.jQuery = _jQuery;
+	}
+
+	return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+	window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/workspace/public/jquery/jquery.min.js b/workspace/public/jquery/jquery.min.js
new file mode 100644
index 0000000..644d35e
--- /dev/null
+++ b/workspace/public/jquery/jquery.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
+a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={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,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.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(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},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(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
+null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,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":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
diff --git a/workspace/public/jquery/jquery.min.map b/workspace/public/jquery/jquery.min.map
new file mode 100644
index 0000000..e8f55ef
--- /dev/null
+++ b/workspace/public/jquery/jquery.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","complete","timer","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","offsetWidth","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"}
\ No newline at end of file
diff --git a/workspace/public/jquery/jquery.slim.js b/workspace/public/jquery/jquery.slim.js
new file mode 100644
index 0000000..6cdf1ee
--- /dev/null
+++ b/workspace/public/jquery/jquery.slim.js
@@ -0,0 +1,8160 @@
+/*!
+ * jQuery JavaScript Library v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T19:00Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+	function DOMEval( code, doc ) {
+		doc = doc || document;
+
+		var script = doc.createElement( "script" );
+
+		script.text = code;
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+	// Matches dashed string for camelizing
+	rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g,
+
+	// Used by jQuery.camelCase as callback to replace()
+	fcamelCase = function( all, letter ) {
+		return letter.toUpperCase();
+	};
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	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();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	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 = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isFunction: function( obj ) {
+		return jQuery.type( obj ) === "function";
+	},
+
+	isWindow: function( obj ) {
+		return obj != null && obj === obj.window;
+	},
+
+	isNumeric: function( obj ) {
+
+		// As of jQuery 3.0, isNumeric is limited to
+		// strings and numbers (primitives or objects)
+		// that can be coerced to finite numbers (gh-2662)
+		var type = jQuery.type( obj );
+		return ( type === "number" || type === "string" ) &&
+
+			// parseFloat NaNs numeric-cast false positives ("")
+			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+			// subtraction forces infinities to NaN
+			!isNaN( obj - parseFloat( obj ) );
+	},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	type: function( obj ) {
+		if ( obj == null ) {
+			return obj + "";
+		}
+
+		// Support: Android <=2.3 only (functionish RegExp)
+		return typeof obj === "object" || typeof obj === "function" ?
+			class2type[ toString.call( obj ) ] || "object" :
+			typeof obj;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	// Convert dashed to camelCase; used by the css and data modules
+	// Support: IE <=9 - 11, Edge 12 - 13
+	// Microsoft forgot to hump their vendor prefix (#9572)
+	camelCase: function( string ) {
+		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// Bind a function to a context, optionally partially applying any
+	// arguments.
+	proxy: function( fn, context ) {
+		var tmp, args, proxy;
+
+		if ( typeof context === "string" ) {
+			tmp = fn[ context ];
+			context = fn;
+			fn = tmp;
+		}
+
+		// Quick check to determine if target is callable, in the spec
+		// this throws a TypeError, but we will just return undefined.
+		if ( !jQuery.isFunction( fn ) ) {
+			return undefined;
+		}
+
+		// Simulated bind
+		args = slice.call( arguments, 2 );
+		proxy = function() {
+			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+		};
+
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+		return proxy;
+	},
+
+	now: Date.now,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = jQuery.type( obj );
+
+	if ( type === "function" || jQuery.isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+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 ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; 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",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	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" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"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/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( 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 ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		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 );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				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( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					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 + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				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 = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							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 ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"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);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"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 name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"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 ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+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 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (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 the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; 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 && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						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,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+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 ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( jQuery.isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Simple selector that can be filtered directly, removing non-Elements
+	if ( risSimple.test( qualifier ) ) {
+		return jQuery.filter( qualifier, elements, not );
+	}
+
+	// Complex selector, compare the two sets, removing non-Elements
+	qualifier = jQuery.filter( qualifier, elements );
+	return jQuery.grep( elements, function( elem ) {
+		return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+	} );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( 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 || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( jQuery.isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? 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 ) {
+        if ( nodeName( elem, "iframe" ) ) {
+            return elem.contentDocument;
+        }
+
+        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+        // Treat the template element as a regular one in browsers that
+        // don't support it.
+        if ( nodeName( elem, "template" ) ) {
+            elem = elem.content || elem;
+        }
+
+        return jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = locked || options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( jQuery.isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+			// * false: [ value ].slice( 0 ) => resolve( value )
+			// * true: [ value ].slice( 1 ) => resolve()
+			resolve.apply( undefined, [ value ].slice( noValue ) );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.apply( undefined, [ value ] );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "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() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && jQuery.isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( jQuery.isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								jQuery.isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+				!remaining );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( 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;
+	} );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( jQuery.type( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !jQuery.isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	if ( chainable ) {
+		return elems;
+	}
+
+	// Gets
+	if ( bulk ) {
+		return fn.call( elems );
+	}
+
+	return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ jQuery.camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( Array.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( jQuery.camelCase );
+			} else {
+				key = jQuery.camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnothtmlwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+	if ( data === "true" ) {
+		return true;
+	}
+
+	if ( data === "false" ) {
+		return false;
+	}
+
+	if ( data === "null" ) {
+		return null;
+	}
+
+	// Only convert to a number if it doesn't change the string
+	if ( data === +data + "" ) {
+		return +data;
+	}
+
+	if ( rbrace.test( data ) ) {
+		return JSON.parse( data );
+	}
+
+	return data;
+}
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = getData( data );
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+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 );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_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;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = jQuery.camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || Array.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return 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 );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_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;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+
+var swap = function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
+
+
+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" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		do {
+
+			// If previous iteration zeroed out, double until we get *something*.
+			// Use string for doubling so we don't accidentally see scale as unchanged below
+			scale = scale || ".5";
+
+			// Adjust and apply
+			initialInUnit = initialInUnit / scale;
+			jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Update scale, tolerating zero or NaN from tween.cur()
+		// Break the loop if scale is unchanged or perfect, or if we've just had enough.
+		} while (
+			scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+		);
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) );
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	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, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret;
+
+	if ( typeof context.getElementsByTagName !== "undefined" ) {
+		ret = context.getElementsByTagName( tag || "*" );
+
+	} else if ( typeof context.querySelectorAll !== "undefined" ) {
+		ret = context.querySelectorAll( tag || "*" );
+
+	} else {
+		ret = [];
+	}
+
+	if ( tag === undefined || tag && nodeName( context, tag ) ) {
+		return jQuery.merge( [ context ], ret );
+	}
+
+	return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( jQuery.type( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+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 );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			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 );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	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 ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( 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 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !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 );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, handleObj, sel, matchedHandlers, matchedSelectors,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Find delegate handlers
+		if ( delegateCount &&
+
+			// Support: IE <=9
+			// Black-hole SVG <use> instance trees (trac-13180)
+			cur.nodeType &&
+
+			// Support: Firefox <=42
+			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+			// Support: IE 11 only
+			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+			!( event.type === "click" && event.button >= 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+					matchedHandlers = [];
+					matchedSelectors = {};
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matchedSelectors[ sel ] === undefined ) {
+							matchedSelectors[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matchedSelectors[ sel ] ) {
+							matchedHandlers.push( handleObj );
+						}
+					}
+					if ( matchedHandlers.length ) {
+						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		cur = this;
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			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: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			if ( button & 1 ) {
+				return 1;
+			}
+
+			if ( button & 2 ) {
+				return 3;
+			}
+
+			if ( button & 4 ) {
+				return 2;
+			}
+
+			return 0;
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+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;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return 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 ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rscriptTypeMasked = /^true\/(.*)/,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+	if ( nodeName( elem, "table" ) &&
+		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return jQuery( ">tbody", elem )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	var match = rscriptTypeMasked.exec( elem.type );
+
+	if ( match ) {
+		elem.type = match[ 1 ];
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( 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 ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	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 );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( isFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( isFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return 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 ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+
+
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		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 = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = divStyle.marginLeft === "2px";
+		boxSizingReliableVal = divStyle.width === "4px";
+
+		// Support: Android 4.0 - 4.3 only
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.marginRight = "50%";
+		pixelMarginRightVal = divStyle.marginRight === "4px";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	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() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelMarginRight: function() {
+			computeStyleTests();
+			return pixelMarginRightVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		}
+	} );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+
+		// Support: Firefox 51+
+		// Retrieving style before computed somehow
+		// fixes an issue with getting wrong values
+		// on detached elements
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// getPropertyValue is needed for:
+	//   .css('filter') (IE 9 only, #12537)
+	//   .css('--customProperty) (#3144)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rcustomProp = /^--/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+	var ret = jQuery.cssProps[ name ];
+	if ( !ret ) {
+		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	}
+	return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+	var i,
+		val = 0;
+
+	// If we already have the right measurement, avoid augmentation
+	if ( extra === ( isBorderBox ? "border" : "content" ) ) {
+		i = 4;
+
+	// Otherwise initialize for horizontal or vertical properties
+	} else {
+		i = name === "width" ? 1 : 0;
+	}
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin, so add it if we want it
+		if ( extra === "margin" ) {
+			val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+		}
+
+		if ( isBorderBox ) {
+
+			// border-box includes padding, so remove it if we want content
+			if ( extra === "content" ) {
+				val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// At this point, extra isn't border nor margin, so remove border
+			if ( extra !== "margin" ) {
+				val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		} else {
+
+			// At this point, extra isn't content, so add padding
+			val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// At this point, extra isn't content nor padding, so add border
+			if ( extra !== "padding" ) {
+				val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+	// Start with computed style
+	var valueIsBorderBox,
+		styles = getStyles( elem ),
+		val = curCSS( elem, name, styles ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+	// Computed unit is not pixels. Stop here and return.
+	if ( rnumnonpx.test( val ) ) {
+		return val;
+	}
+
+	// Check for style in case a browser which returns unreliable values
+	// for getComputedStyle silently falls back to the reliable elem.style
+	valueIsBorderBox = isBorderBox &&
+		( support.boxSizingReliable() || val === elem.style[ name ] );
+
+	// Fall back to offsetWidth/Height when value is "auto"
+	// This happens for inline elements with no explicit setting (gh-3571)
+	if ( val === "auto" ) {
+		val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
+	}
+
+	// Normalize "", auto, and prepare for extra
+	val = parseFloat( val ) || 0;
+
+	// Use the active box-sizing model to add/subtract irrelevant styles
+	return ( val +
+		augmentWidthOrHeight(
+			elem,
+			name,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {
+		"float": "cssFloat"
+	},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = jQuery.camelCase( name ),
+			isCustomProp = rcustomProp.test( name ),
+			style = elem.style;
+
+		// Make sure that we're working with the right name. We don't
+		// want to query the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
+
+			// background-* props affect original clone's values
+			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+				style[ name ] = "inherit";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !( "set" in hooks ) ||
+				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+				if ( isCustomProp ) {
+					style.setProperty( name, value );
+				} else {
+					style[ name ] = value;
+				}
+			}
+
+		} else {
+
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks &&
+				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra, styles ) {
+		var val, num, hooks,
+			origName = jQuery.camelCase( name ),
+			isCustomProp = rcustomProp.test( name );
+
+		// Make sure that we're working with the right name. We don't
+		// want to modify the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Try prefixed name followed by the unprefixed name
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name, styles );
+		}
+
+		// Convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Make numeric if forced or a qualifier was provided and val looks numeric
+		if ( extra === "" || extra ) {
+			num = parseFloat( val );
+			return extra === true || isFinite( num ) ? num || 0 : val;
+		}
+
+		return val;
+	}
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+	jQuery.cssHooks[ name ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+
+				// Certain elements can have dimension info if we invisibly show them
+				// but it must have a current display style that would benefit
+				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+					// Support: Safari 8+
+					// Table columns in Safari have non-zero offsetWidth & zero
+					// getBoundingClientRect().width unless display is changed.
+					// Support: IE <=11 only
+					// Running getBoundingClientRect on a disconnected node
+					// in IE throws an error.
+					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+						swap( elem, cssShow, function() {
+							return getWidthOrHeight( elem, name, extra );
+						} ) :
+						getWidthOrHeight( elem, name, extra );
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			var matches,
+				styles = extra && getStyles( elem ),
+				subtract = extra && augmentWidthOrHeight(
+					elem,
+					name,
+					extra,
+					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+					styles
+				);
+
+			// Convert to pixels if value adjustment is needed
+			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+				( matches[ 3 ] || "px" ) !== "px" ) {
+
+				elem.style[ name ] = value;
+				value = jQuery.css( elem, name );
+			}
+
+			return 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";
+		}
+	}
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i = 0,
+				expanded = {},
+
+				// Assumes a single number if not a string
+				parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+			for ( ; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( !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 ( Array.isArray( name ) ) {
+				styles = getStyles( elem );
+				len = name.length;
+
+				for ( ; i < len; i++ ) {
+					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+				}
+
+				return map;
+			}
+
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	}
+} );
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+	type = type || "fx";
+
+	return 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: Android <=4.3 only
+	// Default value for a checkbox should be "on"
+	support.checkOn = input.value !== "";
+
+	// Support: IE <=11 only
+	// Must access selectedIndex to make default options select
+	support.optSelected = opt.selected;
+
+	// Support: IE <=11 only
+	// An input loses its value after becoming a radio
+	input = document.createElement( "input" );
+	input.value = "t";
+	input.type = "radio";
+	support.radioValue = input.value === "t";
+} )();
+
+
+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;
+
+		// Don't get/set attributes on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		// Attribute hooks are determined by the lowercase version
+		// Grab necessary hook if one is defined
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+		}
+
+		if ( value !== undefined ) {
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+			}
+
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			elem.setAttribute( name, value + "" );
+			return value;
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		ret = jQuery.find.attr( elem, name );
+
+		// Non-existent attributes return null, we normalize to undefined
+		return ret == null ? undefined : ret;
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				if ( !support.radioValue && value === "radio" &&
+					nodeName( elem, "input" ) ) {
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var name,
+			i = 0,
+
+			// Attribute names can contain non-HTML whitespace characters
+			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+			attrNames = value && value.match( rnothtmlwhite );
+
+		if ( attrNames && elem.nodeType === 1 ) {
+			while ( ( name = attrNames[ i++ ] ) ) {
+				elem.removeAttribute( name );
+			}
+		}
+	}
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+	set: function( elem, value, name ) {
+		if ( value === false ) {
+
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			elem.setAttribute( name, name );
+		}
+		return 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();
+
+		if ( !isXML ) {
+
+			// Avoid an infinite loop by temporarily removing this function from the getter
+			handle = attrHandle[ lowercaseName ];
+			attrHandle[ lowercaseName ] = ret;
+			ret = getter( elem, name, isXML ) != null ?
+				lowercaseName :
+				null;
+			attrHandle[ lowercaseName ] = handle;
+		}
+		return 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;
+
+		// Don't get/set properties on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			return ( elem[ name ] = value );
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		return elem[ name ];
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+
+				// Support: IE <=9 - 11 only
+				// elem.tabIndex doesn't always return the
+				// correct value when it hasn't been explicitly set
+				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				// Use proper attribute retrieval(#12072)
+				var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+				if ( tabindex ) {
+					return parseInt( tabindex, 10 );
+				}
+
+				if (
+					rfocusable.test( elem.nodeName ) ||
+					rclickable.test( elem.nodeName ) &&
+					elem.href
+				) {
+					return 0;
+				}
+
+				return -1;
+			}
+		}
+	},
+
+	propFix: {
+		"for": "htmlFor",
+		"class": "className"
+	}
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+	jQuery.propHooks.selected = {
+		get: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent && parent.parentNode ) {
+				parent.parentNode.selectedIndex;
+			}
+			return null;
+		},
+		set: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent ) {
+				parent.selectedIndex;
+
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+		}
+	};
+}
+
+jQuery.each( [
+	"tabIndex",
+	"readOnly",
+	"maxLength",
+	"cellSpacing",
+	"cellPadding",
+	"rowSpan",
+	"colSpan",
+	"useMap",
+	"frameBorder",
+	"contentEditable"
+], function() {
+	jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+	// Strip and collapse whitespace according to HTML spec
+	// https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
+	function stripAndCollapse( value ) {
+		var tokens = value.match( rnothtmlwhite ) || [];
+		return tokens.join( " " );
+	}
+
+
+function getClass( elem ) {
+	return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+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 ( typeof value === "string" && value ) {
+			classes = value.match( rnothtmlwhite ) || [];
+
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+							cur += clazz + " ";
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( 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 ( typeof value === "string" && value ) {
+			classes = value.match( rnothtmlwhite ) || [];
+
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+
+				// This expression is here for better compressibility (see addClass)
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+
+						// Remove *all* instances
+						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+							cur = cur.replace( " " + clazz + " ", " " );
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value;
+
+		if ( typeof stateVal === "boolean" && type === "string" ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).toggleClass(
+					value.call( this, i, getClass( this ), stateVal ),
+					stateVal
+				);
+			} );
+		}
+
+		return this.each( function() {
+			var className, i, self, classNames;
+
+			if ( type === "string" ) {
+
+				// Toggle individual class names
+				i = 0;
+				self = jQuery( this );
+				classNames = value.match( rnothtmlwhite ) || [];
+
+				while ( ( className = classNames[ i++ ] ) ) {
+
+					// Check each className given, space separated list
+					if ( self.hasClass( className ) ) {
+						self.removeClass( className );
+					} else {
+						self.addClass( className );
+					}
+				}
+
+			// Toggle whole class name
+			} else if ( value === undefined || type === "boolean" ) {
+				className = getClass( this );
+				if ( className ) {
+
+					// Store className if set
+					dataPriv.set( this, "__className__", className );
+				}
+
+				// If the element has a class name or if we're passed `false`,
+				// then remove the whole classname (if there was one, the above saved it).
+				// Otherwise bring back whatever was previously saved (if anything),
+				// falling back to the empty string if nothing was stored.
+				if ( this.setAttribute ) {
+					this.setAttribute( "class",
+						className || value === false ?
+						"" :
+						dataPriv.get( this, "__className__" ) || ""
+					);
+				}
+			}
+		} );
+	},
+
+	hasClass: function( selector ) {
+		var className, elem,
+			i = 0;
+
+		className = " " + selector + " ";
+		while ( ( elem = this[ i++ ] ) ) {
+			if ( elem.nodeType === 1 &&
+				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+					return true;
+			}
+		}
+
+		return false;
+	}
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+	val: function( value ) {
+		var hooks, ret, isFunction,
+			elem = this[ 0 ];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] ||
+					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks &&
+					"get" in hooks &&
+					( ret = hooks.get( elem, "value" ) ) !== undefined
+				) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				// Handle most common string cases
+				if ( typeof ret === "string" ) {
+					return ret.replace( rreturn, "" );
+				}
+
+				// Handle cases where value is null/undef or number
+				return ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		isFunction = jQuery.isFunction( value );
+
+		return this.each( function( i ) {
+			var val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( isFunction ) {
+				val = value.call( this, i, jQuery( this ).val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+
+			} else if ( typeof val === "number" ) {
+				val += "";
+
+			} else if ( Array.isArray( val ) ) {
+				val = jQuery.map( val, function( value ) {
+					return value == null ? "" : value + "";
+				} );
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		} );
+	}
+} );
+
+jQuery.extend( {
+	valHooks: {
+		option: {
+			get: function( elem ) {
+
+				var val = jQuery.find.attr( elem, "value" );
+				return val != null ?
+					val :
+
+					// Support: IE <=10 - 11 only
+					// option.text throws exceptions (#14686, #14858)
+					// Strip and collapse whitespace
+					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+					stripAndCollapse( jQuery.text( elem ) );
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, option, i,
+					options = elem.options,
+					index = elem.selectedIndex,
+					one = elem.type === "select-one",
+					values = one ? null : [],
+					max = one ? index + 1 : options.length;
+
+				if ( index < 0 ) {
+					i = max;
+
+				} else {
+					i = one ? index : 0;
+				}
+
+				// Loop through all the selected options
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Support: IE <=9 only
+					// IE8-9 doesn't update selected after form reset (#2551)
+					if ( ( option.selected || i === index ) &&
+
+							// Don't return options that are disabled or in a disabled optgroup
+							!option.disabled &&
+							( !option.parentNode.disabled ||
+								!nodeName( option.parentNode, "optgroup" ) ) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var optionSet, option,
+					options = elem.options,
+					values = jQuery.makeArray( value ),
+					i = options.length;
+
+				while ( i-- ) {
+					option = options[ i ];
+
+					/* eslint-disable no-cond-assign */
+
+					if ( option.selected =
+						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+					) {
+						optionSet = true;
+					}
+
+					/* eslint-enable no-cond-assign */
+				}
+
+				// Force browsers to behave consistently when non-matching value is set
+				if ( !optionSet ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	}
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = {
+		set: function( elem, value ) {
+			if ( Array.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+			}
+		}
+	};
+	if ( !support.checkOn ) {
+		jQuery.valHooks[ this ].get = function( elem ) {
+			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+		};
+	}
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+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( "." ) : [];
+
+		cur = tmp = elem = elem || document;
+
+		// Don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "." ) > -1 ) {
+
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split( "." );
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+		ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+		// Caller can pass in a jQuery.Event object, Object, or just an event type string
+		event = event[ jQuery.expando ] ?
+			event :
+			new jQuery.Event( type, typeof event === "object" && event );
+
+		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+		event.isTrigger = onlyHandlers ? 2 : 3;
+		event.namespace = namespaces.join( "." );
+		event.rnamespace = event.namespace ?
+			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+			null;
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data == null ?
+			[ event ] :
+			jQuery.makeArray( data, [ event ] );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			if ( !rfocusMorph.test( bubbleType + type ) ) {
+				cur = cur.parentNode;
+			}
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push( cur );
+				tmp = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( tmp === ( elem.ownerDocument || document ) ) {
+				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+			}
+		}
+
+		// Fire handlers on the event path
+		i = 0;
+		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+			event.type = i > 1 ?
+				bubbleType :
+				special.bindType || type;
+
+			// jQuery handler
+			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+				dataPriv.get( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+
+			// Native handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && handle.apply && acceptData( cur ) ) {
+				event.result = handle.apply( cur, data );
+				if ( event.result === false ) {
+					event.preventDefault();
+				}
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( ( !special._default ||
+				special._default.apply( eventPath.pop(), data ) === false ) &&
+				acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name as the event.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					tmp = elem[ ontype ];
+
+					if ( tmp ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+					elem[ type ]();
+					jQuery.event.triggered = undefined;
+
+					if ( tmp ) {
+						elem[ ontype ] = tmp;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Piggyback on a donor event to simulate a different one
+	// Used only for `focus(in | out)` events
+	simulate: function( type, elem, event ) {
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{
+				type: type,
+				isSimulated: true
+			}
+		);
+
+		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, true );
+		}
+	}
+} );
+
+
+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 ) {
+
+	// Handle event binding
+	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: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler on the document while someone wants focusin/focusout
+		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 );
+
+				if ( !attaches ) {
+					doc.addEventListener( orig, handler, true );
+				}
+				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+			},
+			teardown: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix ) - 1;
+
+				if ( !attaches ) {
+					doc.removeEventListener( orig, handler, true );
+					dataPriv.remove( doc, fix );
+
+				} else {
+					dataPriv.access( doc, fix, attaches );
+				}
+			}
+		};
+	} );
+}
+
+
+var
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+	rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( Array.isArray( obj ) ) {
+
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+
+				// Item is non-scalar (array or object), encode its numeric index.
+				buildParams(
+					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+					v,
+					traditional,
+					add
+				);
+			}
+		} );
+
+	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, valueOrFunction ) {
+
+			// If value is a function, invoke it and use its return value
+			var value = jQuery.isFunction( valueOrFunction ) ?
+				valueOrFunction() :
+				valueOrFunction;
+
+			s[ s.length ] = encodeURIComponent( key ) + "=" +
+				encodeURIComponent( value == null ? "" : value );
+		};
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		} );
+
+	} else {
+
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map( function() {
+
+			// Can add propHook for "elements" to filter or add form elements
+			var elements = jQuery.prop( this, "elements" );
+			return elements ? jQuery.makeArray( elements ) : this;
+		} )
+		.filter( function() {
+			var type = this.type;
+
+			// Use .is( ":disabled" ) so that fieldset[disabled] works
+			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();
+
+			if ( val == null ) {
+				return null;
+			}
+
+			if ( Array.isArray( val ) ) {
+				return jQuery.map( val, function( val ) {
+					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+				} );
+			}
+
+			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		} ).get();
+	}
+} );
+
+
+jQuery.fn.extend( {
+	wrapAll: function( html ) {
+		var wrap;
+
+		if ( this[ 0 ] ) {
+			if ( jQuery.isFunction( html ) ) {
+				html = html.call( this[ 0 ] );
+			}
+
+			// The elements to wrap the target around
+			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+			if ( this[ 0 ].parentNode ) {
+				wrap.insertBefore( this[ 0 ] );
+			}
+
+			wrap.map( function() {
+				var elem = this;
+
+				while ( elem.firstElementChild ) {
+					elem = elem.firstElementChild;
+				}
+
+				return elem;
+			} ).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( jQuery.isFunction( html ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).wrapInner( html.call( this, i ) );
+			} );
+		}
+
+		return this.each( function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				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 ) {
+		this.parent( selector ).not( "body" ).each( function() {
+			jQuery( this ).replaceWith( this.childNodes );
+		} );
+		return 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 );
+};
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+	var body = document.implementation.createHTMLDocument( "" ).body;
+	body.innerHTML = "<form></form><form></form>";
+	return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+	if ( typeof data !== "string" ) {
+		return [];
+	}
+	if ( typeof context === "boolean" ) {
+		keepScripts = context;
+		context = false;
+	}
+
+	var base, parsed, scripts;
+
+	if ( !context ) {
+
+		// Stop scripts or inline event handlers from being executed immediately
+		// by using document.implementation
+		if ( support.createHTMLDocument ) {
+			context = document.implementation.createHTMLDocument( "" );
+
+			// Set the base href for the created document
+			// so any parsed elements with URLs
+			// are based on the document's URL (gh-2965)
+			base = context.createElement( "base" );
+			base.href = document.location.href;
+			context.head.appendChild( base );
+		} else {
+			context = document;
+		}
+	}
+
+	parsed = rsingleTag.exec( data );
+	scripts = !keepScripts && [];
+
+	// Single tag
+	if ( parsed ) {
+		return [ context.createElement( parsed[ 1 ] ) ];
+	}
+
+	parsed = buildFragment( [ data ], context, scripts );
+
+	if ( scripts && scripts.length ) {
+		jQuery( scripts ).remove();
+	}
+
+	return jQuery.merge( [], parsed.childNodes );
+};
+
+
+jQuery.offset = {
+	setOffset: function( elem, options, i ) {
+		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+			position = jQuery.css( elem, "position" ),
+			curElem = jQuery( elem ),
+			props = {};
+
+		// Set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		curOffset = curElem.offset();
+		curCSSTop = jQuery.css( elem, "top" );
+		curCSSLeft = jQuery.css( elem, "left" );
+		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+		// Need to be able to calculate position if either
+		// top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( jQuery.isFunction( options ) ) {
+
+			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+jQuery.fn.extend( {
+	offset: function( options ) {
+
+		// Preserve chaining for setter
+		if ( arguments.length ) {
+			return options === undefined ?
+				this :
+				this.each( function( i ) {
+					jQuery.offset.setOffset( this, options, i );
+				} );
+		}
+
+		var doc, docElem, rect, win,
+			elem = this[ 0 ];
+
+		if ( !elem ) {
+			return;
+		}
+
+		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+		// Support: IE <=11 only
+		// Running getBoundingClientRect on a
+		// disconnected node in IE throws an error
+		if ( !elem.getClientRects().length ) {
+			return { top: 0, left: 0 };
+		}
+
+		rect = elem.getBoundingClientRect();
+
+		doc = elem.ownerDocument;
+		docElem = doc.documentElement;
+		win = doc.defaultView;
+
+		return {
+			top: rect.top + win.pageYOffset - docElem.clientTop,
+			left: rect.left + win.pageXOffset - docElem.clientLeft
+		};
+	},
+
+	position: function() {
+		if ( !this[ 0 ] ) {
+			return;
+		}
+
+		var offsetParent, offset,
+			elem = this[ 0 ],
+			parentOffset = { top: 0, left: 0 };
+
+		// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+		// because it is its only offset parent
+		if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+			// Assume getBoundingClientRect is there when computed position is fixed
+			offset = elem.getBoundingClientRect();
+
+		} else {
+
+			// Get *real* offsetParent
+			offsetParent = this.offsetParent();
+
+			// Get correct offsets
+			offset = this.offset();
+			if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
+				parentOffset = offsetParent.offset();
+			}
+
+			// Add offsetParent borders
+			parentOffset = {
+				top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
+				left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
+			};
+		}
+
+		// Subtract parent offsets and element margins
+		return {
+			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+		};
+	},
+
+	// This method will return documentElement in the following cases:
+	// 1) For the element inside the iframe without offsetParent, this method will return
+	//    documentElement of the parent window
+	// 2) For the hidden or detached element
+	// 3) For body or html element, i.e. in case of the html node - it will return itself
+	//
+	// but those exceptions were never presented as a real life use-cases
+	// and might be considered as more preferable results.
+	//
+	// This logic, however, is not guaranteed and can change at any point in the future
+	offsetParent: function() {
+		return this.map( function() {
+			var offsetParent = this.offsetParent;
+
+			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+
+			return offsetParent || documentElement;
+		} );
+	}
+} );
+
+// Create scrollLeft and scrollTop methods
+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 ) {
+
+			// Coalesce documents and windows
+			var win;
+			if ( jQuery.isWindow( elem ) ) {
+				win = elem;
+			} else if ( elem.nodeType === 9 ) {
+				win = elem.defaultView;
+			}
+
+			if ( val === undefined ) {
+				return win ? win[ prop ] : elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : win.pageXOffset,
+					top ? val : win.pageYOffset
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length );
+	};
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+		function( elem, computed ) {
+			if ( computed ) {
+				computed = curCSS( elem, prop );
+
+				// If curCSS returns percentage, fallback to offset
+				return rnumnonpx.test( computed ) ?
+					jQuery( elem ).position()[ prop ] + "px" :
+					computed;
+			}
+		}
+	);
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+		function( defaultExtra, funcName ) {
+
+		// Margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( jQuery.isWindow( elem ) ) {
+
+					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+					return funcName.indexOf( "outer" ) === 0 ?
+						elem[ "inner" + name ] :
+						elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+					// whichever is greatest
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, 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 ) {
+
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ?
+			this.off( selector, "**" ) :
+			this.off( types, selector || "**", fn );
+	}
+} );
+
+jQuery.holdReady = function( hold ) {
+	if ( hold ) {
+		jQuery.readyWait++;
+	} else {
+		jQuery.ready( true );
+	}
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+	define( "jquery", [], function() {
+		return jQuery;
+	} );
+}
+
+
+
+
+var
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+	if ( window.$ === jQuery ) {
+		window.$ = _$;
+	}
+
+	if ( deep && window.jQuery === jQuery ) {
+		window.jQuery = _jQuery;
+	}
+
+	return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+	window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/workspace/public/jquery/jquery.slim.min.js b/workspace/public/jquery/jquery.slim.min.js
new file mode 100644
index 0000000..105d00e
--- /dev/null
+++ b/workspace/public/jquery/jquery.slim.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a);
+}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={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,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.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(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},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(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var _a,ab=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?_a:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),_a={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ab[b]||r.find.attr;ab[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ab[g],ab[g]=e,e=null!=c(a,b,d)?g:null,ab[g]=f),e}});var bb=/^(?:input|select|textarea|button)$/i,cb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function db(a){var b=a.match(L)||[];return b.join(" ")}function eb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,eb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,eb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,eb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=eb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+db(eb(c))+" ").indexOf(b)>-1)return!0;return!1}});var fb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(fb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:db(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var gb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!gb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,gb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var hb=/\[\]$/,ib=/\r?\n/g,jb=/^(?:submit|button|image|reset|file)$/i,kb=/^(?:input|select|textarea|keygen)/i;function lb(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||hb.test(a)?d(a,e):lb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d);
+});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)lb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)lb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&kb.test(this.nodeName)&&!jb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ib,"\r\n")}}):{name:b.name,value:c.replace(ib,"\r\n")}}).get()}}),r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var mb=a.jQuery,nb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=nb),b&&a.jQuery===r&&(a.jQuery=mb),r},b||(a.jQuery=a.$=r),r});
diff --git a/workspace/public/jquery/jquery.slim.min.map b/workspace/public/jquery/jquery.slim.min.map
new file mode 100644
index 0000000..a44b7b4
--- /dev/null
+++ b/workspace/public/jquery/jquery.slim.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","opt","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","propHooks","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","unwrap","hidden","visible","offsetWidth","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"}
\ No newline at end of file
diff --git a/workspace/public/js/app.js b/workspace/public/js/app.js
new file mode 100644
index 0000000..af41976
--- /dev/null
+++ b/workspace/public/js/app.js
@@ -0,0 +1,34 @@
+!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=39)}([function(t,e,n){"use strict";function r(t){return"[object Array]"===C.call(t)}function i(t){return"[object ArrayBuffer]"===C.call(t)}function o(t){return"undefined"!=typeof FormData&&t instanceof FormData}function a(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer}function s(t){return"string"==typeof t}function u(t){return"number"==typeof t}function c(t){return void 0===t}function l(t){return null!==t&&"object"==typeof t}function f(t){return"[object Date]"===C.call(t)}function p(t){return"[object File]"===C.call(t)}function d(t){return"[object Blob]"===C.call(t)}function h(t){return"[object Function]"===C.call(t)}function v(t){return l(t)&&h(t.pipe)}function g(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams}function m(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function y(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function b(t,e){if(null!==t&&void 0!==t)if("object"==typeof t||r(t)||(t=[t]),r(t))for(var n=0,i=t.length;n<i;n++)e.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}function _(){function t(t,n){"object"==typeof e[n]&&"object"==typeof t?e[n]=_(e[n],t):e[n]=t}for(var e={},n=0,r=arguments.length;n<r;n++)b(arguments[n],t);return e}function w(t,e,n){return b(e,function(e,r){t[r]=n&&"function"==typeof e?x(e,n):e}),t}var x=n(6),C=Object.prototype.toString;t.exports={isArray:r,isArrayBuffer:i,isFormData:o,isArrayBufferView:a,isString:s,isNumber:u,isObject:l,isUndefined:c,isDate:f,isFile:p,isBlob:d,isFunction:h,isStream:v,isURLSearchParams:g,isStandardBrowserEnv:y,forEach:b,merge:_,extend:w,trim:m}},function(t,e,n){"use strict";(function(e){function r(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var i=n(0),o=n(25),a={"Content-Type":"application/x-www-form-urlencoded"},s={adapter:function(){var t;return"undefined"!=typeof XMLHttpRequest?t=n(2):void 0!==e&&(t=n(2)),t}(),transformRequest:[function(t,e){return o(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(r(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)?(r(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t){t=t.replace(/^\)\]\}',?\n/,"");try{t=JSON.parse(t)}catch(t){}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(t){s.headers[t]={}}),i.forEach(["post","put","patch"],function(t){s.headers[t]=i.merge(a)}),t.exports=s}).call(e,n(33))},function(t,e,n){"use strict";var r=n(0),i=n(17),o=n(20),a=n(26),s=n(24),u=n(5),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(19);t.exports=function(t){return new Promise(function(e,l){var f=t.data,p=t.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||s(t.url)||(d=new window.XDomainRequest,h="onload",v=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var g=t.auth.username||"",m=t.auth.password||"";p.Authorization="Basic "+c(g+":"+m)}if(d.open(t.method.toUpperCase(),o(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||v)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?a(d.getAllResponseHeaders()):null,r=t.responseType&&"text"!==t.responseType?d.response:d.responseText,o={data:r,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:n,config:t,request:d};i(e,l,o),d=null}},d.onerror=function(){l(u("Network Error",t)),d=null},d.ontimeout=function(){l(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED")),d=null},r.isStandardBrowserEnv()){var y=n(22),b=(t.withCredentials||s(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;b&&(p[t.xsrfHeaderName]=b)}if("setRequestHeader"in d&&r.forEach(p,function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete p[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(t){if("json"!==d.responseType)throw t}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),l(t),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(t,e,n){"use strict";function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,e,n){"use strict";var r=n(16);t.exports=function(t,e,n,i){var o=new Error(t);return r(o,e,n,i)}},function(t,e,n){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){n(29),window.Vue=n(37),Vue.component("example",n(34));new Vue({el:"#app"})},function(t,e){},function(t,e,n){t.exports=n(11)},function(t,e,n){"use strict";function r(t){var e=new a(t),n=o(a.prototype.request,e);return i.extend(n,a.prototype,e),i.extend(n,e),n}var i=n(0),o=n(6),a=n(13),s=n(1),u=r(s);u.Axios=a,u.create=function(t){return r(i.merge(s,t))},u.Cancel=n(3),u.CancelToken=n(12),u.isCancel=n(4),u.all=function(t){return Promise.all(t)},u.spread=n(27),t.exports=u,t.exports.default=u},function(t,e,n){"use strict";function r(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var n=this;t(function(t){n.reason||(n.reason=new i(t),e(n.reason))})}var i=n(3);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var t;return{token:new r(function(e){t=e}),cancel:t}},t.exports=r},function(t,e,n){"use strict";function r(t){this.defaults=t,this.interceptors={request:new a,response:new a}}var i=n(1),o=n(0),a=n(14),s=n(15),u=n(23),c=n(21);r.prototype.request=function(t){"string"==typeof t&&(t=o.merge({url:arguments[0]},arguments[1])),t=o.merge(i,this.defaults,{method:"get"},t),t.baseURL&&!u(t.url)&&(t.url=c(t.baseURL,t.url));var e=[s,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)n=n.then(e.shift(),e.shift());return n},o.forEach(["delete","get","head"],function(t){r.prototype[t]=function(e,n){return this.request(o.merge(n||{},{method:t,url:e}))}}),o.forEach(["post","put","patch"],function(t){r.prototype[t]=function(e,n,r){return this.request(o.merge(r||{},{method:t,url:e,data:n}))}}),t.exports=r},function(t,e,n){"use strict";function r(){this.handlers=[]}var i=n(0);r.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},r.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},r.prototype.forEach=function(t){i.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=r},function(t,e,n){"use strict";function r(t){t.cancelToken&&t.cancelToken.throwIfRequested()}var i=n(0),o=n(18),a=n(4),s=n(1);t.exports=function(t){return r(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=i.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||s.adapter)(t).then(function(e){return r(t),e.data=o(e.data,e.headers,t.transformResponse),e},function(e){return a(e)||(r(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,n){"use strict";t.exports=function(t,e,n,r){return t.config=e,n&&(t.code=n),t.response=r,t}},function(t,e,n){"use strict";var r=n(5);t.exports=function(t,e,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n)):t(n)}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},function(t,e,n){"use strict";function r(){this.message="String contains an invalid character"}function i(t){for(var e,n,i=String(t),a="",s=0,u=o;i.charAt(0|s)||(u="=",s%1);a+=u.charAt(63&e>>8-s%1*8)){if((n=i.charCodeAt(s+=.75))>255)throw new r;e=e<<8|n}return a}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",t.exports=i},function(t,e,n){"use strict";function r(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(0);t.exports=function(t,e,n){if(!e)return t;var o;if(n)o=n(e);else if(i.isURLSearchParams(e))o=e.toString();else{var a=[];i.forEach(e,function(t,e){null!==t&&void 0!==t&&(i.isArray(t)&&(e+="[]"),i.isArray(t)||(t=[t]),i.forEach(t,function(t){i.isDate(t)?t=t.toISOString():i.isObject(t)&&(t=JSON.stringify(t)),a.push(r(e)+"="+r(t))}))}),o=a.join("&")}return o&&(t+=(-1===t.indexOf("?")?"?":"&")+o),t}},function(t,e,n){"use strict";t.exports=function(t,e){return t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,"")}},function(t,e,n){"use strict";var r=n(0);t.exports=r.isStandardBrowserEnv()?function(){return{write:function(t,e,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(t,e,n){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,n){"use strict";var r=n(0);t.exports=r.isStandardBrowserEnv()?function(){function t(t){var e=t;return n&&(i.setAttribute("href",e),e=i.href),i.setAttribute("href",e),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var e,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return e=t(window.location.href),function(n){var i=r.isString(n)?t(n):n;return i.protocol===e.protocol&&i.host===e.host}}():function(){return function(){return!0}}()},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e){r.forEach(t,function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])})}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){var e,n,i,o={};return t?(r.forEach(t.split("\n"),function(t){i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e&&(o[e]=o[e]?o[e]+", "+n:n)}),o):o}},function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={mounted:function(){}}},function(t,e,n){window._=n(32);try{window.$=window.jQuery=n(31),n(30)}catch(t){}window.axios=n(10),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var r=document.head.querySelector('meta[name="csrf-token"]');r&&(window.axios.defaults.headers.common["X-CSRF-TOKEN"]=r.content)},function(t,e){/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,r=this;t(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||t(r).trigger(t.support.transition.end)};return setTimeout(i,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var n=t(this),i=n.data("bs.alert");i||n.data("bs.alert",i=new r(this)),"string"==typeof e&&i[e].call(n)})}var n='[data-dismiss="alert"]',r=function(e){t(e).on("click",n,this.close)};r.VERSION="3.3.7",r.TRANSITION_DURATION=150,r.prototype.close=function(e){function n(){a.detach().trigger("closed.bs.alert").remove()}var i=t(this),o=i.attr("data-target");o||(o=i.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===o?[]:o);e&&e.preventDefault(),a.length||(a=i.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n())};var i=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=r,t.fn.alert.noConflict=function(){return t.fn.alert=i,this},t(document).on("click.bs.alert.data-api",n,r.prototype.close)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.button"),o="object"==typeof e&&e;i||r.data("bs.button",i=new n(this,o)),"toggle"==e?i.toggle():e&&i.setState(e)})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",o=r.data();e+="Text",null==o.resetText&&r.data("resetText",r[i]()),setTimeout(t.proxy(function(){r[i](null==o[e]?this.options[e]:o[e]),"loadingText"==e?(this.isLoading=!0,r.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var r=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=r,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=t(n.target).closest(".btn");e.call(r,"toggle"),t(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.carousel"),o=t.extend({},n.DEFAULTS,r.data(),"object"==typeof e&&e),a="string"==typeof e?e:o.slide;i||r.data("bs.carousel",i=new n(this,o)),"number"==typeof e?i.to(e):a?i[a]():o.interval&&i.pause().cycle()})}var n=function(e,n){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},n.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.getItemForDirection=function(t,e){var n=this.getItemIndex(e);if(("prev"==t&&0===n||"next"==t&&n==this.$items.length-1)&&!this.options.wrap)return e;var r="prev"==t?-1:1,i=(n+r)%this.$items.length;return this.$items.eq(i)},n.prototype.to=function(t){var e=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",this.$items.eq(t))},n.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(e,r){var i=this.$element.find(".item.active"),o=r||this.getItemForDirection(e,i),a=this.interval,s="next"==e?"left":"right",u=this;if(o.hasClass("active"))return this.sliding=!1;var c=o[0],l=t.Event("slide.bs.carousel",{relatedTarget:c,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var f=t(this.$indicators.children()[this.getItemIndex(o)]);f&&f.addClass("active")}var p=t.Event("slid.bs.carousel",{relatedTarget:c,direction:s});return t.support.transition&&this.$element.hasClass("slide")?(o.addClass(e),o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([e,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(p)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(p)),a&&this.cycle(),this}};var r=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=n,t.fn.carousel.noConflict=function(){return t.fn.carousel=r,this};var i=function(n){var r,i=t(this),o=t(i.attr("data-target")||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""));if(o.hasClass("carousel")){var a=t.extend({},o.data(),i.data()),s=i.attr("data-slide-to");s&&(a.interval=!1),e.call(o,a),s&&o.data("bs.carousel").to(s),n.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",i).on("click.bs.carousel.data-api","[data-slide-to]",i),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var n=t(this);e.call(n,n.data())})})}(jQuery),function(t){"use strict";function e(e){var n,r=e.attr("data-target")||(n=e.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return t(r)}function n(e){return this.each(function(){var n=t(this),i=n.data("bs.collapse"),o=t.extend({},r.DEFAULTS,n.data(),"object"==typeof e&&e);!i&&o.toggle&&/show|hide/.test(e)&&(o.toggle=!1),i||n.data("bs.collapse",i=new r(this,o)),"string"==typeof e&&i[e]()})}var r=function(e,n){this.$element=t(e),this.options=t.extend({},r.DEFAULTS,n),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};r.VERSION="3.3.7",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(e=i.data("bs.collapse"))&&e.transitioning)){var o=t.Event("show.bs.collapse");if(this.$element.trigger(o),!o.isDefaultPrevented()){i&&i.length&&(n.call(i,"hide"),e||i.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return s.call(this);var u=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(s,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[a](this.$element[0][u])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[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 i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!t.support.transition)return i.call(this);this.$element[n](0).one("bsTransitionEnd",t.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(n,r){var i=t(r);this.addAriaAndCollapsedClass(e(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var n=t.hasClass("in");t.attr("aria-expanded",n),e.toggleClass("collapsed",!n).attr("aria-expanded",n)};var i=t.fn.collapse;t.fn.collapse=n,t.fn.collapse.Constructor=r,t.fn.collapse.noConflict=function(){return t.fn.collapse=i,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(r){var i=t(this);i.attr("data-target")||r.preventDefault();var o=e(i),a=o.data("bs.collapse"),s=a?"toggle":i.data();n.call(o,s)})}(jQuery),function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&t(n);return r&&r.length?r:e.parent()}function n(n){n&&3===n.which||(t(i).remove(),t(o).each(function(){var r=t(this),i=e(r),o={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(i[0],n.target)||(i.trigger(n=t.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(r.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",o)))))}))}function r(e){return this.each(function(){var n=t(this),r=n.data("bs.dropdown");r||n.data("bs.dropdown",r=new a(this)),"string"==typeof e&&r[e].call(n)})}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(r){var i=t(this);if(!i.is(".disabled, :disabled")){var o=e(i),a=o.hasClass("open");if(n(),!a){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",n);var s={relatedTarget:this};if(o.trigger(r=t.Event("show.bs.dropdown",s)),r.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger(t.Event("shown.bs.dropdown",s))}return!1}},a.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var r=t(this);if(n.preventDefault(),n.stopPropagation(),!r.is(".disabled, :disabled")){var i=e(r),a=i.hasClass("open");if(!a&&27!=n.which||a&&27==n.which)return 27==n.which&&i.find(o).trigger("focus"),r.trigger("click");var s=i.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var u=s.index(n.target);38==n.which&&u>0&&u--,40==n.which&&u<s.length-1&&u++,~u||(u=0),s.eq(u).trigger("focus")}}}};var s=t.fn.dropdown;t.fn.dropdown=r,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=s,this},t(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",o,a.prototype.toggle).on("keydown.bs.dropdown.data-api",o,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),function(t){"use strict";function e(e,r){return this.each(function(){var i=t(this),o=i.data("bs.modal"),a=t.extend({},n.DEFAULTS,i.data(),"object"==typeof e&&e);o||i.data("bs.modal",o=new n(this,a)),"string"==typeof e?o[e](r):a.show&&o.show(r)})}var n=function(e,n){this.options=n,this.$body=t(document.body),this.$element=t(e),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,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},n.prototype.show=function(e){var r=this,i=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(i),this.isShown||i.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"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){r.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(r.$element)&&(r.ignoreBackdropClick=!0)})}),this.backdrop(function(){var i=t.support.transition&&r.$element.hasClass("fade");r.$element.parent().length||r.$element.appendTo(r.$body),r.$element.show().scrollTop(0),r.adjustDialog(),i&&r.$element[0].offsetWidth,r.$element.addClass("in"),r.enforceFocus();var o=t.Event("shown.bs.modal",{relatedTarget:e});i?r.$dialog.one("bsTransitionEnd",function(){r.$element.trigger("focus").trigger(o)}).emulateTransitionEnd(n.TRANSITION_DURATION):r.$element.trigger("focus").trigger(o)}))},n.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(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"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(e){var r=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=t.support.transition&&i;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){if(this.ignoreBackdropClick)return void(this.ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;o?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){r.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var r=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=n,t.fn.modal.noConflict=function(){return t.fn.modal=r,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var r=t(this),i=r.attr("href"),o=t(r.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),a=o.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(i)&&i},o.data(),r.data());r.is("a")&&n.preventDefault(),o.one("show.bs.modal",function(t){t.isDefaultPrevented()||o.one("hidden.bs.modal",function(){r.is(":visible")&&r.trigger("focus")})}),e.call(o,a,this)})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.tooltip"),o="object"==typeof e&&e;!i&&/destroy|hide/.test(e)||(i||r.data("bs.tooltip",i=new n(this,o)),"string"==typeof e&&i[e]())})}var n=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.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}},n.prototype.init=function(e,n,r){if(this.enabled=!0,this.type=e,this.$element=t(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&t(t.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 i=this.options.trigger.split(" "),o=i.length;o--;){var a=i[o];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",u="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},n.prototype.getDelegateOptions=function(){var e={},n=this.getDefaults();return this._options&&t.each(this._options,function(t,r){n[t]!=r&&(e[t]=r)}),e},n.prototype.enter=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusin"==e.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},n.prototype.leave=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusout"==e.type?"focus":"hover"]=!1),!n.isInStateTrue()){if(clearTimeout(n.timeout),n.hoverState="out",!n.options.delay||!n.options.delay.hide)return n.hide();n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)}},n.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var r=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!r)return;var i=this,o=this.tip(),a=this.getUID(this.type);this.setContent(),o.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(s);c&&(s=s.replace(u,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),f=o[0].offsetWidth,p=o[0].offsetHeight;if(c){var d=s,h=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+p>h.bottom?"top":"top"==s&&l.top-p<h.top?"bottom":"right"==s&&l.right+f>h.width?"left":"left"==s&&l.left-f<h.left?"right":s,o.removeClass(d).addClass(s)}var v=this.getCalculatedOffset(s,l,f,p);this.applyPlacement(v,s);var g=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};t.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",g).emulateTransitionEnd(n.TRANSITION_DURATION):g()}},n.prototype.applyPlacement=function(e,n){var r=this.tip(),i=r[0].offsetWidth,o=r[0].offsetHeight,a=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(s)&&(s=0),e.top+=a,e.left+=s,t.offset.setOffset(r[0],t.extend({using:function(t){r.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),r.addClass("in");var u=r[0].offsetWidth,c=r[0].offsetHeight;"top"==n&&c!=o&&(e.top=e.top+o-c);var l=this.getViewportAdjustedDelta(n,e,u,c);l.left?e.left+=l.left:e.top+=l.top;var f=/top|bottom/.test(n),p=f?2*l.left-i+u:2*l.top-o+c,d=f?"offsetWidth":"offsetHeight";r.offset(e),this.replaceArrow(p,r[0][d],f)},n.prototype.replaceArrow=function(t,e,n){this.arrow().css(n?"left":"top",50*(1-t/e)+"%").css(n?"top":"left","")},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},n.prototype.hide=function(e){function r(){"in"!=i.hoverState&&o.detach(),i.$element&&i.$element.removeAttr("aria-describedby").trigger("hidden.bs."+i.type),e&&e()}var i=this,o=t(this.$tip),a=t.Event("hide.bs."+this.type);if(this.$element.trigger(a),!a.isDefaultPrevented())return o.removeClass("in"),t.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),this.hoverState=null,this},n.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},n.prototype.hasContent=function(){return this.getTitle()},n.prototype.getPosition=function(e){e=e||this.$element;var n=e[0],r="BODY"==n.tagName,i=n.getBoundingClientRect();null==i.width&&(i=t.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var o=window.SVGElement&&n instanceof window.SVGElement,a=r?{top:0,left:0}:o?null:e.offset(),s={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},u=r?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},i,s,u,a)},n.prototype.getCalculatedOffset=function(t,e,n,r){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-n/2}:"top"==t?{top:e.top-r,left:e.left+e.width/2-n/2}:"left"==t?{top:e.top+e.height/2-r/2,left:e.left-n}:{top:e.top+e.height/2-r/2,left:e.left+e.width}},n.prototype.getViewportAdjustedDelta=function(t,e,n,r){var i={top:0,left:0};if(!this.$viewport)return i;var o=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var s=e.top-o-a.scroll,u=e.top+o-a.scroll+r;s<a.top?i.top=a.top-s:u>a.top+a.height&&(i.top=a.top+a.height-u)}else{var c=e.left-o,l=e.left+o+n;c<a.left?i.left=a.left-c:l>a.right&&(i.left=a.left+a.width-l)}return i},n.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},n.prototype.getUID=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(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},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(e){var n=this;e&&((n=t(e.currentTarget).data("bs."+this.type))||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n))),e?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var r=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=n,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=r,this}}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.popover"),o="object"==typeof e&&e;!i&&/destroy|hide/.test(e)||(i||r.data("bs.popover",i=new n(this,o)),"string"==typeof e&&i[e]())})}var n=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.7",n.DEFAULTS=t.extend({},t.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>'}),n.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),n=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=n,t.fn.popover.noConflict=function(){return t.fn.popover=r,this}}(jQuery),function(t){"use strict";function e(n,r){this.$body=t(document.body),this.$scrollElement=t(t(n).is(document.body)?window:n),this.options=t.extend({},e.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=t(this),i=r.data("bs.scrollspy"),o="object"==typeof n&&n;i||r.data("bs.scrollspy",i=new e(this,o)),"string"==typeof n&&i[n]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),i=e.data("target")||e.attr("href"),o=/^#./.test(i)&&t(i);return o&&o.length&&o.is(":visible")&&[[o[n]().top+r,i]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),r=this.options.offset+n-this.$scrollElement.height(),i=this.offsets,o=this.targets,a=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),e>=r)return a!=(t=o[o.length-1])&&this.activate(t);if(a&&e<i[0])return this.activeTarget=null,this.clear();for(t=i.length;t--;)a!=o[t]&&e>=i[t]&&(void 0===i[t+1]||e<i[t+1])&&this.activate(o[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var n=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',r=t(n).parents("li").addClass("active");r.parent(".dropdown-menu").length&&(r=r.closest("li.dropdown").addClass("active")),r.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var r=t.fn.scrollspy;t.fn.scrollspy=n,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=r,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);n.call(e,e.data())})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.tab");i||r.data("bs.tab",i=new n(this)),"string"==typeof e&&i[e]()})}var n=function(e){this.element=t(e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.show=function(){var e=this.element,n=e.closest("ul:not(.dropdown-menu)"),r=e.data("target");if(r||(r=e.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var i=n.find(".active:last a"),o=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:i[0]});if(i.trigger(o),e.trigger(a),!a.isDefaultPrevented()&&!o.isDefaultPrevented()){var s=t(r);this.activate(e.closest("li"),n),this.activate(s,s.parent(),function(){i.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:i[0]})})}}},n.prototype.activate=function(e,r,i){function o(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}var a=r.find("> .active"),s=i&&t.support.transition&&(a.length&&a.hasClass("fade")||!!r.find("> .fade").length);a.length&&s?a.one("bsTransitionEnd",o).emulateTransitionEnd(n.TRANSITION_DURATION):o(),a.removeClass("in")};var r=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=n,t.fn.tab.noConflict=function(){return t.fn.tab=r,this};var i=function(n){n.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.affix"),o="object"==typeof e&&e;i||r.data("bs.affix",i=new n(this,o)),"string"==typeof e&&i[e]()})}var n=function(e,r){this.options=t.extend({},n.DEFAULTS,r),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(t,e,n,r){var i=this.$target.scrollTop(),o=this.$element.offset(),a=this.$target.height();if(null!=n&&"top"==this.affixed)return i<n&&"top";if("bottom"==this.affixed)return null!=n?!(i+this.unpin<=o.top)&&"bottom":!(i+a<=t-r)&&"bottom";var s=null==this.affixed,u=s?i:o.top,c=s?a:e;return null!=n&&i<=n?"top":null!=r&&u+c>=t-r&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},n.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),r=this.options.offset,i=r.top,o=r.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof r&&(o=i=r),"function"==typeof i&&(i=r.top(this.$element)),"function"==typeof o&&(o=r.bottom(this.$element));var s=this.getState(a,e,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),c=t.Event(u+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:a-e-o})}};var r=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=n,t.fn.affix.noConflict=function(){return t.fn.affix=r,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var n=t(this),r=n.data();r.offset=r.offset||{},null!=r.offsetBottom&&(r.offset.bottom=r.offsetBottom),null!=r.offsetTop&&(r.offset.top=r.offsetTop),e.call(n,r)})})}(jQuery)},function(t,e,n){var r,i;/*!
+ * jQuery JavaScript Library v3.2.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T18:59Z
+ */
+!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,o){"use strict";function a(t,e){e=e||at;var n=e.createElement("script");n.text=t,e.head.appendChild(n).parentNode.removeChild(n)}function s(t){var e=!!t&&"length"in t&&t.length,n=yt.type(t);return"function"!==n&&!yt.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function u(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}function c(t,e,n){return yt.isFunction(e)?yt.grep(t,function(t,r){return!!e.call(t,r,t)!==n}):e.nodeType?yt.grep(t,function(t){return t===e!==n}):"string"!=typeof e?yt.grep(t,function(t){return ft.call(e,t)>-1!==n}):$t.test(e)?yt.filter(e,t,n):(e=yt.filter(e,t),yt.grep(t,function(t){return ft.call(e,t)>-1!==n&&1===t.nodeType}))}function l(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function f(t){var e={};return yt.each(t.match(Ot)||[],function(t,n){e[n]=!0}),e}function p(t){return t}function d(t){throw t}function h(t,e,n,r){var i;try{t&&yt.isFunction(i=t.promise)?i.call(t).done(e).fail(n):t&&yt.isFunction(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}function v(){at.removeEventListener("DOMContentLoaded",v),n.removeEventListener("load",v),yt.ready()}function g(){this.expando=yt.expando+g.uid++}function m(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Pt.test(t)?JSON.parse(t):t)}function y(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(Ft,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(r))){try{n=m(n)}catch(t){}Rt.set(t,e,n)}else n=void 0;return n}function b(t,e,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return yt.css(t,e,"")},u=s(),c=n&&n[3]||(yt.cssNumber[e]?"":"px"),l=(yt.cssNumber[e]||"px"!==c&&+u)&&Mt.exec(yt.css(t,e));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,yt.style(t,e,l+c)}while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function _(t){var e,n=t.ownerDocument,r=t.nodeName,i=Wt[r];return i||(e=n.body.appendChild(n.createElement(r)),i=yt.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),Wt[r]=i,i)}function w(t,e){for(var n,r,i=[],o=0,a=t.length;o<a;o++)r=t[o],r.style&&(n=r.style.display,e?("none"===n&&(i[o]=Lt.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Bt(r)&&(i[o]=_(r))):"none"!==n&&(i[o]="none",Lt.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(t[o].style.display=i[o]);return t}function x(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&u(t,e)?yt.merge([t],n):n}function C(t,e){for(var n=0,r=t.length;n<r;n++)Lt.set(t[n],"globalEval",!e||Lt.get(e[n],"globalEval"))}function T(t,e,n,r,i){for(var o,a,s,u,c,l,f=e.createDocumentFragment(),p=[],d=0,h=t.length;d<h;d++)if((o=t[d])||0===o)if("object"===yt.type(o))yt.merge(p,o.nodeType?[o]:o);else if(Jt.test(o)){for(a=a||f.appendChild(e.createElement("div")),s=(Vt.exec(o)||["",""])[1].toLowerCase(),u=Kt[s]||Kt._default,a.innerHTML=u[1]+yt.htmlPrefilter(o)+u[2],l=u[0];l--;)a=a.lastChild;yt.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(e.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&yt.inArray(o,r)>-1)i&&i.push(o);else if(c=yt.contains(o.ownerDocument,o),a=x(f.appendChild(o),"script"),c&&C(a),n)for(l=0;o=a[l++];)Xt.test(o.type||"")&&n.push(o);return f}function $(){return!0}function k(){return!1}function A(){try{return at.activeElement}catch(t){}}function E(t,e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=void 0);for(s in e)E(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=k;else if(!i)return t;return 1===o&&(a=i,i=function(t){return yt().off(t),a.apply(this,arguments)},i.guid=a.guid||(a.guid=yt.guid++)),t.each(function(){yt.event.add(this,e,i,r,n)})}function S(t,e){return u(t,"table")&&u(11!==e.nodeType?e:e.firstChild,"tr")?yt(">tbody",t)[0]||t:t}function O(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function j(t){var e=ne.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function N(t,e){var n,r,i,o,a,s,u,c;if(1===e.nodeType){if(Lt.hasData(t)&&(o=Lt.access(t),a=Lt.set(e,o),c=o.events)){delete a.handle,a.events={};for(i in c)for(n=0,r=c[i].length;n<r;n++)yt.event.add(e,i,c[i][n])}Rt.hasData(t)&&(s=Rt.access(t),u=yt.extend({},s),Rt.set(e,u))}}function D(t,e){var n=e.nodeName.toLowerCase();"input"===n&&zt.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function I(t,e,n,r){e=ct.apply([],e);var i,o,s,u,c,l,f=0,p=t.length,d=p-1,h=e[0],v=yt.isFunction(h);if(v||p>1&&"string"==typeof h&&!mt.checkClone&&ee.test(h))return t.each(function(i){var o=t.eq(i);v&&(e[0]=h.call(this,i,o.html())),I(o,e,n,r)});if(p&&(i=T(e,t[0].ownerDocument,!1,t,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=yt.map(x(i,"script"),O),u=s.length;f<p;f++)c=i,f!==d&&(c=yt.clone(c,!0,!0),u&&yt.merge(s,x(c,"script"))),n.call(t[f],c,f);if(u)for(l=s[s.length-1].ownerDocument,yt.map(s,j),f=0;f<u;f++)c=s[f],Xt.test(c.type||"")&&!Lt.access(c,"globalEval")&&yt.contains(l,c)&&(c.src?yt._evalUrl&&yt._evalUrl(c.src):a(c.textContent.replace(re,""),l))}return t}function L(t,e,n){for(var r,i=e?yt.filter(e,t):t,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||yt.cleanData(x(r)),r.parentNode&&(n&&yt.contains(r.ownerDocument,r)&&C(x(r,"script")),r.parentNode.removeChild(r));return t}function R(t,e,n){var r,i,o,a,s=t.style;return n=n||ae(t),n&&(a=n.getPropertyValue(e)||n[e],""!==a||yt.contains(t.ownerDocument,t)||(a=yt.style(t,e)),!mt.pixelMarginRight()&&oe.test(a)&&ie.test(e)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function P(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function F(t){if(t in pe)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=fe.length;n--;)if((t=fe[n]+e)in pe)return t}function q(t){var e=yt.cssProps[t];return e||(e=yt.cssProps[t]=F(t)||t),e}function M(t,e,n){var r=Mt.exec(e);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):e}function H(t,e,n,r,i){var o,a=0;for(o=n===(r?"border":"content")?4:"width"===e?1:0;o<4;o+=2)"margin"===n&&(a+=yt.css(t,n+Ht[o],!0,i)),r?("content"===n&&(a-=yt.css(t,"padding"+Ht[o],!0,i)),"margin"!==n&&(a-=yt.css(t,"border"+Ht[o]+"Width",!0,i))):(a+=yt.css(t,"padding"+Ht[o],!0,i),"padding"!==n&&(a+=yt.css(t,"border"+Ht[o]+"Width",!0,i)));return a}function B(t,e,n){var r,i=ae(t),o=R(t,e,i),a="border-box"===yt.css(t,"boxSizing",!1,i);return oe.test(o)?o:(r=a&&(mt.boxSizingReliable()||o===t.style[e]),"auto"===o&&(o=t["offset"+e[0].toUpperCase()+e.slice(1)]),(o=parseFloat(o)||0)+H(t,e,n||(a?"border":"content"),r,i)+"px")}function U(t,e,n,r,i){return new U.prototype.init(t,e,n,r,i)}function W(){he&&(!1===at.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(W):n.setTimeout(W,yt.fx.interval),yt.fx.tick())}function z(){return n.setTimeout(function(){de=void 0}),de=yt.now()}function V(t,e){var n,r=0,i={height:t};for(e=e?1:0;r<4;r+=2-e)n=Ht[r],i["margin"+n]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function X(t,e,n){for(var r,i=(Q.tweeners[e]||[]).concat(Q.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,e,t))return r}function K(t,e,n){var r,i,o,a,s,u,c,l,f="width"in e||"height"in e,p=this,d={},h=t.style,v=t.nodeType&&Bt(t),g=Lt.get(t,"fxshow");n.queue||(a=yt._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,yt.queue(t,"fx").length||a.empty.fire()})}));for(r in e)if(i=e[r],ve.test(i)){if(delete e[r],o=o||"toggle"===i,i===(v?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;v=!0}d[r]=g&&g[r]||yt.style(t,r)}if((u=!yt.isEmptyObject(e))||!yt.isEmptyObject(d)){f&&1===t.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=g&&g.display,null==c&&(c=Lt.get(t,"display")),l=yt.css(t,"display"),"none"===l&&(c?l=c:(w([t],!0),c=t.style.display||c,l=yt.css(t,"display"),w([t]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===yt.css(t,"float")&&(u||(p.done(function(){h.display=c}),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(g?"hidden"in g&&(v=g.hidden):g=Lt.access(t,"fxshow",{display:c}),o&&(g.hidden=!v),v&&w([t],!0),p.done(function(){v||w([t]),Lt.remove(t,"fxshow");for(r in d)yt.style(t,r,d[r])})),u=X(v?g[r]:0,r,p),r in g||(g[r]=u.start,v&&(u.end=u.start,u.start=0))}}function J(t,e){var n,r,i,o,a;for(n in t)if(r=yt.camelCase(n),i=e[r],o=t[n],Array.isArray(o)&&(i=o[1],o=t[n]=o[0]),n!==r&&(t[r]=o,delete t[n]),(a=yt.cssHooks[r])&&"expand"in a){o=a.expand(o),delete t[r];for(n in o)n in t||(t[n]=o[n],e[n]=i)}else e[r]=i}function Q(t,e,n){var r,i,o=0,a=Q.prefilters.length,s=yt.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var e=de||z(),n=Math.max(0,c.startTime+c.duration-e),r=n/c.duration||0,o=1-r,a=0,u=c.tweens.length;a<u;a++)c.tweens[a].run(o);return s.notifyWith(t,[c,o,n]),o<1&&u?n:(u||s.notifyWith(t,[c,1,0]),s.resolveWith(t,[c]),!1)},c=s.promise({elem:t,props:yt.extend({},e),opts:yt.extend(!0,{specialEasing:{},easing:yt.easing._default},n),originalProperties:e,originalOptions:n,startTime:de||z(),duration:n.duration,tweens:[],createTween:function(e,n){var r=yt.Tween(t,c.opts,e,n,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(r),r},stop:function(e){var n=0,r=e?c.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)c.tweens[n].run(1);return e?(s.notifyWith(t,[c,1,0]),s.resolveWith(t,[c,e])):s.rejectWith(t,[c,e]),this}}),l=c.props;for(J(l,c.opts.specialEasing);o<a;o++)if(r=Q.prefilters[o].call(c,t,l,c.opts))return yt.isFunction(r.stop)&&(yt._queueHooks(c.elem,c.opts.queue).stop=yt.proxy(r.stop,r)),r;return yt.map(l,X,c),yt.isFunction(c.opts.start)&&c.opts.start.call(t,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),yt.fx.timer(yt.extend(u,{elem:t,anim:c,queue:c.opts.queue})),c}function G(t){return(t.match(Ot)||[]).join(" ")}function Z(t){return t.getAttribute&&t.getAttribute("class")||""}function Y(t,e,n,r){var i;if(Array.isArray(e))yt.each(e,function(e,i){n||$e.test(t)?r(t,i):Y(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)});else if(n||"object"!==yt.type(e))r(t,e);else for(i in e)Y(t+"["+i+"]",e[i],n,r)}function tt(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(Ot)||[];if(yt.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function et(t,e,n,r){function i(s){var u;return o[s]=!0,yt.each(t[s]||[],function(t,s){var c=s(e,n,r);return"string"!=typeof c||a||o[c]?a?!(u=c):void 0:(e.dataTypes.unshift(c),i(c),!1)}),u}var o={},a=t===Ne;return i(e.dataTypes[0])||!o["*"]&&i("*")}function nt(t,e){var n,r,i=yt.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&yt.extend(!0,t,r),t}function rt(t,e,n){for(var r,i,o,a,s=t.contents,u=t.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||t.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function it(t,e,n,r){var i,o,a,s,u,c={},l=t.dataTypes.slice();if(l[1])for(a in t.converters)c[a.toLowerCase()]=t.converters[a];for(o=l.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!u&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=c[u+" "+o]||c["* "+o]))for(i in c)if(s=i.split(" "),s[1]===o&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&t.throws)e=a(e);else try{e=a(e)}catch(t){return{state:"parsererror",error:a?t:"No conversion from "+u+" to "+o}}}return{state:"success",data:e}}var ot=[],at=n.document,st=Object.getPrototypeOf,ut=ot.slice,ct=ot.concat,lt=ot.push,ft=ot.indexOf,pt={},dt=pt.toString,ht=pt.hasOwnProperty,vt=ht.toString,gt=vt.call(Object),mt={},yt=function(t,e){return new yt.fn.init(t,e)},bt=function(t,e){return e.toUpperCase()};yt.fn=yt.prototype={jquery:"3.2.1",constructor:yt,length:0,toArray:function(){return ut.call(this)},get:function(t){return null==t?ut.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=yt.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return yt.each(this,t)},map:function(t){return this.pushStack(yt.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(ut.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:lt,sort:ot.sort,splice:ot.splice},yt.extend=yt.fn.extend=function(){var t,e,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[s]||{},s++),"object"==typeof a||yt.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(t=arguments[s]))for(e in t)n=a[e],r=t[e],a!==r&&(c&&r&&(yt.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&yt.isPlainObject(n)?n:{},a[e]=yt.extend(c,o,r)):void 0!==r&&(a[e]=r));return a},yt.extend({expando:"jQuery"+("3.2.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===yt.type(t)},isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=yt.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))},isPlainObject:function(t){var e,n;return!(!t||"[object Object]"!==dt.call(t))&&(!(e=st(t))||"function"==typeof(n=ht.call(e,"constructor")&&e.constructor)&&vt.call(n)===gt)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?pt[dt.call(t)]||"object":typeof t},globalEval:function(t){a(t)},camelCase:function(t){return t.replace(/^-ms-/,"ms-").replace(/-([a-z])/g,bt)},each:function(t,e){var n,r=0;if(s(t))for(n=t.length;r<n&&!1!==e.call(t[r],r,t[r]);r++);else for(r in t)if(!1===e.call(t[r],r,t[r]))break;return t},trim:function(t){return null==t?"":(t+"").replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(s(Object(t))?yt.merge(n,"string"==typeof t?[t]:t):lt.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:ft.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;r<n;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r=[],i=0,o=t.length,a=!n;i<o;i++)!e(t[i],i)!==a&&r.push(t[i]);return r},map:function(t,e,n){var r,i,o=0,a=[];if(s(t))for(r=t.length;o<r;o++)null!=(i=e(t[o],o,n))&&a.push(i);else for(o in t)null!=(i=e(t[o],o,n))&&a.push(i);return ct.apply([],a)},guid:1,proxy:function(t,e){var n,r,i;if("string"==typeof e&&(n=t[e],e=t,t=n),yt.isFunction(t))return r=ut.call(arguments,2),i=function(){return t.apply(e||this,r.concat(ut.call(arguments)))},i.guid=t.guid=t.guid||yt.guid++,i},now:Date.now,support:mt}),"function"==typeof Symbol&&(yt.fn[Symbol.iterator]=ot[Symbol.iterator]),yt.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){pt["[object "+e+"]"]=e.toLowerCase()});var _t=/*!
+ * 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(t){function e(t,e,n,r){var i,o,a,s,u,l,p,d=e&&e.ownerDocument,h=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==h&&9!==h&&11!==h)return n;if(!r&&((e?e.ownerDocument||e:q)!==j&&O(e),e=e||j,D)){if(11!==h&&(u=vt.exec(t)))if(i=u[1]){if(9===h){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&P(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return Q.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&_.getElementsByClassName&&e.getElementsByClassName)return Q.apply(n,e.getElementsByClassName(i)),n}if(_.qsa&&!W[t+" "]&&(!I||!I.test(t))){if(1!==h)d=e,p=t;else if("object"!==e.nodeName.toLowerCase()){for((s=e.getAttribute("id"))?s=s.replace(bt,_t):e.setAttribute("id",s=F),l=T(t),o=l.length;o--;)l[o]="#"+s+" "+f(l[o]);p=l.join(","),d=gt.test(t)&&c(e.parentNode)||e}if(p)try{return Q.apply(n,d.querySelectorAll(p)),n}catch(t){}finally{s===F&&e.removeAttribute("id")}}}return k(t.replace(ot,"$1"),e,n,r)}function n(){function t(n,r){return e.push(n+" ")>w.cacheLength&&delete t[e.shift()],t[n+" "]=r}var e=[];return t}function r(t){return t[F]=!0,t}function i(t){var e=j.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function o(t,e){for(var n=t.split("|"),r=n.length;r--;)w.attrHandle[n[r]]=e}function a(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function s(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&xt(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function u(t){return r(function(e){return e=+e,r(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(t){return t&&void 0!==t.getElementsByTagName&&t}function l(){}function f(t){for(var e=0,n=t.length,r="";e<n;e++)r+=t[e].value;return r}function p(t,e,n){var r=e.dir,i=e.next,o=i||r,a=n&&"parentNode"===o,s=H++;return e.first?function(e,n,i){for(;e=e[r];)if(1===e.nodeType||a)return t(e,n,i);return!1}:function(e,n,u){var c,l,f,p=[M,s];if(u){for(;e=e[r];)if((1===e.nodeType||a)&&t(e,n,u))return!0}else for(;e=e[r];)if(1===e.nodeType||a)if(f=e[F]||(e[F]={}),l=f[e.uniqueID]||(f[e.uniqueID]={}),i&&i===e.nodeName.toLowerCase())e=e[r]||e;else{if((c=l[o])&&c[0]===M&&c[1]===s)return p[2]=c[2];if(l[o]=p,p[2]=t(e,n,u))return!0}return!1}}function d(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function h(t,n,r){for(var i=0,o=n.length;i<o;i++)e(t,n[i],r);return r}function v(t,e,n,r,i){for(var o,a=[],s=0,u=t.length,c=null!=e;s<u;s++)(o=t[s])&&(n&&!n(o,r,i)||(a.push(o),c&&e.push(s)));return a}function g(t,e,n,i,o,a){return i&&!i[F]&&(i=g(i)),o&&!o[F]&&(o=g(o,a)),r(function(r,a,s,u){var c,l,f,p=[],d=[],g=a.length,m=r||h(e||"*",s.nodeType?[s]:s,[]),y=!t||!r&&e?m:v(m,p,t,s,u),b=n?o||(r?t:g||i)?[]:a:y;if(n&&n(y,b,s,u),i)for(c=v(b,d),i(c,[],s,u),l=c.length;l--;)(f=c[l])&&(b[d[l]]=!(y[d[l]]=f));if(r){if(o||t){if(o){for(c=[],l=b.length;l--;)(f=b[l])&&c.push(y[l]=f);o(null,b=[],c,u)}for(l=b.length;l--;)(f=b[l])&&(c=o?Z(r,f):p[l])>-1&&(r[c]=!(a[c]=f))}}else b=v(b===a?b.splice(g,b.length):b),o?o(null,a,b,u):Q.apply(a,b)})}function m(t){for(var e,n,r,i=t.length,o=w.relative[t[0].type],a=o||w.relative[" "],s=o?1:0,u=p(function(t){return t===e},a,!0),c=p(function(t){return Z(e,t)>-1},a,!0),l=[function(t,n,r){var i=!o&&(r||n!==A)||((e=n).nodeType?u(t,n,r):c(t,n,r));return e=null,i}];s<i;s++)if(n=w.relative[t[s].type])l=[p(d(l),n)];else{if(n=w.filter[t[s].type].apply(null,t[s].matches),n[F]){for(r=++s;r<i&&!w.relative[t[r].type];r++);return g(s>1&&d(l),s>1&&f(t.slice(0,s-1).concat({value:" "===t[s-2].type?"*":""})).replace(ot,"$1"),n,s<r&&m(t.slice(s,r)),r<i&&m(t=t.slice(r)),r<i&&f(t))}l.push(n)}return d(l)}function y(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,u,c){var l,f,p,d=0,h="0",g=r&&[],m=[],y=A,b=r||o&&w.find.TAG("*",c),_=M+=null==y?1:Math.random()||.1,x=b.length;for(c&&(A=a===j||a||c);h!==x&&null!=(l=b[h]);h++){if(o&&l){for(f=0,a||l.ownerDocument===j||(O(l),s=!D);p=t[f++];)if(p(l,a||j,s)){u.push(l);break}c&&(M=_)}i&&((l=!p&&l)&&d--,r&&g.push(l))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(g,m,a,s);if(r){if(d>0)for(;h--;)g[h]||m[h]||(m[h]=K.call(u));m=v(m)}Q.apply(u,m),c&&!r&&m.length>0&&d+n.length>1&&e.uniqueSort(u)}return c&&(M=_,A=y),g};return i?r(a):a}var b,_,w,x,C,T,$,k,A,E,S,O,j,N,D,I,L,R,P,F="sizzle"+1*new Date,q=t.document,M=0,H=0,B=n(),U=n(),W=n(),z=function(t,e){return t===e&&(S=!0),0},V={}.hasOwnProperty,X=[],K=X.pop,J=X.push,Q=X.push,G=X.slice,Z=function(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1},Y="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",rt=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",it=new RegExp(tt+"+","g"),ot=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),at=new RegExp("^"+tt+"*,"+tt+"*"),st=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ut=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),ct=new RegExp(rt),lt=new RegExp("^"+et+"$"),ft={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+rt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+Y+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},pt=/^(?:input|select|textarea|button)$/i,dt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,vt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,gt=/[+~]/,mt=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),yt=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},bt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,_t=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},wt=function(){O()},xt=p(function(t){return!0===t.disabled&&("form"in t||"label"in t)},{dir:"parentNode",next:"legend"});try{Q.apply(X=G.call(q.childNodes),q.childNodes),X[q.childNodes.length].nodeType}catch(t){Q={apply:X.length?function(t,e){J.apply(t,G.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}_=e.support={},C=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},O=e.setDocument=function(t){var e,n,r=t?t.ownerDocument||t:q;return r!==j&&9===r.nodeType&&r.documentElement?(j=r,N=j.documentElement,D=!C(j),q!==j&&(n=j.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",wt,!1):n.attachEvent&&n.attachEvent("onunload",wt)),_.attributes=i(function(t){return t.className="i",!t.getAttribute("className")}),_.getElementsByTagName=i(function(t){return t.appendChild(j.createComment("")),!t.getElementsByTagName("*").length}),_.getElementsByClassName=ht.test(j.getElementsByClassName),_.getById=i(function(t){return N.appendChild(t).id=F,!j.getElementsByName||!j.getElementsByName(F).length}),_.getById?(w.filter.ID=function(t){var e=t.replace(mt,yt);return function(t){return t.getAttribute("id")===e}},w.find.ID=function(t,e){if(void 0!==e.getElementById&&D){var n=e.getElementById(t);return n?[n]:[]}}):(w.filter.ID=function(t){var e=t.replace(mt,yt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},w.find.ID=function(t,e){if(void 0!==e.getElementById&&D){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),w.find.TAG=_.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):_.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=_.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&D)return e.getElementsByClassName(t)},L=[],I=[],(_.qsa=ht.test(j.querySelectorAll))&&(i(function(t){N.appendChild(t).innerHTML="<a id='"+F+"'></a><select id='"+F+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&I.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||I.push("\\["+tt+"*(?:value|"+Y+")"),t.querySelectorAll("[id~="+F+"-]").length||I.push("~="),t.querySelectorAll(":checked").length||I.push(":checked"),t.querySelectorAll("a#"+F+"+*").length||I.push(".#.+[+~]")}),i(function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=j.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&I.push("name"+tt+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&I.push(":enabled",":disabled"),N.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&I.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),I.push(",.*:")})),(_.matchesSelector=ht.test(R=N.matches||N.webkitMatchesSelector||N.mozMatchesSelector||N.oMatchesSelector||N.msMatchesSelector))&&i(function(t){_.disconnectedMatch=R.call(t,"*"),R.call(t,"[s!='']:x"),L.push("!=",rt)}),I=I.length&&new RegExp(I.join("|")),L=L.length&&new RegExp(L.join("|")),e=ht.test(N.compareDocumentPosition),P=e||ht.test(N.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},z=e?function(t,e){if(t===e)return S=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!_.sortDetached&&e.compareDocumentPosition(t)===n?t===j||t.ownerDocument===q&&P(q,t)?-1:e===j||e.ownerDocument===q&&P(q,e)?1:E?Z(E,t)-Z(E,e):0:4&n?-1:1)}:function(t,e){if(t===e)return S=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,s=[t],u=[e];if(!i||!o)return t===j?-1:e===j?1:i?-1:o?1:E?Z(E,t)-Z(E,e):0;if(i===o)return a(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===q?-1:u[r]===q?1:0},j):j},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==j&&O(t),n=n.replace(ut,"='$1']"),_.matchesSelector&&D&&!W[n+" "]&&(!L||!L.test(n))&&(!I||!I.test(n)))try{var r=R.call(t,n);if(r||_.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){}return e(n,j,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==j&&O(t),P(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==j&&O(t);var n=w.attrHandle[e.toLowerCase()],r=n&&V.call(w.attrHandle,e.toLowerCase())?n(t,e,!D):void 0;return void 0!==r?r:_.attributes||!D?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},e.escape=function(t){return(t+"").replace(bt,_t)},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],r=0,i=0;if(S=!_.detectDuplicates,E=!_.sortStable&&t.slice(0),t.sort(z),S){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return E=null,t},x=e.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=x(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r++];)n+=x(e);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:ft,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(mt,yt),t[3]=(t[3]||t[4]||t[5]||"").replace(mt,yt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return ft.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&ct.test(n)&&(e=T(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(mt,yt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=B[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&B(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(it," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,u){var c,l,f,p,d,h,v=o!==a?"nextSibling":"previousSibling",g=e.parentNode,m=s&&e.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(g){if(o){for(;v;){for(p=e;p=p[v];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=v="only"===t&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(p=g,f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[t]||[],d=c[0]===M&&c[1],b=d&&c[2],p=d&&g.childNodes[d];p=++d&&p&&p[v]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===e){l[t]=[M,d,b];break}}else if(y&&(p=e,f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[t]||[],d=c[0]===M&&c[1],b=d),!1===b)for(;(p=++d&&p&&p[v]||(b=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(y&&(f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[t]=[M,b]),p!==e)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(t,e){for(var r,i=o(t,n),a=i.length;a--;)r=Z(t,i[a]),t[r]=!(e[r]=i[a])}):function(t){return o(t,0,i)}):o}},pseudos:{not:r(function(t){var e=[],n=[],i=$(t.replace(ot,"$1"));return i[F]?r(function(t,e,n,r){for(var o,a=i(t,null,r,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(t){return t=t.replace(mt,yt),function(e){return(e.textContent||e.innerText||x(e)).indexOf(t)>-1}}),lang:r(function(t){return lt.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(mt,yt).toLowerCase(),function(e){var n;do{if(n=D?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===N},focus:function(t){return t===j.activeElement&&(!j.hasFocus||j.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!w.pseudos.empty(t)},header:function(t){return dt.test(t.nodeName)},input:function(t){return pt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:u(function(){return[0]}),last:u(function(t,e){return[e-1]}),eq:u(function(t,e,n){return[n<0?n+e:n]}),even:u(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:u(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:u(function(t,e,n){for(var r=n<0?n+e:n;--r>=0;)t.push(r);return t}),gt:u(function(t,e,n){for(var r=n<0?n+e:n;++r<e;)t.push(r);return t})}},w.pseudos.nth=w.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[b]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(b);for(b in{submit:!0,reset:!0})w.pseudos[b]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(b);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,T=e.tokenize=function(t,n){var r,i,o,a,s,u,c,l=U[t+" "];if(l)return n?0:l.slice(0);for(s=t,u=[],c=w.preFilter;s;){r&&!(i=at.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=st.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(ot," ")}),s=s.slice(r.length));for(a in w.filter)!(i=ft[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):U(t,u).slice(0)},$=e.compile=function(t,e){var n,r=[],i=[],o=W[t+" "];if(!o){for(e||(e=T(t)),n=e.length;n--;)o=m(e[n]),o[F]?r.push(o):i.push(o);o=W(t,y(i,r)),o.selector=t}return o},k=e.select=function(t,e,n,r){var i,o,a,s,u,l="function"==typeof t&&t,p=!r&&T(t=l.selector||t);if(n=n||[],1===p.length){if(o=p[0]=p[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===e.nodeType&&D&&w.relative[o[1].type]){if(!(e=(w.find.ID(a.matches[0].replace(mt,yt),e)||[])[0]))return n;l&&(e=e.parentNode),t=t.slice(o.shift().value.length)}for(i=ft.needsContext.test(t)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((u=w.find[s])&&(r=u(a.matches[0].replace(mt,yt),gt.test(o[0].type)&&c(e.parentNode)||e))){if(o.splice(i,1),!(t=r.length&&f(o)))return Q.apply(n,r),n;break}}return(l||$(t,p))(r,e,!D,n,!e||gt.test(t)&&c(e.parentNode)||e),n},_.sortStable=F.split("").sort(z).join("")===F,_.detectDuplicates=!!S,O(),_.sortDetached=i(function(t){return 1&t.compareDocumentPosition(j.createElement("fieldset"))}),i(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||o("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),_.attributes&&i(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||o("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),i(function(t){return null==t.getAttribute("disabled")})||o(Y,function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),e}(n);yt.find=_t,yt.expr=_t.selectors,yt.expr[":"]=yt.expr.pseudos,yt.uniqueSort=yt.unique=_t.uniqueSort,yt.text=_t.getText,yt.isXMLDoc=_t.isXML,yt.contains=_t.contains,yt.escapeSelector=_t.escape;var wt=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&yt(t).is(n))break;r.push(t)}return r},xt=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},Ct=yt.expr.match.needsContext,Tt=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,$t=/^.[^:#\[\.,]*$/;yt.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?yt.find.matchesSelector(r,t)?[r]:[]:yt.find.matches(t,yt.grep(e,function(t){return 1===t.nodeType}))},yt.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(yt(t).filter(function(){for(e=0;e<r;e++)if(yt.contains(i[e],this))return!0}));for(n=this.pushStack([]),e=0;e<r;e++)yt.find(t,i[e],n);return r>1?yt.uniqueSort(n):n},filter:function(t){return this.pushStack(c(this,t||[],!1))},not:function(t){return this.pushStack(c(this,t||[],!0))},is:function(t){return!!c(this,"string"==typeof t&&Ct.test(t)?yt(t):t||[],!1).length}});var kt,At=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(yt.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||kt,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:At.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof yt?e[0]:e,yt.merge(this,yt.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:at,!0)),Tt.test(r[1])&&yt.isPlainObject(e))for(r in e)yt.isFunction(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return i=at.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):yt.isFunction(t)?void 0!==n.ready?n.ready(t):t(yt):yt.makeArray(t,this)}).prototype=yt.fn,kt=yt(at);var Et=/^(?:parents|prev(?:Until|All))/,St={children:!0,contents:!0,next:!0,prev:!0};yt.fn.extend({has:function(t){var e=yt(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(yt.contains(this,e[t]))return!0})},closest:function(t,e){var n,r=0,i=this.length,o=[],a="string"!=typeof t&&yt(t);if(!Ct.test(t))for(;r<i;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&yt.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?yt.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?ft.call(yt(t),this[0]):ft.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(yt.uniqueSort(yt.merge(this.get(),yt(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),yt.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return wt(t,"parentNode")},parentsUntil:function(t,e,n){return wt(t,"parentNode",n)},next:function(t){return l(t,"nextSibling")},prev:function(t){return l(t,"previousSibling")},nextAll:function(t){return wt(t,"nextSibling")},prevAll:function(t){return wt(t,"previousSibling")},nextUntil:function(t,e,n){return wt(t,"nextSibling",n)},prevUntil:function(t,e,n){return wt(t,"previousSibling",n)},siblings:function(t){return xt((t.parentNode||{}).firstChild,t)},children:function(t){return xt(t.firstChild)},contents:function(t){return u(t,"iframe")?t.contentDocument:(u(t,"template")&&(t=t.content||t),yt.merge([],t.childNodes))}},function(t,e){yt.fn[t]=function(n,r){var i=yt.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=yt.filter(r,i)),this.length>1&&(St[t]||yt.uniqueSort(i),Et.test(t)&&i.reverse()),this.pushStack(i)}});var Ot=/[^\x20\t\r\n\f]+/g;yt.Callbacks=function(t){t="string"==typeof t?f(t):yt.extend({},t);var e,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&t.stopOnFalse&&(s=o.length,n=!1);t.memory||(n=!1),e=!1,i&&(o=n?[]:"")},c={add:function(){return o&&(n&&!e&&(s=o.length-1,a.push(n)),function e(n){yt.each(n,function(n,r){yt.isFunction(r)?t.unique&&c.has(r)||o.push(r):r&&r.length&&"string"!==yt.type(r)&&e(r)})}(arguments),n&&!e&&u()),this},remove:function(){return yt.each(arguments,function(t,e){for(var n;(n=yt.inArray(e,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?yt.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=n||[],n=[t,n.slice?n.slice():n],a.push(n),e||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},yt.extend({Deferred:function(t){var e=[["notify","progress",yt.Callbacks("memory"),yt.Callbacks("memory"),2],["resolve","done",yt.Callbacks("once memory"),yt.Callbacks("once memory"),0,"resolved"],["reject","fail",yt.Callbacks("once memory"),yt.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return yt.Deferred(function(n){yt.each(e,function(e,r){var i=yt.isFunction(t[r[4]])&&t[r[4]];o[r[1]](function(){var t=i&&i.apply(this,arguments);t&&yt.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,r,i){function o(t,e,r,i){return function(){var s=this,u=arguments,c=function(){var n,c;if(!(t<a)){if((n=r.apply(s,u))===e.promise())throw new TypeError("Thenable self-resolution");c=n&&("object"==typeof n||"function"==typeof n)&&n.then,yt.isFunction(c)?i?c.call(n,o(a,e,p,i),o(a,e,d,i)):(a++,c.call(n,o(a,e,p,i),o(a,e,d,i),o(a,e,p,e.notifyWith))):(r!==p&&(s=void 0,u=[n]),(i||e.resolveWith)(s,u))}},l=i?c:function(){try{c()}catch(n){yt.Deferred.exceptionHook&&yt.Deferred.exceptionHook(n,l.stackTrace),t+1>=a&&(r!==d&&(s=void 0,u=[n]),e.rejectWith(s,u))}};t?l():(yt.Deferred.getStackHook&&(l.stackTrace=yt.Deferred.getStackHook()),n.setTimeout(l))}}var a=0;return yt.Deferred(function(n){e[0][3].add(o(0,n,yt.isFunction(i)?i:p,n.notifyWith)),e[1][3].add(o(0,n,yt.isFunction(t)?t:p)),e[2][3].add(o(0,n,yt.isFunction(r)?r:d))}).promise()},promise:function(t){return null!=t?yt.extend(t,i):i}},o={};return yt.each(e,function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},e[3-t][2].disable,e[0][2].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=ut.call(arguments),o=yt.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?ut.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(h(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||yt.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)h(i[n],a(n),o.reject);return o.promise()}});var jt=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;yt.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&jt.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},yt.readyException=function(t){n.setTimeout(function(){throw t})};var Nt=yt.Deferred();yt.fn.ready=function(t){return Nt.then(t).catch(function(t){yt.readyException(t)}),this},yt.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--yt.readyWait:yt.isReady)||(yt.isReady=!0,!0!==t&&--yt.readyWait>0||Nt.resolveWith(at,[yt]))}}),yt.ready.then=Nt.then,"complete"===at.readyState||"loading"!==at.readyState&&!at.documentElement.doScroll?n.setTimeout(yt.ready):(at.addEventListener("DOMContentLoaded",v),n.addEventListener("load",v));var Dt=function(t,e,n,r,i,o,a){var s=0,u=t.length,c=null==n;if("object"===yt.type(n)){i=!0;for(s in n)Dt(t,e,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,yt.isFunction(r)||(a=!0),c&&(a?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(yt(t),n)})),e))for(;s<u;s++)e(t[s],n,a?r:r.call(t[s],s,e(t[s],n)));return i?t:c?e.call(t):u?e(t[0],n):o},It=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};g.uid=1,g.prototype={cache:function(t){var e=t[this.expando];return e||(e={},It(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var r,i=this.cache(t);if("string"==typeof e)i[yt.camelCase(e)]=n;else for(r in e)i[yt.camelCase(r)]=e[r];return i},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][yt.camelCase(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r=t[this.expando];if(void 0!==r){if(void 0!==e){Array.isArray(e)?e=e.map(yt.camelCase):(e=yt.camelCase(e),e=e in r?[e]:e.match(Ot)||[]),n=e.length;for(;n--;)delete r[e[n]]}(void 0===e||yt.isEmptyObject(r))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!yt.isEmptyObject(e)}};var Lt=new g,Rt=new g,Pt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ft=/[A-Z]/g;yt.extend({hasData:function(t){return Rt.hasData(t)||Lt.hasData(t)},data:function(t,e,n){return Rt.access(t,e,n)},removeData:function(t,e){Rt.remove(t,e)},_data:function(t,e,n){return Lt.access(t,e,n)},_removeData:function(t,e){Lt.remove(t,e)}}),yt.fn.extend({data:function(t,e){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===t){if(this.length&&(i=Rt.get(o),1===o.nodeType&&!Lt.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=yt.camelCase(r.slice(5)),y(o,r,i[r])));Lt.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof t?this.each(function(){Rt.set(this,t)}):Dt(this,function(e){var n;if(o&&void 0===e){if(void 0!==(n=Rt.get(o,t)))return n;if(void 0!==(n=y(o,t)))return n}else this.each(function(){Rt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){Rt.remove(this,t)})}}),yt.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Lt.get(t,e),n&&(!r||Array.isArray(n)?r=Lt.access(t,e,yt.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=yt.queue(t,e),r=n.length,i=n.shift(),o=yt._queueHooks(t,e),a=function(){yt.dequeue(t,e)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Lt.get(t,n)||Lt.access(t,n,{empty:yt.Callbacks("once memory").add(function(){Lt.remove(t,[e+"queue",n])})})}}),yt.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?yt.queue(this[0],t):void 0===e?this:this.each(function(){var n=yt.queue(this,t,e);yt._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&yt.dequeue(this,t)})},dequeue:function(t){return this.each(function(){yt.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=yt.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)(n=Lt.get(o[a],t+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(e)}});var qt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Mt=new RegExp("^(?:([+-])=|)("+qt+")([a-z%]*)$","i"),Ht=["Top","Right","Bottom","Left"],Bt=function(t,e){return t=e||t,"none"===t.style.display||""===t.style.display&&yt.contains(t.ownerDocument,t)&&"none"===yt.css(t,"display")},Ut=function(t,e,n,r){var i,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];i=n.apply(t,r||[]);for(o in e)t.style[o]=a[o];return i},Wt={};yt.fn.extend({show:function(){return w(this,!0)},hide:function(){return w(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Bt(this)?yt(this).show():yt(this).hide()})}});var zt=/^(?:checkbox|radio)$/i,Vt=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Xt=/^$|\/(?:java|ecma)script/i,Kt={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,"",""]};Kt.optgroup=Kt.option,Kt.tbody=Kt.tfoot=Kt.colgroup=Kt.caption=Kt.thead,Kt.th=Kt.td;var Jt=/<|&#?\w+;/;!function(){var t=at.createDocumentFragment(),e=t.appendChild(at.createElement("div")),n=at.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),mt.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",mt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Qt=at.documentElement,Gt=/^key/,Zt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Yt=/^([^.]*)(?:\.(.+)|)/;yt.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=Lt.get(t);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&yt.find.matchesSelector(Qt,i),n.guid||(n.guid=yt.guid++),(u=g.events)||(u=g.events={}),(a=g.handle)||(a=g.handle=function(e){return void 0!==yt&&yt.event.triggered!==e.type?yt.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Ot)||[""],c=e.length;c--;)s=Yt.exec(e[c])||[],d=v=s[1],h=(s[2]||"").split(".").sort(),d&&(f=yt.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=yt.event.special[d]||{},l=yt.extend({type:d,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&yt.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),yt.event.global[d]=!0)},remove:function(t,e,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=Lt.hasData(t)&&Lt.get(t);if(g&&(u=g.events)){for(e=(e||"").match(Ot)||[""],c=e.length;c--;)if(s=Yt.exec(e[c])||[],d=v=s[1],h=(s[2]||"").split(".").sort(),d){for(f=yt.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)l=p[o],!i&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(t,l));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(t,h,g.handle)||yt.removeEvent(t,d,g.handle),delete u[d])}else for(d in u)yt.event.remove(t,d+e[c],n,r,!0);yt.isEmptyObject(u)&&Lt.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,a,s=yt.event.fix(t),u=new Array(arguments.length),c=(Lt.get(this,"events")||{})[s.type]||[],l=yt.event.special[s.type]||{};for(u[0]=s,e=1;e<arguments.length;e++)u[e]=arguments[e];if(s.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,s)){for(a=yt.event.handlers.call(this,s,c),e=0;(i=a[e++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((yt.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,s),s.result}},handlers:function(t,e){var n,r,i,o,a,s=[],u=e.delegateCount,c=t.target;if(u&&c.nodeType&&!("click"===t.type&&t.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],a={},n=0;n<u;n++)r=e[n],i=r.selector+" ",void 0===a[i]&&(a[i]=r.needsContext?yt(i,this).index(c)>-1:yt.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,u<e.length&&s.push({elem:c,handlers:e.slice(u)}),s},addProp:function(t,e){Object.defineProperty(yt.Event.prototype,t,{enumerable:!0,configurable:!0,get:yt.isFunction(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[yt.expando]?t:new yt.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==A()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===A()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&u(this,"input"))return this.click(),!1},_default:function(t){return u(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},yt.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},yt.Event=function(t,e){if(!(this instanceof yt.Event))return new yt.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?$:k,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&yt.extend(this,e),this.timeStamp=t&&t.timeStamp||yt.now(),this[yt.expando]=!0},yt.Event.prototype={constructor:yt.Event,isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=$,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=$,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=$,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},yt.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(t){var e=t.button;return null==t.which&&Gt.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&Zt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},yt.event.addProp),yt.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){yt.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return i&&(i===r||yt.contains(r,i))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),yt.fn.extend({on:function(t,e,n,r){return E(this,t,e,n,r)},one:function(t,e,n,r){return E(this,t,e,n,r,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,yt(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=k),this.each(function(){yt.event.remove(this,t,n,e)})}});var te=/<script|<style|<link/i,ee=/checked\s*(?:[^=]|=\s*.checked.)/i,ne=/^true\/(.*)/,re=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;yt.extend({htmlPrefilter:function(t){return t.replace(/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,"<$1></$2>")},clone:function(t,e,n){var r,i,o,a,s=t.cloneNode(!0),u=yt.contains(t.ownerDocument,t);if(!(mt.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||yt.isXMLDoc(t)))for(a=x(s),o=x(t),r=0,i=o.length;r<i;r++)D(o[r],a[r]);if(e)if(n)for(o=o||x(t),a=a||x(s),r=0,i=o.length;r<i;r++)N(o[r],a[r]);else N(t,s);return a=x(s,"script"),a.length>0&&C(a,!u&&x(t,"script")),s},cleanData:function(t){for(var e,n,r,i=yt.event.special,o=0;void 0!==(n=t[o]);o++)if(It(n)){if(e=n[Lt.expando]){if(e.events)for(r in e.events)i[r]?yt.event.remove(n,r):yt.removeEvent(n,r,e.handle);n[Lt.expando]=void 0}n[Rt.expando]&&(n[Rt.expando]=void 0)}}}),yt.fn.extend({detach:function(t){return L(this,t,!0)},remove:function(t){return L(this,t)},text:function(t){return Dt(this,function(t){return void 0===t?yt.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return I(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){S(this,t).appendChild(t)}})},prepend:function(){return I(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=S(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return I(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return I(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(yt.cleanData(x(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return yt.clone(this,t,e)})},html:function(t){return Dt(this,function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!te.test(t)&&!Kt[(Vt.exec(t)||["",""])[1].toLowerCase()]){t=yt.htmlPrefilter(t);try{for(;n<r;n++)e=this[n]||{},1===e.nodeType&&(yt.cleanData(x(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return I(this,arguments,function(e){var n=this.parentNode;yt.inArray(this,t)<0&&(yt.cleanData(x(this)),n&&n.replaceChild(e,this))},t)}}),yt.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){yt.fn[t]=function(t){for(var n,r=[],i=yt(t),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),yt(i[a])[e](n),lt.apply(r,n.get());return this.pushStack(r)}});var ie=/^margin/,oe=new RegExp("^("+qt+")(?!px)[a-z%]+$","i"),ae=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Qt.appendChild(a);var t=n.getComputedStyle(s);e="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",i="4px"===t.marginRight,Qt.removeChild(a),s=null}}var e,r,i,o,a=at.createElement("div"),s=at.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",mt.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),yt.extend(mt,{pixelPosition:function(){return t(),e},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}();var se=/^(none|table(?!-c[ea]).+)/,ue=/^--/,ce={position:"absolute",visibility:"hidden",display:"block"},le={letterSpacing:"0",fontWeight:"400"},fe=["Webkit","Moz","ms"],pe=at.createElement("div").style;yt.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=R(t,"opacity");return""===n?"1":n}}}},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(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,a,s=yt.camelCase(e),u=ue.test(e),c=t.style;if(u||(e=q(s)),a=yt.cssHooks[e]||yt.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(t,!1,r))?i:c[e];o=typeof n,"string"===o&&(i=Mt.exec(n))&&i[1]&&(n=b(t,e,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(yt.cssNumber[s]?"":"px")),mt.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,r))||(u?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,r){var i,o,a,s=yt.camelCase(e);return ue.test(e)||(e=q(s)),a=yt.cssHooks[e]||yt.cssHooks[s],a&&"get"in a&&(i=a.get(t,!0,n)),void 0===i&&(i=R(t,e,r)),"normal"===i&&e in le&&(i=le[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),yt.each(["height","width"],function(t,e){yt.cssHooks[e]={get:function(t,n,r){if(n)return!se.test(yt.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?B(t,e,r):Ut(t,ce,function(){return B(t,e,r)})},set:function(t,n,r){var i,o=r&&ae(t),a=r&&H(t,e,r,"border-box"===yt.css(t,"boxSizing",!1,o),o);return a&&(i=Mt.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=yt.css(t,e)),M(t,n,a)}}}),yt.cssHooks.marginLeft=P(mt.reliableMarginLeft,function(t,e){if(e)return(parseFloat(R(t,"marginLeft"))||t.getBoundingClientRect().left-Ut(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),yt.each({margin:"",padding:"",border:"Width"},function(t,e){yt.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+Ht[r]+e]=o[r]||o[r-2]||o[0];return i}},ie.test(t)||(yt.cssHooks[t+e].set=M)}),yt.fn.extend({css:function(t,e){return Dt(this,function(t,e,n){var r,i,o={},a=0;if(Array.isArray(e)){for(r=ae(t),i=e.length;a<i;a++)o[e[a]]=yt.css(t,e[a],!1,r);return o}return void 0!==n?yt.style(t,e,n):yt.css(t,e)},t,e,arguments.length>1)}}),yt.Tween=U,U.prototype={constructor:U,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||yt.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(yt.cssNumber[n]?"":"px")},cur:function(){var t=U.propHooks[this.prop];return t&&t.get?t.get(this):U.propHooks._default.get(this)},run:function(t){var e,n=U.propHooks[this.prop];return this.options.duration?this.pos=e=yt.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):U.propHooks._default.set(this),this}},U.prototype.init.prototype=U.prototype,U.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=yt.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){yt.fx.step[t.prop]?yt.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[yt.cssProps[t.prop]]&&!yt.cssHooks[t.prop]?t.elem[t.prop]=t.now:yt.style(t.elem,t.prop,t.now+t.unit)}}},U.propHooks.scrollTop=U.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},yt.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},yt.fx=U.prototype.init,yt.fx.step={};var de,he,ve=/^(?:toggle|show|hide)$/,ge=/queueHooks$/;yt.Animation=yt.extend(Q,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return b(n.elem,t,Mt.exec(e),n),n}]},tweener:function(t,e){yt.isFunction(t)?(e=t,t=["*"]):t=t.match(Ot);for(var n,r=0,i=t.length;r<i;r++)n=t[r],Q.tweeners[n]=Q.tweeners[n]||[],Q.tweeners[n].unshift(e)},prefilters:[K],prefilter:function(t,e){e?Q.prefilters.unshift(t):Q.prefilters.push(t)}}),yt.speed=function(t,e,n){var r=t&&"object"==typeof t?yt.extend({},t):{complete:n||!n&&e||yt.isFunction(t)&&t,duration:t,easing:n&&e||e&&!yt.isFunction(e)&&e};return yt.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in yt.fx.speeds?r.duration=yt.fx.speeds[r.duration]:r.duration=yt.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){yt.isFunction(r.old)&&r.old.call(this),r.queue&&yt.dequeue(this,r.queue)},r},yt.fn.extend({fadeTo:function(t,e,n,r){return this.filter(Bt).css("opacity",0).show().end().animate({opacity:e},t,n,r)},animate:function(t,e,n,r){var i=yt.isEmptyObject(t),o=yt.speed(e,n,r),a=function(){var e=Q(this,yt.extend({},t),o);(i||Lt.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var r=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,i=null!=t&&t+"queueHooks",o=yt.timers,a=Lt.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ge.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=t&&o[i].queue!==t||(o[i].anim.stop(n),e=!1,o.splice(i,1));!e&&n||yt.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=Lt.get(this),r=n[t+"queue"],i=n[t+"queueHooks"],o=yt.timers,a=r?r.length:0;for(n.finish=!0,yt.queue(this,t,[]),i&&i.stop&&i.stop.call(this,!0),e=o.length;e--;)o[e].elem===this&&o[e].queue===t&&(o[e].anim.stop(!0),o.splice(e,1));for(e=0;e<a;e++)r[e]&&r[e].finish&&r[e].finish.call(this);delete n.finish})}}),yt.each(["toggle","show","hide"],function(t,e){var n=yt.fn[e];yt.fn[e]=function(t,r,i){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(V(e,!0),t,r,i)}}),yt.each({slideDown:V("show"),slideUp:V("hide"),slideToggle:V("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){yt.fn[t]=function(t,n,r){return this.animate(e,t,n,r)}}),yt.timers=[],yt.fx.tick=function(){var t,e=0,n=yt.timers;for(de=yt.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||yt.fx.stop(),de=void 0},yt.fx.timer=function(t){yt.timers.push(t),yt.fx.start()},yt.fx.interval=13,yt.fx.start=function(){he||(he=!0,W())},yt.fx.stop=function(){he=null},yt.fx.speeds={slow:600,fast:200,_default:400},yt.fn.delay=function(t,e){return t=yt.fx?yt.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,r){var i=n.setTimeout(e,t);r.stop=function(){n.clearTimeout(i)}})},function(){var t=at.createElement("input"),e=at.createElement("select"),n=e.appendChild(at.createElement("option"));t.type="checkbox",mt.checkOn=""!==t.value,mt.optSelected=n.selected,t=at.createElement("input"),t.value="t",t.type="radio",mt.radioValue="t"===t.value}();var me,ye=yt.expr.attrHandle;yt.fn.extend({attr:function(t,e){return Dt(this,yt.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){yt.removeAttr(this,t)})}}),yt.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?yt.prop(t,e,n):(1===o&&yt.isXMLDoc(t)||(i=yt.attrHooks[e.toLowerCase()]||(yt.expr.match.bool.test(e)?me:void 0)),void 0!==n?null===n?void yt.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:(r=yt.find.attr(t,e),null==r?void 0:r))},attrHooks:{type:{set:function(t,e){if(!mt.radioValue&&"radio"===e&&u(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(Ot);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),me={set:function(t,e,n){return!1===e?yt.removeAttr(t,n):t.setAttribute(n,n),n}},yt.each(yt.expr.match.bool.source.match(/\w+/g),function(t,e){var n=ye[e]||yt.find.attr;ye[e]=function(t,e,r){var i,o,a=e.toLowerCase();return r||(o=ye[a],ye[a]=i,i=null!=n(t,e,r)?a:null,ye[a]=o),i}});var be=/^(?:input|select|textarea|button)$/i,_e=/^(?:a|area)$/i;yt.fn.extend({prop:function(t,e){return Dt(this,yt.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[yt.propFix[t]||t]})}}),yt.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&yt.isXMLDoc(t)||(e=yt.propFix[e]||e,i=yt.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=yt.find.attr(t,"tabindex");return e?parseInt(e,10):be.test(t.nodeName)||_e.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),mt.optSelected||(yt.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),yt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){yt.propFix[this.toLowerCase()]=this}),yt.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(yt.isFunction(t))return this.each(function(e){yt(this).addClass(t.call(this,e,Z(this)))});if("string"==typeof t&&t)for(e=t.match(Ot)||[];n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+G(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=G(r),i!==s&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(yt.isFunction(t))return this.each(function(e){yt(this).removeClass(t.call(this,e,Z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Ot)||[];n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+G(i)+" "){for(a=0;o=e[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=G(r),i!==s&&n.setAttribute("class",s)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):yt.isFunction(t)?this.each(function(n){yt(this).toggleClass(t.call(this,n,Z(this),e),e)}):this.each(function(){var e,r,i,o;if("string"===n)for(r=0,i=yt(this),o=t.match(Ot)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else void 0!==t&&"boolean"!==n||(e=Z(this),e&&Lt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Lt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+G(Z(n))+" ").indexOf(e)>-1)return!0;return!1}});yt.fn.extend({val:function(t){var e,n,r,i=this[0];{if(arguments.length)return r=yt.isFunction(t),this.each(function(n){var i;1===this.nodeType&&(i=r?t.call(this,n,yt(this).val()):t,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=yt.map(i,function(t){return null==t?"":t+""})),(e=yt.valHooks[this.type]||yt.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))});if(i)return(e=yt.valHooks[i.type]||yt.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(/\r/g,""):null==n?"":n)}}}),yt.extend({valHooks:{option:{get:function(t){var e=yt.find.attr(t,"value");return null!=e?e:G(yt.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,a="select-one"===t.type,s=a?null:[],c=a?o+1:i.length;for(r=o<0?c:a?o:0;r<c;r++)if(n=i[r],(n.selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!u(n.parentNode,"optgroup"))){if(e=yt(n).val(),a)return e;s.push(e)}return s},set:function(t,e){for(var n,r,i=t.options,o=yt.makeArray(e),a=i.length;a--;)r=i[a],(r.selected=yt.inArray(yt.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),yt.each(["radio","checkbox"],function(){yt.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=yt.inArray(yt(t).val(),e)>-1}},mt.checkOn||(yt.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var we=/^(?:focusinfocus|focusoutblur)$/;yt.extend(yt.event,{trigger:function(t,e,r,i){var o,a,s,u,c,l,f,p=[r||at],d=ht.call(t,"type")?t.type:t,h=ht.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||at,3!==r.nodeType&&8!==r.nodeType&&!we.test(d+yt.event.triggered)&&(d.indexOf(".")>-1&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[yt.expando]?t:new yt.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),e=null==e?[t]:yt.makeArray(e,[t]),f=yt.event.special[d]||{},i||!f.trigger||!1!==f.trigger.apply(r,e))){if(!i&&!f.noBubble&&!yt.isWindow(r)){for(u=f.delegateType||d,we.test(u+d)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||at)&&p.push(s.defaultView||s.parentWindow||n)}for(o=0;(a=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,l=(Lt.get(a,"events")||{})[t.type]&&Lt.get(a,"handle"),l&&l.apply(a,e),(l=c&&a[c])&&l.apply&&It(a)&&(t.result=l.apply(a,e),!1===t.result&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),e)||!It(r)||c&&yt.isFunction(r[d])&&!yt.isWindow(r)&&(s=r[c],s&&(r[c]=null),yt.event.triggered=d,r[d](),yt.event.triggered=void 0,s&&(r[c]=s)),t.result}},simulate:function(t,e,n){var r=yt.extend(new yt.Event,n,{type:t,isSimulated:!0});yt.event.trigger(r,null,e)}}),yt.fn.extend({trigger:function(t,e){return this.each(function(){yt.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return yt.event.trigger(t,e,n,!0)}}),yt.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(t,e){yt.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),yt.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),mt.focusin="onfocusin"in n,mt.focusin||yt.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){yt.event.simulate(e,t.target,yt.event.fix(t))};yt.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=Lt.access(r,e);i||r.addEventListener(t,n,!0),Lt.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Lt.access(r,e)-1;i?Lt.access(r,e,i):(r.removeEventListener(t,n,!0),Lt.remove(r,e))}}});var xe=n.location,Ce=yt.now(),Te=/\?/;yt.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||yt.error("Invalid XML: "+t),e};var $e=/\[\]$/,ke=/^(?:submit|button|image|reset|file)$/i,Ae=/^(?:input|select|textarea|keygen)/i;yt.param=function(t,e){var n,r=[],i=function(t,e){var n=yt.isFunction(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!yt.isPlainObject(t))yt.each(t,function(){i(this.name,this.value)});else for(n in t)Y(n,t[n],e,i);return r.join("&")},yt.fn.extend({serialize:function(){return yt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=yt.prop(this,"elements");return t?yt.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!yt(this).is(":disabled")&&Ae.test(this.nodeName)&&!ke.test(t)&&(this.checked||!zt.test(t))}).map(function(t,e){var n=yt(this).val();return null==n?null:Array.isArray(n)?yt.map(n,function(t){return{name:e.name,value:t.replace(/\r?\n/g,"\r\n")}}):{name:e.name,value:n.replace(/\r?\n/g,"\r\n")}}).get()}});var Ee=/^(.*?):[ \t]*([^\r\n]*)$/gm,Se=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Oe=/^(?:GET|HEAD)$/,je={},Ne={},De="*/".concat("*"),Ie=at.createElement("a");Ie.href=xe.href,yt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xe.href,type:"GET",isLocal:Se.test(xe.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":De,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":yt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?nt(nt(t,yt.ajaxSettings),e):nt(yt.ajaxSettings,t)},ajaxPrefilter:tt(je),ajaxTransport:tt(Ne),ajax:function(t,e){function r(t,e,r,s){var c,p,d,_,w,x=e;l||(l=!0,u&&n.clearTimeout(u),i=void 0,a=s||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(_=rt(h,C,r)),_=it(h,_,C,c),c?(h.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(yt.lastModified[o]=w),(w=C.getResponseHeader("etag"))&&(yt.etag[o]=w)),204===t||"HEAD"===h.type?x="nocontent":304===t?x="notmodified":(x=_.state,p=_.data,d=_.error,c=!d)):(d=x,!t&&x||(x="error",t<0&&(t=0))),C.status=t,C.statusText=(e||x)+"",c?m.resolveWith(v,[p,x,C]):m.rejectWith(v,[C,x,d]),C.statusCode(b),b=void 0,f&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,h,c?p:d]),y.fireWith(v,[C,x]),f&&(g.trigger("ajaxComplete",[C,h]),--yt.active||yt.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,o,a,s,u,c,l,f,p,d,h=yt.ajaxSetup({},e),v=h.context||h,g=h.context&&(v.nodeType||v.jquery)?yt(v):yt.event,m=yt.Deferred(),y=yt.Callbacks("once memory"),b=h.statusCode||{},_={},w={},x="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(l){if(!s)for(s={};e=Ee.exec(a);)s[e[1].toLowerCase()]=e[2];e=s[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return l?a:null},setRequestHeader:function(t,e){return null==l&&(t=w[t.toLowerCase()]=w[t.toLowerCase()]||t,_[t]=e),this},overrideMimeType:function(t){return null==l&&(h.mimeType=t),this},statusCode:function(t){var e;if(t)if(l)C.always(t[C.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||x;return i&&i.abort(e),r(0,e),this}};if(m.promise(C),h.url=((t||h.url||xe.href)+"").replace(/^\/\//,xe.protocol+"//"),h.type=e.method||e.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ot)||[""],null==h.crossDomain){c=at.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Ie.protocol+"//"+Ie.host!=c.protocol+"//"+c.host}catch(t){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=yt.param(h.data,h.traditional)),et(je,h,e,C),l)return C;f=yt.event&&h.global,f&&0==yt.active++&&yt.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Oe.test(h.type),o=h.url.replace(/#.*$/,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(/%20/g,"+")):(d=h.url.slice(o.length),h.data&&(o+=(Te.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(/([?&])_=[^&]*/,"$1"),d=(Te.test(o)?"&":"?")+"_="+Ce+++d),h.url=o+d),h.ifModified&&(yt.lastModified[o]&&C.setRequestHeader("If-Modified-Since",yt.lastModified[o]),yt.etag[o]&&C.setRequestHeader("If-None-Match",yt.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||e.contentType)&&C.setRequestHeader("Content-Type",h.contentType),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+De+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)C.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(v,C,h)||l))return C.abort();if(x="abort",y.add(h.complete),C.done(h.success),C.fail(h.error),i=et(Ne,h,e,C)){if(C.readyState=1,f&&g.trigger("ajaxSend",[C,h]),l)return C;h.async&&h.timeout>0&&(u=n.setTimeout(function(){C.abort("timeout")},h.timeout));try{l=!1,i.send(_,r)}catch(t){if(l)throw t;r(-1,t)}}else r(-1,"No Transport");return C},getJSON:function(t,e,n){return yt.get(t,e,n,"json")},getScript:function(t,e){return yt.get(t,void 0,e,"script")}}),yt.each(["get","post"],function(t,e){yt[e]=function(t,n,r,i){return yt.isFunction(n)&&(i=i||r,r=n,n=void 0),yt.ajax(yt.extend({url:t,type:e,dataType:i,data:n,success:r},yt.isPlainObject(t)&&t))}}),yt._evalUrl=function(t){return yt.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},yt.fn.extend({wrapAll:function(t){var e;return this[0]&&(yt.isFunction(t)&&(t=t.call(this[0])),e=yt(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return yt.isFunction(t)?this.each(function(e){yt(this).wrapInner(t.call(this,e))}):this.each(function(){var e=yt(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=yt.isFunction(t);return this.each(function(n){yt(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){yt(this).replaceWith(this.childNodes)}),this}}),yt.expr.pseudos.hidden=function(t){return!yt.expr.pseudos.visible(t)},yt.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},yt.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Le={0:200,1223:204},Re=yt.ajaxSettings.xhr();mt.cors=!!Re&&"withCredentials"in Re,mt.ajax=Re=!!Re,yt.ajaxTransport(function(t){var e,r;if(mt.cors||Re&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);e=function(t){return function(){e&&(e=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===t?s.abort():"error"===t?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Le[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=e(),r=s.onerror=e("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){e&&r()})},e=e("abort");try{s.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),yt.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),yt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return yt.globalEval(t),t}}}),yt.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),yt.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=yt("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&i("error"===t.type?404:200,t.type)}),at.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Pe=[],Fe=/(=)\?(?=&|$)|\?\?/;yt.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Pe.pop()||yt.expando+"_"+Ce++;return this[t]=!0,t}}),yt.ajaxPrefilter("json jsonp",function(t,e,r){var i,o,a,s=!1!==t.jsonp&&(Fe.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Fe.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=yt.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Fe,"$1"+i):!1!==t.jsonp&&(t.url+=(Te.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||yt.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=n[i],n[i]=function(){a=arguments},r.always(function(){void 0===o?yt(n).removeProp(i):n[i]=o,t[i]&&(t.jsonpCallback=e.jsonpCallback,Pe.push(i)),a&&yt.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),mt.createHTMLDocument=function(){var t=at.implementation.createHTMLDocument("").body;return t.innerHTML="<form></form><form></form>",2===t.childNodes.length}(),yt.parseHTML=function(t,e,n){if("string"!=typeof t)return[];"boolean"==typeof e&&(n=e,e=!1);var r,i,o;return e||(mt.createHTMLDocument?(e=at.implementation.createHTMLDocument(""),r=e.createElement("base"),r.href=at.location.href,e.head.appendChild(r)):e=at),i=Tt.exec(t),o=!n&&[],i?[e.createElement(i[1])]:(i=T([t],e,o),o&&o.length&&yt(o).remove(),yt.merge([],i.childNodes))},yt.fn.load=function(t,e,n){var r,i,o,a=this,s=t.indexOf(" ");return s>-1&&(r=G(t.slice(s)),t=t.slice(0,s)),yt.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(i="POST"),a.length>0&&yt.ajax({url:t,type:i||"GET",dataType:"html",data:e}).done(function(t){o=arguments,a.html(r?yt("<div>").append(yt.parseHTML(t)).find(r):t)}).always(n&&function(t,e){a.each(function(){n.apply(this,o||[t.responseText,e,t])})}),this},yt.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){yt.fn[e]=function(t){return this.on(e,t)}}),yt.expr.pseudos.animated=function(t){return yt.grep(yt.timers,function(e){return t===e.elem}).length},yt.offset={setOffset:function(t,e,n){var r,i,o,a,s,u,c,l=yt.css(t,"position"),f=yt(t),p={};"static"===l&&(t.style.position="relative"),s=f.offset(),o=yt.css(t,"top"),u=yt.css(t,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),yt.isFunction(e)&&(e=e.call(t,n,yt.extend({},s))),null!=e.top&&(p.top=e.top-s.top+a),null!=e.left&&(p.left=e.left-s.left+i),"using"in e?e.using.call(t,p):f.css(p)}},yt.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){yt.offset.setOffset(this,t,e)});var e,n,r,i,o=this[0];if(o)return o.getClientRects().length?(r=o.getBoundingClientRect(),e=o.ownerDocument,n=e.documentElement,i=e.defaultView,{top:r.top+i.pageYOffset-n.clientTop,left:r.left+i.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var t,e,n=this[0],r={top:0,left:0};return"fixed"===yt.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),u(t[0],"html")||(r=t.offset()),r={top:r.top+yt.css(t[0],"borderTopWidth",!0),left:r.left+yt.css(t[0],"borderLeftWidth",!0)}),{top:e.top-r.top-yt.css(n,"marginTop",!0),left:e.left-r.left-yt.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===yt.css(t,"position");)t=t.offsetParent;return t||Qt})}}),yt.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;yt.fn[t]=function(r){return Dt(this,function(t,r,i){var o;if(yt.isWindow(t)?o=t:9===t.nodeType&&(o=t.defaultView),void 0===i)return o?o[e]:t[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):t[r]=i},t,r,arguments.length)}}),yt.each(["top","left"],function(t,e){yt.cssHooks[e]=P(mt.pixelPosition,function(t,n){if(n)return n=R(t,e),oe.test(n)?yt(t).position()[e]+"px":n})}),yt.each({Height:"height",Width:"width"},function(t,e){yt.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,r){yt.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return Dt(this,function(e,n,i){var o;return yt.isWindow(e)?0===r.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===i?yt.css(e,n,s):yt.style(e,n,i,s)},e,a?i:void 0,a)}})}),yt.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,r){return this.on(e,t,n,r)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),yt.holdReady=function(t){t?yt.readyWait++:yt.ready(!0)},yt.isArray=Array.isArray,yt.parseJSON=JSON.parse,yt.nodeName=u,r=[],void 0!==(i=function(){return yt}.apply(e,r))&&(t.exports=i);var qe=n.jQuery,Me=n.$;return yt.noConflict=function(t){return n.$===yt&&(n.$=Me),t&&n.jQuery===yt&&(n.jQuery=qe),yt},o||(n.jQuery=n.$=yt),yt})},function(t,e,n){(function(t,r){var i;(function(){function o(t,e){return t.set(e[0],e[1]),t}function a(t,e){return t.add(e),t}function s(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function u(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i<o;){var a=t[i];e(r,a,n(a),t)}return r}function c(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function l(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function f(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function p(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}function d(t,e){return!!(null==t?0:t.length)&&T(t,e,0)>-1}function h(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function v(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function g(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function m(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function y(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function b(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function _(t){return t.split("")}function w(t){return t.match(Pe)||[]}function x(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function C(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}function T(t,e,n){return e===e?G(t,e,n):C(t,k,n)}function $(t,e,n,r){for(var i=n-1,o=t.length;++i<o;)if(r(t[i],e))return i;return-1}function k(t){return t!==t}function A(t,e){var n=null==t?0:t.length;return n?N(t,e)/n:Lt}function E(t){return function(e){return null==e?it:e[t]}}function S(t){return function(e){return null==t?it:t[e]}}function O(t,e,n,r,i){return i(t,function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)}),n}function j(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function N(t,e){for(var n,r=-1,i=t.length;++r<i;){var o=e(t[r]);o!==it&&(n=n===it?o:n+o)}return n}function D(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function I(t,e){return v(e,function(e){return[e,t[e]]})}function L(t){return function(e){return t(e)}}function R(t,e){return v(e,function(e){return t[e]})}function P(t,e){return t.has(e)}function F(t,e){for(var n=-1,r=t.length;++n<r&&T(e,t[n],0)>-1;);return n}function q(t,e){for(var n=t.length;n--&&T(e,t[n],0)>-1;);return n}function M(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function H(t){return"\\"+Tn[t]}function B(t,e){return null==t?it:t[e]}function U(t){return vn.test(t)}function W(t){return gn.test(t)}function z(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function V(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function X(t,e){return function(n){return t(e(n))}}function K(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];a!==e&&a!==lt||(t[n]=lt,o[i++]=n)}return o}function J(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function Q(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function G(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Z(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}function Y(t){return U(t)?et(t):Hn(t)}function tt(t){return U(t)?nt(t):_(t)}function et(t){for(var e=dn.lastIndex=0;dn.test(t);)++e;return e}function nt(t){return t.match(dn)||[]}function rt(t){return t.match(hn)||[]}var it,ot=200,at="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",st="Expected a function",ut="__lodash_hash_undefined__",ct=500,lt="__lodash_placeholder__",ft=1,pt=2,dt=4,ht=1,vt=2,gt=1,mt=2,yt=4,bt=8,_t=16,wt=32,xt=64,Ct=128,Tt=256,$t=512,kt=30,At="...",Et=800,St=16,Ot=1,jt=2,Nt=1/0,Dt=9007199254740991,It=1.7976931348623157e308,Lt=NaN,Rt=4294967295,Pt=Rt-1,Ft=Rt>>>1,qt=[["ary",Ct],["bind",gt],["bindKey",mt],["curry",bt],["curryRight",_t],["flip",$t],["partial",wt],["partialRight",xt],["rearg",Tt]],Mt="[object Arguments]",Ht="[object Array]",Bt="[object AsyncFunction]",Ut="[object Boolean]",Wt="[object Date]",zt="[object DOMException]",Vt="[object Error]",Xt="[object Function]",Kt="[object GeneratorFunction]",Jt="[object Map]",Qt="[object Number]",Gt="[object Null]",Zt="[object Object]",Yt="[object Proxy]",te="[object RegExp]",ee="[object Set]",ne="[object String]",re="[object Symbol]",ie="[object Undefined]",oe="[object WeakMap]",ae="[object WeakSet]",se="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",le="[object Float64Array]",fe="[object Int8Array]",pe="[object Int16Array]",de="[object Int32Array]",he="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",me="[object Uint32Array]",ye=/\b__p \+= '';/g,be=/\b(__p \+=) '' \+/g,_e=/(__e\(.*?\)|\b__t\)) \+\n'';/g,we=/&(?:amp|lt|gt|quot|#39);/g,xe=/[&<>"']/g,Ce=RegExp(we.source),Te=RegExp(xe.source),$e=/<%=([\s\S]+?)%>/g,ke=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ae=/^\w*$/,Ee=/^\./,Se=/[\\^$.*+?()[\]{}|]/g,Oe=RegExp(Se.source),je=/^\s+|\s+$/g,Ne=/^\s+/,De=/\s+$/,Ie=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Le=/\{\n\/\* \[wrapped with (.+)\] \*/,Re=/,? & /,Pe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Fe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qe=/\w*$/,Me=/^[-+]0x[0-9a-f]+$/i,He=/^0b[01]+$/i,Be=/^\[object .+?Constructor\]$/,Ue=/^0o[0-7]+$/i,We=/^(?:0|[1-9]\d*)$/,ze=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ve=/($^)/,Xe=/['\n\r\u2028\u2029\\]/g,Ke="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Je="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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",Qe="["+Je+"]",Ge="["+Ke+"]",Ze="[a-z\\xdf-\\xf6\\xf8-\\xff]",Ye="[^\\ud800-\\udfff"+Je+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",tn="\\ud83c[\\udffb-\\udfff]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",nn="[\\ud800-\\udbff][\\udc00-\\udfff]",rn="[A-Z\\xc0-\\xd6\\xd8-\\xde]",on="(?:"+Ze+"|"+Ye+")",an="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",sn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",en,nn].join("|")+")[\\ufe0e\\ufe0f]?"+an+")*",un="[\\ufe0e\\ufe0f]?"+an+sn,cn="(?:"+["[\\u2700-\\u27bf]",en,nn].join("|")+")"+un,ln="(?:"+["[^\\ud800-\\udfff]"+Ge+"?",Ge,en,nn,"[\\ud800-\\udfff]"].join("|")+")",fn=RegExp("['’]","g"),pn=RegExp(Ge,"g"),dn=RegExp(tn+"(?="+tn+")|"+ln+un,"g"),hn=RegExp([rn+"?"+Ze+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Qe,rn,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Qe,rn+on,"$"].join("|")+")",rn+"?"+on+"+(?:['’](?:d|ll|m|re|s|t|ve))?",rn+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",cn].join("|"),"g"),vn=RegExp("[\\u200d\\ud800-\\udfff"+Ke+"\\ufe0e\\ufe0f]"),gn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,mn=["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"],yn=-1,bn={};bn[ce]=bn[le]=bn[fe]=bn[pe]=bn[de]=bn[he]=bn[ve]=bn[ge]=bn[me]=!0,bn[Mt]=bn[Ht]=bn[se]=bn[Ut]=bn[ue]=bn[Wt]=bn[Vt]=bn[Xt]=bn[Jt]=bn[Qt]=bn[Zt]=bn[te]=bn[ee]=bn[ne]=bn[oe]=!1;var _n={};_n[Mt]=_n[Ht]=_n[se]=_n[ue]=_n[Ut]=_n[Wt]=_n[ce]=_n[le]=_n[fe]=_n[pe]=_n[de]=_n[Jt]=_n[Qt]=_n[Zt]=_n[te]=_n[ee]=_n[ne]=_n[re]=_n[he]=_n[ve]=_n[ge]=_n[me]=!0,_n[Vt]=_n[Xt]=_n[oe]=!1;var wn={"À":"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"},xn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Cn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,kn=parseInt,An="object"==typeof t&&t&&t.Object===Object&&t,En="object"==typeof self&&self&&self.Object===Object&&self,Sn=An||En||Function("return this")(),On="object"==typeof e&&e&&!e.nodeType&&e,jn=On&&"object"==typeof r&&r&&!r.nodeType&&r,Nn=jn&&jn.exports===On,Dn=Nn&&An.process,In=function(){try{return Dn&&Dn.binding&&Dn.binding("util")}catch(t){}}(),Ln=In&&In.isArrayBuffer,Rn=In&&In.isDate,Pn=In&&In.isMap,Fn=In&&In.isRegExp,qn=In&&In.isSet,Mn=In&&In.isTypedArray,Hn=E("length"),Bn=S(wn),Un=S(xn),Wn=S(Cn),zn=function t(e){function n(t){if(eu(t)&&!dp(t)&&!(t instanceof _)){if(t instanceof i)return t;if(pl.call(t,"__wrapped__"))return Zo(t)}return new i(t)}function r(){}function i(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=it}function _(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Rt,this.__views__=[]}function S(){var t=new _(this.__wrapped__);return t.__actions__=Di(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Di(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Di(this.__views__),t}function G(){if(this.__filtered__){var t=new _(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function et(){var t=this.__wrapped__.value(),e=this.__dir__,n=dp(t),r=e<0,i=n?t.length:0,o=Co(0,i,this.__views__),a=o.start,s=o.end,u=s-a,c=r?s:a-1,l=this.__iteratees__,f=l.length,p=0,d=Bl(u,this.__takeCount__);if(!n||!r&&i==u&&d==u)return hi(t,this.__actions__);var h=[];t:for(;u--&&p<d;){c+=e;for(var v=-1,g=t[c];++v<f;){var m=l[v],y=m.iteratee,b=m.type,_=y(g);if(b==jt)g=_;else if(!_){if(b==Ot)continue t;break t}}h[p++]=g}return h}function nt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Pe(){this.__data__=Zl?Zl(null):{},this.size=0}function Ke(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Je(t){var e=this.__data__;if(Zl){var n=e[t];return n===ut?it:n}return pl.call(e,t)?e[t]:it}function Qe(t){var e=this.__data__;return Zl?e[t]!==it:pl.call(e,t)}function Ge(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Zl&&e===it?ut:e,this}function Ze(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ye(){this.__data__=[],this.size=0}function tn(t){var e=this.__data__,n=Vn(e,t);return!(n<0)&&(n==e.length-1?e.pop():kl.call(e,n,1),--this.size,!0)}function en(t){var e=this.__data__,n=Vn(e,t);return n<0?it:e[n][1]}function nn(t){return Vn(this.__data__,t)>-1}function rn(t,e){var n=this.__data__,r=Vn(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function on(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function an(){this.size=0,this.__data__={hash:new nt,map:new(Kl||Ze),string:new nt}}function sn(t){var e=bo(this,t).delete(t);return this.size-=e?1:0,e}function un(t){return bo(this,t).get(t)}function cn(t){return bo(this,t).has(t)}function ln(t,e){var n=bo(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function dn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new on;++e<n;)this.add(t[e])}function hn(t){return this.__data__.set(t,ut),this}function vn(t){return this.__data__.has(t)}function gn(t){var e=this.__data__=new Ze(t);this.size=e.size}function wn(){this.__data__=new Ze,this.size=0}function xn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function Cn(t){return this.__data__.get(t)}function Tn(t){return this.__data__.has(t)}function An(t,e){var n=this.__data__;if(n instanceof Ze){var r=n.__data__;if(!Kl||r.length<ot-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new on(r)}return n.set(t,e),this.size=n.size,this}function En(t,e){var n=dp(t),r=!n&&pp(t),i=!n&&!r&&vp(t),o=!n&&!r&&!i&&_p(t),a=n||r||i||o,s=a?D(t.length,ol):[],u=s.length;for(var c in t)!e&&!pl.call(t,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||jo(c,u))||s.push(c);return s}function On(t){var e=t.length;return e?t[Jr(0,e-1)]:it}function jn(t,e){return Ko(Di(t),Zn(e,0,t.length))}function Dn(t){return Ko(Di(t))}function In(t,e,n){(n===it||Hs(t[e],n))&&(n!==it||e in t)||Qn(t,e,n)}function Hn(t,e,n){var r=t[e];pl.call(t,e)&&Hs(r,n)&&(n!==it||e in t)||Qn(t,e,n)}function Vn(t,e){for(var n=t.length;n--;)if(Hs(t[n][0],e))return n;return-1}function Xn(t,e,n,r){return ff(t,function(t,i,o){e(r,t,n(t),o)}),r}function Kn(t,e){return t&&Ii(e,Ru(e),t)}function Jn(t,e){return t&&Ii(e,Pu(e),t)}function Qn(t,e,n){"__proto__"==e&&Ol?Ol(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Gn(t,e){for(var n=-1,r=e.length,i=Zc(r),o=null==t;++n<r;)i[n]=o?it:Du(t,e[n]);return i}function Zn(t,e,n){return t===t&&(n!==it&&(t=t<=n?t:n),e!==it&&(t=t>=e?t:e)),t}function Yn(t,e,n,r,i,o){var a,s=e&ft,u=e&pt,l=e&dt;if(n&&(a=i?n(t,r,i,o):n(t)),a!==it)return a;if(!tu(t))return t;var f=dp(t);if(f){if(a=ko(t),!s)return Di(t,a)}else{var p=Cf(t),d=p==Xt||p==Kt;if(vp(t))return wi(t,s);if(p==Zt||p==Mt||d&&!i){if(a=u||d?{}:Ao(t),!s)return u?Ri(t,Jn(a,t)):Li(t,Kn(a,t))}else{if(!_n[p])return i?t:{};a=Eo(t,p,Yn,s)}}o||(o=new gn);var h=o.get(t);if(h)return h;o.set(t,a);var v=l?u?vo:ho:u?Pu:Ru,g=f?it:v(t);return c(g||t,function(r,i){g&&(i=r,r=t[i]),Hn(a,i,Yn(r,e,n,i,t,o))}),a}function tr(t){var e=Ru(t);return function(n){return er(n,t,e)}}function er(t,e,n){var r=n.length;if(null==t)return!r;for(t=rl(t);r--;){var i=n[r],o=e[i],a=t[i];if(a===it&&!(i in t)||!o(a))return!1}return!0}function nr(t,e,n){if("function"!=typeof t)throw new al(st);return kf(function(){t.apply(it,n)},e)}function rr(t,e,n,r){var i=-1,o=d,a=!0,s=t.length,u=[],c=e.length;if(!s)return u;n&&(e=v(e,L(n))),r?(o=h,a=!1):e.length>=ot&&(o=P,a=!1,e=new dn(e));t:for(;++i<s;){var l=t[i],f=null==n?l:n(l);if(l=r||0!==l?l:0,a&&f===f){for(var p=c;p--;)if(e[p]===f)continue t;u.push(l)}else o(e,f,r)||u.push(l)}return u}function ir(t,e){var n=!0;return ff(t,function(t,r,i){return n=!!e(t,r,i)}),n}function or(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(s===it?a===a&&!pu(a):n(a,s)))var s=a,u=o}return u}function ar(t,e,n,r){var i=t.length;for(n=yu(n),n<0&&(n=-n>i?0:i+n),r=r===it||r>i?i:yu(r),r<0&&(r+=i),r=n>r?0:bu(r);n<r;)t[n++]=e;return t}function sr(t,e){var n=[];return ff(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function ur(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=Oo),i||(i=[]);++o<a;){var s=t[o];e>0&&n(s)?e>1?ur(s,e-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function cr(t,e){return t&&df(t,e,Ru)}function lr(t,e){return t&&hf(t,e,Ru)}function fr(t,e){return p(e,function(e){return Gs(t[e])})}function pr(t,e){e=bi(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[Jo(e[n++])];return n&&n==r?t:it}function dr(t,e,n){var r=e(t);return dp(t)?r:g(r,n(t))}function hr(t){return null==t?t===it?ie:Gt:Sl&&Sl in rl(t)?xo(t):Bo(t)}function vr(t,e){return t>e}function gr(t,e){return null!=t&&pl.call(t,e)}function mr(t,e){return null!=t&&e in rl(t)}function yr(t,e,n){return t>=Bl(e,n)&&t<Hl(e,n)}function br(t,e,n){for(var r=n?h:d,i=t[0].length,o=t.length,a=o,s=Zc(o),u=1/0,c=[];a--;){var l=t[a];a&&e&&(l=v(l,L(e))),u=Bl(l.length,u),s[a]=!n&&(e||i>=120&&l.length>=120)?new dn(a&&l):it}l=t[0];var f=-1,p=s[0];t:for(;++f<i&&c.length<u;){var g=l[f],m=e?e(g):g;if(g=n||0!==g?g:0,!(p?P(p,m):r(c,m,n))){for(a=o;--a;){var y=s[a];if(!(y?P(y,m):r(t[a],m,n)))continue t}p&&p.push(m),c.push(g)}}return c}function _r(t,e,n,r){return cr(t,function(t,i,o){e(r,n(t),i,o)}),r}function wr(t,e,n){e=bi(e,t),t=Wo(t,e);var r=null==t?t:t[Jo(ma(e))];return null==r?it:s(r,t,n)}function xr(t){return eu(t)&&hr(t)==Mt}function Cr(t){return eu(t)&&hr(t)==se}function Tr(t){return eu(t)&&hr(t)==Wt}function $r(t,e,n,r,i){return t===e||(null==t||null==e||!eu(t)&&!eu(e)?t!==t&&e!==e:kr(t,e,n,r,$r,i))}function kr(t,e,n,r,i,o){var a=dp(t),s=dp(e),u=a?Ht:Cf(t),c=s?Ht:Cf(e);u=u==Mt?Zt:u,c=c==Mt?Zt:c;var l=u==Zt,f=c==Zt,p=u==c;if(p&&vp(t)){if(!vp(e))return!1;a=!0,l=!1}if(p&&!l)return o||(o=new gn),a||_p(t)?co(t,e,n,r,i,o):lo(t,e,u,n,r,i,o);if(!(n&ht)){var d=l&&pl.call(t,"__wrapped__"),h=f&&pl.call(e,"__wrapped__");if(d||h){var v=d?t.value():t,g=h?e.value():e;return o||(o=new gn),i(v,g,n,r,o)}}return!!p&&(o||(o=new gn),fo(t,e,n,r,i,o))}function Ar(t){return eu(t)&&Cf(t)==Jt}function Er(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=rl(t);i--;){var s=n[i];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<o;){s=n[i];var u=s[0],c=t[u],l=s[1];if(a&&s[2]){if(c===it&&!(u in t))return!1}else{var f=new gn;if(r)var p=r(c,l,u,t,e,f);if(!(p===it?$r(l,c,ht|vt,r,f):p))return!1}}return!0}function Sr(t){return!(!tu(t)||Ro(t))&&(Gs(t)?yl:Be).test(Qo(t))}function Or(t){return eu(t)&&hr(t)==te}function jr(t){return eu(t)&&Cf(t)==ee}function Nr(t){return eu(t)&&Ys(t.length)&&!!bn[hr(t)]}function Dr(t){return"function"==typeof t?t:null==t?kc:"object"==typeof t?dp(t)?qr(t[0],t[1]):Fr(t):Ic(t)}function Ir(t){if(!Po(t))return Ml(t);var e=[];for(var n in rl(t))pl.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Lr(t){if(!tu(t))return Ho(t);var e=Po(t),n=[];for(var r in t)("constructor"!=r||!e&&pl.call(t,r))&&n.push(r);return n}function Rr(t,e){return t<e}function Pr(t,e){var n=-1,r=Bs(t)?Zc(t.length):[];return ff(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function Fr(t){var e=_o(t);return 1==e.length&&e[0][2]?qo(e[0][0],e[0][1]):function(n){return n===t||Er(n,t,e)}}function qr(t,e){return Do(t)&&Fo(e)?qo(Jo(t),e):function(n){var r=Du(n,t);return r===it&&r===e?Lu(n,t):$r(e,r,ht|vt)}}function Mr(t,e,n,r,i){t!==e&&df(e,function(o,a){if(tu(o))i||(i=new gn),Hr(t,e,a,n,Mr,r,i);else{var s=r?r(t[a],o,a+"",t,e,i):it;s===it&&(s=o),In(t,a,s)}},Pu)}function Hr(t,e,n,r,i,o,a){var s=t[n],u=e[n],c=a.get(u);if(c)return void In(t,n,c);var l=o?o(s,u,n+"",t,e,a):it,f=l===it;if(f){var p=dp(u),d=!p&&vp(u),h=!p&&!d&&_p(u);l=u,p||d||h?dp(s)?l=s:Us(s)?l=Di(s):d?(f=!1,l=wi(u,!0)):h?(f=!1,l=Ei(u,!0)):l=[]:cu(u)||pp(u)?(l=s,pp(s)?l=wu(s):(!tu(s)||r&&Gs(s))&&(l=Ao(u))):f=!1}f&&(a.set(u,l),i(l,u,r,o,a),a.delete(u)),In(t,n,l)}function Br(t,e){var n=t.length;if(n)return e+=e<0?n:0,jo(e,n)?t[e]:it}function Ur(t,e,n){var r=-1;return e=v(e.length?e:[kc],L(yo())),j(Pr(t,function(t,n,i){return{criteria:v(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return Oi(t,e,n)})}function Wr(t,e){return zr(t,e,function(e,n){return Lu(t,n)})}function zr(t,e,n){for(var r=-1,i=e.length,o={};++r<i;){var a=e[r],s=pr(t,a);n(s,a)&&ei(o,bi(a,t),s)}return o}function Vr(t){return function(e){return pr(e,t)}}function Xr(t,e,n,r){var i=r?$:T,o=-1,a=e.length,s=t;for(t===e&&(e=Di(e)),n&&(s=v(t,L(n)));++o<a;)for(var u=0,c=e[o],l=n?n(c):c;(u=i(s,l,u,r))>-1;)s!==t&&kl.call(s,u,1),kl.call(t,u,1);return t}function Kr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;jo(i)?kl.call(t,i,1):fi(t,i)}}return t}function Jr(t,e){return t+Ll(zl()*(e-t+1))}function Qr(t,e,n,r){for(var i=-1,o=Hl(Il((e-t)/(n||1)),0),a=Zc(o);o--;)a[r?o:++i]=t,t+=n;return a}function Gr(t,e){var n="";if(!t||e<1||e>Dt)return n;do{e%2&&(n+=t),(e=Ll(e/2))&&(t+=t)}while(e);return n}function Zr(t,e){return Af(Uo(t,e,kc),t+"")}function Yr(t){return On(Ju(t))}function ti(t,e){var n=Ju(t);return Ko(n,Zn(e,0,n.length))}function ei(t,e,n,r){if(!tu(t))return t;e=bi(e,t);for(var i=-1,o=e.length,a=o-1,s=t;null!=s&&++i<o;){var u=Jo(e[i]),c=n;if(i!=a){var l=s[u];c=r?r(l,u,s):it,c===it&&(c=tu(l)?l:jo(e[i+1])?[]:{})}Hn(s,u,c),s=s[u]}return t}function ni(t){return Ko(Ju(t))}function ri(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Zc(i);++r<i;)o[r]=t[r+e];return o}function ii(t,e){var n;return ff(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function oi(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e===e&&i<=Ft){for(;r<i;){var o=r+i>>>1,a=t[o];null!==a&&!pu(a)&&(n?a<=e:a<e)?r=o+1:i=o}return i}return ai(t,e,kc,n)}function ai(t,e,n,r){e=n(e);for(var i=0,o=null==t?0:t.length,a=e!==e,s=null===e,u=pu(e),c=e===it;i<o;){var l=Ll((i+o)/2),f=n(t[l]),p=f!==it,d=null===f,h=f===f,v=pu(f);if(a)var g=r||h;else g=c?h&&(r||p):s?h&&p&&(r||!d):u?h&&p&&!d&&(r||!v):!d&&!v&&(r?f<=e:f<e);g?i=l+1:o=l}return Bl(o,Pt)}function si(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n],s=e?e(a):a;if(!n||!Hs(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function ui(t){return"number"==typeof t?t:pu(t)?Lt:+t}function ci(t){if("string"==typeof t)return t;if(dp(t))return v(t,ci)+"";if(pu(t))return cf?cf.call(t):"";var e=t+"";return"0"==e&&1/t==-Nt?"-0":e}function li(t,e,n){var r=-1,i=d,o=t.length,a=!0,s=[],u=s;if(n)a=!1,i=h;else if(o>=ot){var c=e?null:bf(t);if(c)return J(c);a=!1,i=P,u=new dn}else u=e?[]:s;t:for(;++r<o;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,a&&f===f){for(var p=u.length;p--;)if(u[p]===f)continue t;e&&u.push(f),s.push(l)}else i(u,f,n)||(u!==s&&u.push(f),s.push(l))}return s}function fi(t,e){return e=bi(e,t),null==(t=Wo(t,e))||delete t[Jo(ma(e))]}function pi(t,e,n,r){return ei(t,e,n(pr(t,e)),r)}function di(t,e,n,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&e(t[o],o,t););return n?ri(t,r?0:o,r?o+1:i):ri(t,r?o+1:0,r?i:o)}function hi(t,e){var n=t;return n instanceof _&&(n=n.value()),m(e,function(t,e){return e.func.apply(e.thisArg,g([t],e.args))},n)}function vi(t,e,n){var r=t.length;if(r<2)return r?li(t[0]):[];for(var i=-1,o=Zc(r);++i<r;)for(var a=t[i],s=-1;++s<r;)s!=i&&(o[i]=rr(o[i]||a,t[s],e,n));return li(ur(o,1),e,n)}function gi(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var s=r<o?e[r]:it;n(a,t[r],s)}return a}function mi(t){return Us(t)?t:[]}function yi(t){return"function"==typeof t?t:kc}function bi(t,e){return dp(t)?t:Do(t,e)?[t]:Ef(Cu(t))}function _i(t,e,n){var r=t.length;return n=n===it?r:n,!e&&n>=r?t:ri(t,e,n)}function wi(t,e){if(e)return t.slice();var n=t.length,r=xl?xl(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new wl(e).set(new wl(t)),e}function Ci(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ti(t,e,n){return m(e?n(V(t),ft):V(t),o,new t.constructor)}function $i(t){var e=new t.constructor(t.source,qe.exec(t));return e.lastIndex=t.lastIndex,e}function ki(t,e,n){return m(e?n(J(t),ft):J(t),a,new t.constructor)}function Ai(t){return uf?rl(uf.call(t)):{}}function Ei(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Si(t,e){if(t!==e){var n=t!==it,r=null===t,i=t===t,o=pu(t),a=e!==it,s=null===e,u=e===e,c=pu(e);if(!s&&!c&&!o&&t>e||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&t<e||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0}function Oi(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,s=n.length;++r<a;){var u=Si(i[r],o[r]);if(u){if(r>=s)return u;return u*("desc"==n[r]?-1:1)}}return t.index-e.index}function ji(t,e,n,r){for(var i=-1,o=t.length,a=n.length,s=-1,u=e.length,c=Hl(o-a,0),l=Zc(u+c),f=!r;++s<u;)l[s]=e[s];for(;++i<a;)(f||i<o)&&(l[n[i]]=t[i]);for(;c--;)l[s++]=t[i++];return l}function Ni(t,e,n,r){for(var i=-1,o=t.length,a=-1,s=n.length,u=-1,c=e.length,l=Hl(o-s,0),f=Zc(l+c),p=!r;++i<l;)f[i]=t[i];for(var d=i;++u<c;)f[d+u]=e[u];for(;++a<s;)(p||i<o)&&(f[d+n[a]]=t[i++]);return f}function Di(t,e){var n=-1,r=t.length;for(e||(e=Zc(r));++n<r;)e[n]=t[n];return e}function Ii(t,e,n,r){var i=!n;n||(n={});for(var o=-1,a=e.length;++o<a;){var s=e[o],u=r?r(n[s],t[s],s,n,t):it;u===it&&(u=t[s]),i?Qn(n,s,u):Hn(n,s,u)}return n}function Li(t,e){return Ii(t,wf(t),e)}function Ri(t,e){return Ii(t,xf(t),e)}function Pi(t,e){return function(n,r){var i=dp(n)?u:Xn,o=e?e():{};return i(n,t,yo(r,2),o)}}function Fi(t){return Zr(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:it,a=i>2?n[2]:it;for(o=t.length>3&&"function"==typeof o?(i--,o):it,a&&No(n[0],n[1],a)&&(o=i<3?it:o,i=1),e=rl(e);++r<i;){var s=n[r];s&&t(e,s,r,o)}return e})}function qi(t,e){return function(n,r){if(null==n)return n;if(!Bs(n))return t(n,r);for(var i=n.length,o=e?i:-1,a=rl(n);(e?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Mi(t){return function(e,n,r){for(var i=-1,o=rl(e),a=r(e),s=a.length;s--;){var u=a[t?s:++i];if(!1===n(o[u],u,o))break}return e}}function Hi(t,e,n){function r(){return(this&&this!==Sn&&this instanceof r?o:t).apply(i?n:this,arguments)}var i=e&gt,o=Wi(t);return r}function Bi(t){return function(e){e=Cu(e);var n=U(e)?tt(e):it,r=n?n[0]:e.charAt(0),i=n?_i(n,1).join(""):e.slice(1);return r[t]()+i}}function Ui(t){return function(e){return m(wc(ec(e).replace(fn,"")),t,"")}}function Wi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=lf(t.prototype),r=t.apply(n,e);return tu(r)?r:n}}function zi(t,e,n){function r(){for(var o=arguments.length,a=Zc(o),u=o,c=mo(r);u--;)a[u]=arguments[u];var l=o<3&&a[0]!==c&&a[o-1]!==c?[]:K(a,c);return(o-=l.length)<n?no(t,e,Ki,r.placeholder,it,a,l,it,it,n-o):s(this&&this!==Sn&&this instanceof r?i:t,this,a)}var i=Wi(t);return r}function Vi(t){return function(e,n,r){var i=rl(e);if(!Bs(e)){var o=yo(n,3);e=Ru(e),n=function(t){return o(i[t],t,i)}}var a=t(e,n,r);return a>-1?i[o?e[a]:a]:it}}function Xi(t){return po(function(e){var n=e.length,r=n,o=i.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new al(st);if(o&&!s&&"wrapper"==go(a))var s=new i([],!0)}for(r=s?r:n;++r<n;){a=e[r];var u=go(a),c="wrapper"==u?_f(a):it;s=c&&Lo(c[0])&&c[1]==(Ct|bt|wt|Tt)&&!c[4].length&&1==c[9]?s[go(c[0])].apply(s,c[3]):1==a.length&&Lo(a)?s[u]():s.thru(a)}return function(){var t=arguments,r=t[0];if(s&&1==t.length&&dp(r))return s.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++i<n;)o=e[i].call(this,o);return o}})}function Ki(t,e,n,r,i,o,a,s,u,c){function l(){for(var m=arguments.length,y=Zc(m),b=m;b--;)y[b]=arguments[b];if(h)var _=mo(l),w=M(y,_);if(r&&(y=ji(y,r,i,h)),o&&(y=Ni(y,o,a,h)),m-=w,h&&m<c){var x=K(y,_);return no(t,e,Ki,l.placeholder,n,y,x,s,u,c-m)}var C=p?n:this,T=d?C[t]:t;return m=y.length,s?y=zo(y,s):v&&m>1&&y.reverse(),f&&u<m&&(y.length=u),this&&this!==Sn&&this instanceof l&&(T=g||Wi(T)),T.apply(C,y)}var f=e&Ct,p=e&gt,d=e&mt,h=e&(bt|_t),v=e&$t,g=d?it:Wi(t);return l}function Ji(t,e){return function(n,r){return _r(n,t,e(r),{})}}function Qi(t,e){return function(n,r){var i;if(n===it&&r===it)return e;if(n!==it&&(i=n),r!==it){if(i===it)return r;"string"==typeof n||"string"==typeof r?(n=ci(n),r=ci(r)):(n=ui(n),r=ui(r)),i=t(n,r)}return i}}function Gi(t){return po(function(e){return e=v(e,L(yo())),Zr(function(n){var r=this;return t(e,function(t){return s(t,r,n)})})})}function Zi(t,e){e=e===it?" ":ci(e);var n=e.length;if(n<2)return n?Gr(e,t):e;var r=Gr(e,Il(t/Y(e)));return U(e)?_i(tt(r),0,t).join(""):r.slice(0,t)}function Yi(t,e,n,r){function i(){for(var e=-1,u=arguments.length,c=-1,l=r.length,f=Zc(l+u),p=this&&this!==Sn&&this instanceof i?a:t;++c<l;)f[c]=r[c];for(;u--;)f[c++]=arguments[++e];return s(p,o?n:this,f)}var o=e&gt,a=Wi(t);return i}function to(t){return function(e,n,r){return r&&"number"!=typeof r&&No(e,n,r)&&(n=r=it),e=mu(e),n===it?(n=e,e=0):n=mu(n),r=r===it?e<n?1:-1:mu(r),Qr(e,n,r,t)}}function eo(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=_u(e),n=_u(n)),t(e,n)}}function no(t,e,n,r,i,o,a,s,u,c){var l=e&bt,f=l?a:it,p=l?it:a,d=l?o:it,h=l?it:o;e|=l?wt:xt,(e&=~(l?xt:wt))&yt||(e&=~(gt|mt));var v=[t,e,i,d,f,h,p,s,u,c],g=n.apply(it,v);return Lo(t)&&$f(g,v),g.placeholder=r,Vo(g,t,e)}function ro(t){var e=nl[t];return function(t,n){if(t=_u(t),n=null==n?0:Bl(yu(n),292)){var r=(Cu(t)+"e").split("e");return r=(Cu(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function io(t){return function(e){var n=Cf(e);return n==Jt?V(e):n==ee?Q(e):I(e,t(e))}}function oo(t,e,n,r,i,o,a,s){var u=e&mt;if(!u&&"function"!=typeof t)throw new al(st);var c=r?r.length:0;if(c||(e&=~(wt|xt),r=i=it),a=a===it?a:Hl(yu(a),0),s=s===it?s:yu(s),c-=i?i.length:0,e&xt){var l=r,f=i;r=i=it}var p=u?it:_f(t),d=[t,e,n,r,i,l,f,o,a,s];if(p&&Mo(d,p),t=d[0],e=d[1],n=d[2],r=d[3],i=d[4],s=d[9]=d[9]===it?u?0:t.length:Hl(d[9]-c,0),!s&&e&(bt|_t)&&(e&=~(bt|_t)),e&&e!=gt)h=e==bt||e==_t?zi(t,e,s):e!=wt&&e!=(gt|wt)||i.length?Ki.apply(it,d):Yi(t,e,n,r);else var h=Hi(t,e,n);return Vo((p?vf:$f)(h,d),t,e)}function ao(t,e,n,r){return t===it||Hs(t,cl[n])&&!pl.call(r,n)?e:t}function so(t,e,n,r,i,o){return tu(t)&&tu(e)&&(o.set(e,t),Mr(t,e,it,so,o),o.delete(e)),t}function uo(t){return cu(t)?it:t}function co(t,e,n,r,i,o){var a=n&ht,s=t.length,u=e.length;if(s!=u&&!(a&&u>s))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var l=-1,f=!0,p=n&vt?new dn:it;for(o.set(t,e),o.set(e,t);++l<s;){var d=t[l],h=e[l];if(r)var v=a?r(h,d,l,e,t,o):r(d,h,l,t,e,o);if(v!==it){if(v)continue;f=!1;break}if(p){if(!b(e,function(t,e){if(!P(p,e)&&(d===t||i(d,t,n,r,o)))return p.push(e)})){f=!1;break}}else if(d!==h&&!i(d,h,n,r,o)){f=!1;break}}return o.delete(t),o.delete(e),f}function lo(t,e,n,r,i,o,a){switch(n){case ue:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case se:return!(t.byteLength!=e.byteLength||!o(new wl(t),new wl(e)));case Ut:case Wt:case Qt:return Hs(+t,+e);case Vt:return t.name==e.name&&t.message==e.message;case te:case ne:return t==e+"";case Jt:var s=V;case ee:var u=r&ht;if(s||(s=J),t.size!=e.size&&!u)return!1;var c=a.get(t);if(c)return c==e;r|=vt,a.set(t,e);var l=co(s(t),s(e),r,i,o,a);return a.delete(t),l;case re:if(uf)return uf.call(t)==uf.call(e)}return!1}function fo(t,e,n,r,i,o){var a=n&ht,s=ho(t),u=s.length;if(u!=ho(e).length&&!a)return!1;for(var c=u;c--;){var l=s[c];if(!(a?l in e:pl.call(e,l)))return!1}var f=o.get(t);if(f&&o.get(e))return f==e;var p=!0;o.set(t,e),o.set(e,t);for(var d=a;++c<u;){l=s[c];var h=t[l],v=e[l];if(r)var g=a?r(v,h,l,e,t,o):r(h,v,l,t,e,o);if(!(g===it?h===v||i(h,v,n,r,o):g)){p=!1;break}d||(d="constructor"==l)}if(p&&!d){var m=t.constructor,y=e.constructor;m!=y&&"constructor"in t&&"constructor"in e&&!("function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y)&&(p=!1)}return o.delete(t),o.delete(e),p}function po(t){return Af(Uo(t,it,ca),t+"")}function ho(t){return dr(t,Ru,wf)}function vo(t){return dr(t,Pu,xf)}function go(t){for(var e=t.name+"",n=tf[e],r=pl.call(tf,e)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==t)return i.name}return e}function mo(t){return(pl.call(n,"placeholder")?n:t).placeholder}function yo(){var t=n.iteratee||Ac;return t=t===Ac?Dr:t,arguments.length?t(arguments[0],arguments[1]):t}function bo(t,e){var n=t.__data__;return Io(e)?n["string"==typeof e?"string":"hash"]:n.map}function _o(t){for(var e=Ru(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Fo(i)]}return e}function wo(t,e){var n=B(t,e);return Sr(n)?n:it}function xo(t){var e=pl.call(t,Sl),n=t[Sl];try{t[Sl]=it;var r=!0}catch(t){}var i=vl.call(t);return r&&(e?t[Sl]=n:delete t[Sl]),i}function Co(t,e,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=Bl(e,t+a);break;case"takeRight":t=Hl(t,e-a)}}return{start:t,end:e}}function To(t){var e=t.match(Le);return e?e[1].split(Re):[]}function $o(t,e,n){e=bi(e,t);for(var r=-1,i=e.length,o=!1;++r<i;){var a=Jo(e[r]);if(!(o=null!=t&&n(t,a)))break;t=t[a]}return o||++r!=i?o:!!(i=null==t?0:t.length)&&Ys(i)&&jo(a,i)&&(dp(t)||pp(t))}function ko(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&pl.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Ao(t){return"function"!=typeof t.constructor||Po(t)?{}:lf(Cl(t))}function Eo(t,e,n,r){var i=t.constructor;switch(e){case se:return xi(t);case Ut:case Wt:return new i(+t);case ue:return Ci(t,r);case ce:case le:case fe:case pe:case de:case he:case ve:case ge:case me:return Ei(t,r);case Jt:return Ti(t,r,n);case Qt:case ne:return new i(t);case te:return $i(t);case ee:return ki(t,r,n);case re:return Ai(t)}}function So(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ie,"{\n/* [wrapped with "+e+"] */\n")}function Oo(t){return dp(t)||pp(t)||!!(Al&&t&&t[Al])}function jo(t,e){return!!(e=null==e?Dt:e)&&("number"==typeof t||We.test(t))&&t>-1&&t%1==0&&t<e}function No(t,e,n){if(!tu(n))return!1;var r=typeof e;return!!("number"==r?Bs(n)&&jo(e,n.length):"string"==r&&e in n)&&Hs(n[e],t)}function Do(t,e){if(dp(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!pu(t))||(Ae.test(t)||!ke.test(t)||null!=e&&t in rl(e))}function Io(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Lo(t){var e=go(t),r=n[e];if("function"!=typeof r||!(e in _.prototype))return!1;if(t===r)return!0;var i=_f(r);return!!i&&t===i[0]}function Ro(t){return!!hl&&hl in t}function Po(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||cl)}function Fo(t){return t===t&&!tu(t)}function qo(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==it||t in rl(n)))}}function Mo(t,e){var n=t[1],r=e[1],i=n|r,o=i<(gt|mt|Ct),a=r==Ct&&n==bt||r==Ct&&n==Tt&&t[7].length<=e[8]||r==(Ct|Tt)&&e[7].length<=e[8]&&n==bt;if(!o&&!a)return t;r&gt&&(t[2]=e[2],i|=n&gt?0:yt);var s=e[3];if(s){var u=t[3];t[3]=u?ji(u,s,e[4]):s,t[4]=u?K(t[3],lt):e[4]}return s=e[5],s&&(u=t[5],t[5]=u?Ni(u,s,e[6]):s,t[6]=u?K(t[5],lt):e[6]),s=e[7],s&&(t[7]=s),r&Ct&&(t[8]=null==t[8]?e[8]:Bl(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function Ho(t){var e=[];if(null!=t)for(var n in rl(t))e.push(n);return e}function Bo(t){return vl.call(t)}function Uo(t,e,n){return e=Hl(e===it?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Hl(r.length-e,0),a=Zc(o);++i<o;)a[i]=r[e+i];i=-1;for(var u=Zc(e+1);++i<e;)u[i]=r[i];return u[e]=n(a),s(t,this,u)}}function Wo(t,e){return e.length<2?t:pr(t,ri(e,0,-1))}function zo(t,e){for(var n=t.length,r=Bl(e.length,n),i=Di(t);r--;){var o=e[r];t[r]=jo(o,n)?i[o]:it}return t}function Vo(t,e,n){var r=e+"";return Af(t,So(r,Go(To(r),n)))}function Xo(t){var e=0,n=0;return function(){var r=Ul(),i=St-(r-n);if(n=r,i>0){if(++e>=Et)return arguments[0]}else e=0;return t.apply(it,arguments)}}function Ko(t,e){var n=-1,r=t.length,i=r-1;for(e=e===it?r:e;++n<e;){var o=Jr(n,i),a=t[o];t[o]=t[n],t[n]=a}return t.length=e,t}function Jo(t){if("string"==typeof t||pu(t))return t;var e=t+"";return"0"==e&&1/t==-Nt?"-0":e}function Qo(t){if(null!=t){try{return fl.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Go(t,e){return c(qt,function(n){var r="_."+n[0];e&n[1]&&!d(t,r)&&t.push(r)}),t.sort()}function Zo(t){if(t instanceof _)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=Di(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function Yo(t,e,n){e=(n?No(t,e,n):e===it)?1:Hl(yu(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var i=0,o=0,a=Zc(Il(r/e));i<r;)a[o++]=ri(t,i,i+=e);return a}function ta(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var o=t[e];o&&(i[r++]=o)}return i}function ea(){var t=arguments.length;if(!t)return[];for(var e=Zc(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return g(dp(n)?Di(n):[n],ur(e,1))}function na(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),ri(t,e<0?0:e,r)):[]}function ra(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),e=r-e,ri(t,0,e<0?0:e)):[]}function ia(t,e){return t&&t.length?di(t,yo(e,3),!0,!0):[]}function oa(t,e){return t&&t.length?di(t,yo(e,3),!0):[]}function aa(t,e,n,r){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&No(t,e,n)&&(n=0,r=i),ar(t,e,n,r)):[]}function sa(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:yu(n);return i<0&&(i=Hl(r+i,0)),C(t,yo(e,3),i)}function ua(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==it&&(i=yu(n),i=n<0?Hl(r+i,0):Bl(i,r-1)),C(t,yo(e,3),i,!0)}function ca(t){return(null==t?0:t.length)?ur(t,1):[]}function la(t){return(null==t?0:t.length)?ur(t,Nt):[]}function fa(t,e){return(null==t?0:t.length)?(e=e===it?1:yu(e),ur(t,e)):[]}function pa(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function da(t){return t&&t.length?t[0]:it}function ha(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:yu(n);return i<0&&(i=Hl(r+i,0)),T(t,e,i)}function va(t){return(null==t?0:t.length)?ri(t,0,-1):[]}function ga(t,e){return null==t?"":ql.call(t,e)}function ma(t){var e=null==t?0:t.length;return e?t[e-1]:it}function ya(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==it&&(i=yu(n),i=i<0?Hl(r+i,0):Bl(i,r-1)),e===e?Z(t,e,i):C(t,k,i,!0)}function ba(t,e){return t&&t.length?Br(t,yu(e)):it}function _a(t,e){return t&&t.length&&e&&e.length?Xr(t,e):t}function wa(t,e,n){return t&&t.length&&e&&e.length?Xr(t,e,yo(n,2)):t}function xa(t,e,n){return t&&t.length&&e&&e.length?Xr(t,e,it,n):t}function Ca(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=yo(e,3);++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return Kr(t,i),n}function Ta(t){return null==t?t:Vl.call(t)}function $a(t,e,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&No(t,e,n)?(e=0,n=r):(e=null==e?0:yu(e),n=n===it?r:yu(n)),ri(t,e,n)):[]}function ka(t,e){return oi(t,e)}function Aa(t,e,n){return ai(t,e,yo(n,2))}function Ea(t,e){var n=null==t?0:t.length;if(n){var r=oi(t,e);if(r<n&&Hs(t[r],e))return r}return-1}function Sa(t,e){return oi(t,e,!0)}function Oa(t,e,n){return ai(t,e,yo(n,2),!0)}function ja(t,e){if(null==t?0:t.length){var n=oi(t,e,!0)-1;if(Hs(t[n],e))return n}return-1}function Na(t){return t&&t.length?si(t):[]}function Da(t,e){return t&&t.length?si(t,yo(e,2)):[]}function Ia(t){var e=null==t?0:t.length;return e?ri(t,1,e):[]}function La(t,e,n){return t&&t.length?(e=n||e===it?1:yu(e),ri(t,0,e<0?0:e)):[]}function Ra(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),e=r-e,ri(t,e<0?0:e,r)):[]}function Pa(t,e){return t&&t.length?di(t,yo(e,3),!1,!0):[]}function Fa(t,e){return t&&t.length?di(t,yo(e,3)):[]}function qa(t){return t&&t.length?li(t):[]}function Ma(t,e){return t&&t.length?li(t,yo(e,2)):[]}function Ha(t,e){return e="function"==typeof e?e:it,t&&t.length?li(t,it,e):[]}function Ba(t){if(!t||!t.length)return[];var e=0;return t=p(t,function(t){if(Us(t))return e=Hl(t.length,e),!0}),D(e,function(e){return v(t,E(e))})}function Ua(t,e){if(!t||!t.length)return[];var n=Ba(t);return null==e?n:v(n,function(t){return s(e,it,t)})}function Wa(t,e){return gi(t||[],e||[],Hn)}function za(t,e){return gi(t||[],e||[],ei)}function Va(t){var e=n(t);return e.__chain__=!0,e}function Xa(t,e){return e(t),t}function Ka(t,e){return e(t)}function Ja(){return Va(this)}function Qa(){return new i(this.value(),this.__chain__)}function Ga(){this.__values__===it&&(this.__values__=gu(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?it:this.__values__[this.__index__++]}}function Za(){return this}function Ya(t){for(var e,n=this;n instanceof r;){var i=Zo(n);i.__index__=0,i.__values__=it,e?o.__wrapped__=i:e=i;var o=i;n=n.__wrapped__}return o.__wrapped__=t,e}function ts(){var t=this.__wrapped__;if(t instanceof _){var e=t;return this.__actions__.length&&(e=new _(this)),e=e.reverse(),e.__actions__.push({func:Ka,args:[Ta],thisArg:it}),new i(e,this.__chain__)}return this.thru(Ta)}function es(){return hi(this.__wrapped__,this.__actions__)}function ns(t,e,n){var r=dp(t)?f:ir;return n&&No(t,e,n)&&(e=it),r(t,yo(e,3))}function rs(t,e){return(dp(t)?p:sr)(t,yo(e,3))}function is(t,e){return ur(ls(t,e),1)}function os(t,e){return ur(ls(t,e),Nt)}function as(t,e,n){return n=n===it?1:yu(n),ur(ls(t,e),n)}function ss(t,e){return(dp(t)?c:ff)(t,yo(e,3))}function us(t,e){return(dp(t)?l:pf)(t,yo(e,3))}function cs(t,e,n,r){t=Bs(t)?t:Ju(t),n=n&&!r?yu(n):0;var i=t.length;return n<0&&(n=Hl(i+n,0)),fu(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&T(t,e,n)>-1}function ls(t,e){return(dp(t)?v:Pr)(t,yo(e,3))}function fs(t,e,n,r){return null==t?[]:(dp(e)||(e=null==e?[]:[e]),n=r?it:n,dp(n)||(n=null==n?[]:[n]),Ur(t,e,n))}function ps(t,e,n){var r=dp(t)?m:O,i=arguments.length<3;return r(t,yo(e,4),n,i,ff)}function ds(t,e,n){var r=dp(t)?y:O,i=arguments.length<3;return r(t,yo(e,4),n,i,pf)}function hs(t,e){return(dp(t)?p:sr)(t,Es(yo(e,3)))}function vs(t){return(dp(t)?On:Yr)(t)}function gs(t,e,n){return e=(n?No(t,e,n):e===it)?1:yu(e),(dp(t)?jn:ti)(t,e)}function ms(t){return(dp(t)?Dn:ni)(t)}function ys(t){if(null==t)return 0;if(Bs(t))return fu(t)?Y(t):t.length;var e=Cf(t);return e==Jt||e==ee?t.size:Ir(t).length}function bs(t,e,n){var r=dp(t)?b:ii;return n&&No(t,e,n)&&(e=it),r(t,yo(e,3))}function _s(t,e){if("function"!=typeof e)throw new al(st);return t=yu(t),function(){if(--t<1)return e.apply(this,arguments)}}function ws(t,e,n){return e=n?it:e,e=t&&null==e?t.length:e,oo(t,Ct,it,it,it,it,e)}function xs(t,e){var n;if("function"!=typeof e)throw new al(st);return t=yu(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=it),n}}function Cs(t,e,n){e=n?it:e;var r=oo(t,bt,it,it,it,it,it,e);return r.placeholder=Cs.placeholder,r}function Ts(t,e,n){e=n?it:e;var r=oo(t,_t,it,it,it,it,it,e);return r.placeholder=Ts.placeholder,r}function $s(t,e,n){function r(e){var n=p,r=d;return p=d=it,y=e,v=t.apply(r,n)}function i(t){return y=t,g=kf(s,e),b?r(t):v}function o(t){var n=t-m,r=t-y,i=e-n;return _?Bl(i,h-r):i}function a(t){var n=t-m,r=t-y;return m===it||n>=e||n<0||_&&r>=h}function s(){var t=ep();if(a(t))return u(t);g=kf(s,o(t))}function u(t){return g=it,w&&p?r(t):(p=d=it,v)}function c(){g!==it&&yf(g),y=0,p=m=d=g=it}function l(){return g===it?v:u(ep())}function f(){var t=ep(),n=a(t);if(p=arguments,d=this,m=t,n){if(g===it)return i(m);if(_)return g=kf(s,e),r(m)}return g===it&&(g=kf(s,e)),v}var p,d,h,v,g,m,y=0,b=!1,_=!1,w=!0;if("function"!=typeof t)throw new al(st);return e=_u(e)||0,tu(n)&&(b=!!n.leading,_="maxWait"in n,h=_?Hl(_u(n.maxWait)||0,e):h,w="trailing"in n?!!n.trailing:w),f.cancel=c,f.flush=l,f}function ks(t){return oo(t,$t)}function As(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new al(st);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||on),n}function Es(t){if("function"!=typeof t)throw new al(st);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Ss(t){return xs(2,t)}function Os(t,e){if("function"!=typeof t)throw new al(st);return e=e===it?e:yu(e),Zr(t,e)}function js(t,e){if("function"!=typeof t)throw new al(st);return e=null==e?0:Hl(yu(e),0),Zr(function(n){var r=n[e],i=_i(n,0,e);return r&&g(i,r),s(t,this,i)})}function Ns(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new al(st);return tu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),$s(t,e,{leading:r,maxWait:e,trailing:i})}function Ds(t){return ws(t,1)}function Is(t,e){return sp(yi(e),t)}function Ls(){if(!arguments.length)return[];var t=arguments[0];return dp(t)?t:[t]}function Rs(t){return Yn(t,dt)}function Ps(t,e){return e="function"==typeof e?e:it,Yn(t,dt,e)}function Fs(t){return Yn(t,ft|dt)}function qs(t,e){return e="function"==typeof e?e:it,Yn(t,ft|dt,e)}function Ms(t,e){return null==e||er(t,e,Ru(e))}function Hs(t,e){return t===e||t!==t&&e!==e}function Bs(t){return null!=t&&Ys(t.length)&&!Gs(t)}function Us(t){return eu(t)&&Bs(t)}function Ws(t){return!0===t||!1===t||eu(t)&&hr(t)==Ut}function zs(t){return eu(t)&&1===t.nodeType&&!cu(t)}function Vs(t){if(null==t)return!0;if(Bs(t)&&(dp(t)||"string"==typeof t||"function"==typeof t.splice||vp(t)||_p(t)||pp(t)))return!t.length;var e=Cf(t);if(e==Jt||e==ee)return!t.size;if(Po(t))return!Ir(t).length;for(var n in t)if(pl.call(t,n))return!1;return!0}function Xs(t,e){return $r(t,e)}function Ks(t,e,n){n="function"==typeof n?n:it;var r=n?n(t,e):it;return r===it?$r(t,e,it,n):!!r}function Js(t){if(!eu(t))return!1;var e=hr(t);return e==Vt||e==zt||"string"==typeof t.message&&"string"==typeof t.name&&!cu(t)}function Qs(t){return"number"==typeof t&&Fl(t)}function Gs(t){if(!tu(t))return!1;var e=hr(t);return e==Xt||e==Kt||e==Bt||e==Yt}function Zs(t){return"number"==typeof t&&t==yu(t)}function Ys(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Dt}function tu(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function eu(t){return null!=t&&"object"==typeof t}function nu(t,e){return t===e||Er(t,e,_o(e))}function ru(t,e,n){return n="function"==typeof n?n:it,Er(t,e,_o(e),n)}function iu(t){return uu(t)&&t!=+t}function ou(t){if(Tf(t))throw new tl(at);return Sr(t)}function au(t){return null===t}function su(t){return null==t}function uu(t){return"number"==typeof t||eu(t)&&hr(t)==Qt}function cu(t){if(!eu(t)||hr(t)!=Zt)return!1;var e=Cl(t);if(null===e)return!0;var n=pl.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&fl.call(n)==gl}function lu(t){return Zs(t)&&t>=-Dt&&t<=Dt}function fu(t){return"string"==typeof t||!dp(t)&&eu(t)&&hr(t)==ne}function pu(t){return"symbol"==typeof t||eu(t)&&hr(t)==re}function du(t){return t===it}function hu(t){return eu(t)&&Cf(t)==oe}function vu(t){return eu(t)&&hr(t)==ae}function gu(t){if(!t)return[];if(Bs(t))return fu(t)?tt(t):Di(t);if(El&&t[El])return z(t[El]());var e=Cf(t);return(e==Jt?V:e==ee?J:Ju)(t)}function mu(t){if(!t)return 0===t?t:0;if((t=_u(t))===Nt||t===-Nt){return(t<0?-1:1)*It}return t===t?t:0}function yu(t){var e=mu(t),n=e%1;return e===e?n?e-n:e:0}function bu(t){return t?Zn(yu(t),0,Rt):0}function _u(t){if("number"==typeof t)return t;if(pu(t))return Lt;if(tu(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=tu(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(je,"");var n=He.test(t);return n||Ue.test(t)?kn(t.slice(2),n?2:8):Me.test(t)?Lt:+t}function wu(t){return Ii(t,Pu(t))}function xu(t){return t?Zn(yu(t),-Dt,Dt):0===t?t:0}function Cu(t){return null==t?"":ci(t)}function Tu(t,e){var n=lf(t);return null==e?n:Kn(n,e)}function $u(t,e){return x(t,yo(e,3),cr)}function ku(t,e){return x(t,yo(e,3),lr)}function Au(t,e){return null==t?t:df(t,yo(e,3),Pu)}function Eu(t,e){return null==t?t:hf(t,yo(e,3),Pu)}function Su(t,e){return t&&cr(t,yo(e,3))}function Ou(t,e){return t&&lr(t,yo(e,3))}function ju(t){return null==t?[]:fr(t,Ru(t))}function Nu(t){return null==t?[]:fr(t,Pu(t))}function Du(t,e,n){var r=null==t?it:pr(t,e);return r===it?n:r}function Iu(t,e){return null!=t&&$o(t,e,gr)}function Lu(t,e){return null!=t&&$o(t,e,mr)}function Ru(t){return Bs(t)?En(t):Ir(t)}function Pu(t){return Bs(t)?En(t,!0):Lr(t)}function Fu(t,e){var n={};return e=yo(e,3),cr(t,function(t,r,i){Qn(n,e(t,r,i),t)}),n}function qu(t,e){var n={};return e=yo(e,3),cr(t,function(t,r,i){Qn(n,r,e(t,r,i))}),n}function Mu(t,e){return Hu(t,Es(yo(e)))}function Hu(t,e){if(null==t)return{};var n=v(vo(t),function(t){return[t]});return e=yo(e),zr(t,n,function(t,n){return e(t,n[0])})}function Bu(t,e,n){e=bi(e,t);var r=-1,i=e.length;for(i||(i=1,t=it);++r<i;){var o=null==t?it:t[Jo(e[r])];o===it&&(r=i,o=n),t=Gs(o)?o.call(t):o}return t}function Uu(t,e,n){return null==t?t:ei(t,e,n)}function Wu(t,e,n,r){return r="function"==typeof r?r:it,null==t?t:ei(t,e,n,r)}function zu(t,e,n){var r=dp(t),i=r||vp(t)||_p(t);if(e=yo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:tu(t)&&Gs(o)?lf(Cl(t)):{}}return(i?c:cr)(t,function(t,r,i){return e(n,t,r,i)}),n}function Vu(t,e){return null==t||fi(t,e)}function Xu(t,e,n){return null==t?t:pi(t,e,yi(n))}function Ku(t,e,n,r){return r="function"==typeof r?r:it,null==t?t:pi(t,e,yi(n),r)}function Ju(t){return null==t?[]:R(t,Ru(t))}function Qu(t){return null==t?[]:R(t,Pu(t))}function Gu(t,e,n){return n===it&&(n=e,e=it),n!==it&&(n=_u(n),n=n===n?n:0),e!==it&&(e=_u(e),e=e===e?e:0),Zn(_u(t),e,n)}function Zu(t,e,n){return e=mu(e),n===it?(n=e,e=0):n=mu(n),t=_u(t),yr(t,e,n)}function Yu(t,e,n){if(n&&"boolean"!=typeof n&&No(t,e,n)&&(e=n=it),n===it&&("boolean"==typeof e?(n=e,e=it):"boolean"==typeof t&&(n=t,t=it)),t===it&&e===it?(t=0,e=1):(t=mu(t),e===it?(e=t,t=0):e=mu(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=zl();return Bl(t+i*(e-t+$n("1e-"+((i+"").length-1))),e)}return Jr(t,e)}function tc(t){return Vp(Cu(t).toLowerCase())}function ec(t){return(t=Cu(t))&&t.replace(ze,Bn).replace(pn,"")}function nc(t,e,n){t=Cu(t),e=ci(e);var r=t.length;n=n===it?r:Zn(yu(n),0,r);var i=n;return(n-=e.length)>=0&&t.slice(n,i)==e}function rc(t){return t=Cu(t),t&&Te.test(t)?t.replace(xe,Un):t}function ic(t){return t=Cu(t),t&&Oe.test(t)?t.replace(Se,"\\$&"):t}function oc(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Zi(Ll(i),n)+t+Zi(Il(i),n)}function ac(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;return e&&r<e?t+Zi(e-r,n):t}function sc(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;return e&&r<e?Zi(e-r,n)+t:t}function uc(t,e,n){return n||null==e?e=0:e&&(e=+e),Wl(Cu(t).replace(Ne,""),e||0)}function cc(t,e,n){return e=(n?No(t,e,n):e===it)?1:yu(e),Gr(Cu(t),e)}function lc(){var t=arguments,e=Cu(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function fc(t,e,n){return n&&"number"!=typeof n&&No(t,e,n)&&(e=n=it),(n=n===it?Rt:n>>>0)?(t=Cu(t),t&&("string"==typeof e||null!=e&&!yp(e))&&!(e=ci(e))&&U(t)?_i(tt(t),0,n):t.split(e,n)):[]}function pc(t,e,n){return t=Cu(t),n=null==n?0:Zn(yu(n),0,t.length),e=ci(e),t.slice(n,n+e.length)==e}function dc(t,e,r){var i=n.templateSettings;r&&No(t,e,r)&&(e=it),t=Cu(t),e=$p({},e,i,ao);var o,a,s=$p({},e.imports,i.imports,ao),u=Ru(s),c=R(s,u),l=0,f=e.interpolate||Ve,p="__p += '",d=il((e.escape||Ve).source+"|"+f.source+"|"+(f===$e?Fe:Ve).source+"|"+(e.evaluate||Ve).source+"|$","g"),h="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++yn+"]")+"\n";t.replace(d,function(e,n,r,i,s,u){return r||(r=i),p+=t.slice(l,u).replace(Xe,H),n&&(o=!0,p+="' +\n__e("+n+") +\n'"),s&&(a=!0,p+="';\n"+s+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=u+e.length,e}),p+="';\n";var v=e.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(ye,""):p).replace(be,"$1").replace(_e,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=Xp(function(){return el(u,h+"return "+p).apply(it,c)});if(g.source=p,Js(g))throw g;return g}function hc(t){return Cu(t).toLowerCase()}function vc(t){return Cu(t).toUpperCase()}function gc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(je,"");if(!t||!(e=ci(e)))return t;var r=tt(t),i=tt(e);return _i(r,F(r,i),q(r,i)+1).join("")}function mc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(De,"");if(!t||!(e=ci(e)))return t;var r=tt(t);return _i(r,0,q(r,tt(e))+1).join("")}function yc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(Ne,"");if(!t||!(e=ci(e)))return t;var r=tt(t);return _i(r,F(r,tt(e))).join("")}function bc(t,e){var n=kt,r=At;if(tu(e)){var i="separator"in e?e.separator:i;n="length"in e?yu(e.length):n,r="omission"in e?ci(e.omission):r}t=Cu(t);var o=t.length;if(U(t)){var a=tt(t);o=a.length}if(n>=o)return t;var s=n-Y(r);if(s<1)return r;var u=a?_i(a,0,s).join(""):t.slice(0,s);if(i===it)return u+r;if(a&&(s+=u.length-s),yp(i)){if(t.slice(s).search(i)){var c,l=u;for(i.global||(i=il(i.source,Cu(qe.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var f=c.index;u=u.slice(0,f===it?s:f)}}else if(t.indexOf(ci(i),s)!=s){var p=u.lastIndexOf(i);p>-1&&(u=u.slice(0,p))}return u+r}function _c(t){return t=Cu(t),t&&Ce.test(t)?t.replace(we,Wn):t}function wc(t,e,n){return t=Cu(t),e=n?it:e,e===it?W(t)?rt(t):w(t):t.match(e)||[]}function xc(t){var e=null==t?0:t.length,n=yo();return t=e?v(t,function(t){if("function"!=typeof t[1])throw new al(st);return[n(t[0]),t[1]]}):[],Zr(function(n){for(var r=-1;++r<e;){var i=t[r];if(s(i[0],this,n))return s(i[1],this,n)}})}function Cc(t){return tr(Yn(t,ft))}function Tc(t){return function(){return t}}function $c(t,e){return null==t||t!==t?e:t}function kc(t){return t}function Ac(t){return Dr("function"==typeof t?t:Yn(t,ft))}function Ec(t){return Fr(Yn(t,ft))}function Sc(t,e){return qr(t,Yn(e,ft))}function Oc(t,e,n){var r=Ru(e),i=fr(e,r);null!=n||tu(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=fr(e,Ru(e)));var o=!(tu(n)&&"chain"in n&&!n.chain),a=Gs(t);return c(i,function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Di(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,g([this.value()],arguments))})}),t}function jc(){return Sn._===this&&(Sn._=ml),this}function Nc(){}function Dc(t){return t=yu(t),Zr(function(e){return Br(e,t)})}function Ic(t){return Do(t)?E(Jo(t)):Vr(t)}function Lc(t){return function(e){return null==t?it:pr(t,e)}}function Rc(){return[]}function Pc(){return!1}function Fc(){return{}}function qc(){return""}function Mc(){return!0}function Hc(t,e){if((t=yu(t))<1||t>Dt)return[];var n=Rt,r=Bl(t,Rt);e=yo(e),t-=Rt;for(var i=D(r,e);++n<t;)e(n);return i}function Bc(t){return dp(t)?v(t,Jo):pu(t)?[t]:Di(Ef(Cu(t)))}function Uc(t){var e=++dl;return Cu(t)+e}function Wc(t){return t&&t.length?or(t,kc,vr):it}function zc(t,e){return t&&t.length?or(t,yo(e,2),vr):it}function Vc(t){return A(t,kc)}function Xc(t,e){return A(t,yo(e,2))}function Kc(t){return t&&t.length?or(t,kc,Rr):it}function Jc(t,e){return t&&t.length?or(t,yo(e,2),Rr):it}function Qc(t){return t&&t.length?N(t,kc):0}function Gc(t,e){return t&&t.length?N(t,yo(e,2)):0}e=null==e?Sn:zn.defaults(Sn.Object(),e,zn.pick(Sn,mn));var Zc=e.Array,Yc=e.Date,tl=e.Error,el=e.Function,nl=e.Math,rl=e.Object,il=e.RegExp,ol=e.String,al=e.TypeError,sl=Zc.prototype,ul=el.prototype,cl=rl.prototype,ll=e["__core-js_shared__"],fl=ul.toString,pl=cl.hasOwnProperty,dl=0,hl=function(){var t=/[^.]+$/.exec(ll&&ll.keys&&ll.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),vl=cl.toString,gl=fl.call(rl),ml=Sn._,yl=il("^"+fl.call(pl).replace(Se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bl=Nn?e.Buffer:it,_l=e.Symbol,wl=e.Uint8Array,xl=bl?bl.allocUnsafe:it,Cl=X(rl.getPrototypeOf,rl),Tl=rl.create,$l=cl.propertyIsEnumerable,kl=sl.splice,Al=_l?_l.isConcatSpreadable:it,El=_l?_l.iterator:it,Sl=_l?_l.toStringTag:it,Ol=function(){try{var t=wo(rl,"defineProperty");return t({},"",{}),t}catch(t){}}(),jl=e.clearTimeout!==Sn.clearTimeout&&e.clearTimeout,Nl=Yc&&Yc.now!==Sn.Date.now&&Yc.now,Dl=e.setTimeout!==Sn.setTimeout&&e.setTimeout,Il=nl.ceil,Ll=nl.floor,Rl=rl.getOwnPropertySymbols,Pl=bl?bl.isBuffer:it,Fl=e.isFinite,ql=sl.join,Ml=X(rl.keys,rl),Hl=nl.max,Bl=nl.min,Ul=Yc.now,Wl=e.parseInt,zl=nl.random,Vl=sl.reverse,Xl=wo(e,"DataView"),Kl=wo(e,"Map"),Jl=wo(e,"Promise"),Ql=wo(e,"Set"),Gl=wo(e,"WeakMap"),Zl=wo(rl,"create"),Yl=Gl&&new Gl,tf={},ef=Qo(Xl),nf=Qo(Kl),rf=Qo(Jl),of=Qo(Ql),af=Qo(Gl),sf=_l?_l.prototype:it,uf=sf?sf.valueOf:it,cf=sf?sf.toString:it,lf=function(){function t(){}return function(e){if(!tu(e))return{};if(Tl)return Tl(e);t.prototype=e;var n=new t;return t.prototype=it,n}}();n.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:$e,variable:"",imports:{_:n}},n.prototype=r.prototype,n.prototype.constructor=n,i.prototype=lf(r.prototype),i.prototype.constructor=i,_.prototype=lf(r.prototype),_.prototype.constructor=_,nt.prototype.clear=Pe,nt.prototype.delete=Ke,nt.prototype.get=Je,nt.prototype.has=Qe,nt.prototype.set=Ge,Ze.prototype.clear=Ye,Ze.prototype.delete=tn,Ze.prototype.get=en,Ze.prototype.has=nn,Ze.prototype.set=rn,on.prototype.clear=an,on.prototype.delete=sn,on.prototype.get=un,on.prototype.has=cn,on.prototype.set=ln,dn.prototype.add=dn.prototype.push=hn,dn.prototype.has=vn,gn.prototype.clear=wn,gn.prototype.delete=xn,gn.prototype.get=Cn,gn.prototype.has=Tn,gn.prototype.set=An;var ff=qi(cr),pf=qi(lr,!0),df=Mi(),hf=Mi(!0),vf=Yl?function(t,e){return Yl.set(t,e),t}:kc,gf=Ol?function(t,e){return Ol(t,"toString",{configurable:!0,enumerable:!1,value:Tc(e),writable:!0})}:kc,mf=Zr,yf=jl||function(t){return Sn.clearTimeout(t)},bf=Ql&&1/J(new Ql([,-0]))[1]==Nt?function(t){return new Ql(t)}:Nc,_f=Yl?function(t){return Yl.get(t)}:Nc,wf=Rl?function(t){return null==t?[]:(t=rl(t),p(Rl(t),function(e){return $l.call(t,e)}))}:Rc,xf=Rl?function(t){for(var e=[];t;)g(e,wf(t)),t=Cl(t);return e}:Rc,Cf=hr;(Xl&&Cf(new Xl(new ArrayBuffer(1)))!=ue||Kl&&Cf(new Kl)!=Jt||Jl&&"[object Promise]"!=Cf(Jl.resolve())||Ql&&Cf(new Ql)!=ee||Gl&&Cf(new Gl)!=oe)&&(Cf=function(t){var e=hr(t),n=e==Zt?t.constructor:it,r=n?Qo(n):"";if(r)switch(r){case ef:return ue;case nf:return Jt;case rf:return"[object Promise]";case of:return ee;case af:return oe}return e});var Tf=ll?Gs:Pc,$f=Xo(vf),kf=Dl||function(t,e){return Sn.setTimeout(t,e)},Af=Xo(gf),Ef=function(t){var e=As(t,function(t){return n.size===ct&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return Ee.test(t)&&e.push(""),t.replace(/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,function(t,n,r,i){e.push(r?i.replace(/\\(\\)?/g,"$1"):n||t)}),e}),Sf=Zr(function(t,e){return Us(t)?rr(t,ur(e,1,Us,!0)):[]}),Of=Zr(function(t,e){var n=ma(e);return Us(n)&&(n=it),Us(t)?rr(t,ur(e,1,Us,!0),yo(n,2)):[]}),jf=Zr(function(t,e){var n=ma(e);return Us(n)&&(n=it),Us(t)?rr(t,ur(e,1,Us,!0),it,n):[]}),Nf=Zr(function(t){var e=v(t,mi);return e.length&&e[0]===t[0]?br(e):[]}),Df=Zr(function(t){var e=ma(t),n=v(t,mi);return e===ma(n)?e=it:n.pop(),n.length&&n[0]===t[0]?br(n,yo(e,2)):[]}),If=Zr(function(t){var e=ma(t),n=v(t,mi);return e="function"==typeof e?e:it,e&&n.pop(),n.length&&n[0]===t[0]?br(n,it,e):[]}),Lf=Zr(_a),Rf=po(function(t,e){var n=null==t?0:t.length,r=Gn(t,e);return Kr(t,v(e,function(t){return jo(t,n)?+t:t}).sort(Si)),r}),Pf=Zr(function(t){return li(ur(t,1,Us,!0))}),Ff=Zr(function(t){var e=ma(t);return Us(e)&&(e=it),li(ur(t,1,Us,!0),yo(e,2))}),qf=Zr(function(t){var e=ma(t);return e="function"==typeof e?e:it,li(ur(t,1,Us,!0),it,e)}),Mf=Zr(function(t,e){return Us(t)?rr(t,e):[]}),Hf=Zr(function(t){return vi(p(t,Us))}),Bf=Zr(function(t){var e=ma(t);return Us(e)&&(e=it),vi(p(t,Us),yo(e,2))}),Uf=Zr(function(t){var e=ma(t);return e="function"==typeof e?e:it,vi(p(t,Us),it,e)}),Wf=Zr(Ba),zf=Zr(function(t){var e=t.length,n=e>1?t[e-1]:it;return n="function"==typeof n?(t.pop(),n):it,Ua(t,n)}),Vf=po(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return Gn(e,t)};return!(e>1||this.__actions__.length)&&r instanceof _&&jo(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Ka,args:[o],thisArg:it}),new i(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(it),t})):this.thru(o)}),Xf=Pi(function(t,e,n){pl.call(t,n)?++t[n]:Qn(t,n,1)}),Kf=Vi(sa),Jf=Vi(ua),Qf=Pi(function(t,e,n){pl.call(t,n)?t[n].push(e):Qn(t,n,[e])}),Gf=Zr(function(t,e,n){var r=-1,i="function"==typeof e,o=Bs(t)?Zc(t.length):[];return ff(t,function(t){o[++r]=i?s(e,t,n):wr(t,e,n)}),o}),Zf=Pi(function(t,e,n){Qn(t,n,e)}),Yf=Pi(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),tp=Zr(function(t,e){if(null==t)return[];var n=e.length;return n>1&&No(t,e[0],e[1])?e=[]:n>2&&No(e[0],e[1],e[2])&&(e=[e[0]]),Ur(t,ur(e,1),[])}),ep=Nl||function(){return Sn.Date.now()},np=Zr(function(t,e,n){var r=gt;if(n.length){var i=K(n,mo(np));r|=wt}return oo(t,r,e,n,i)}),rp=Zr(function(t,e,n){var r=gt|mt;if(n.length){var i=K(n,mo(rp));r|=wt}return oo(e,r,t,n,i)}),ip=Zr(function(t,e){return nr(t,1,e)}),op=Zr(function(t,e,n){return nr(t,_u(e)||0,n)});As.Cache=on;var ap=mf(function(t,e){e=1==e.length&&dp(e[0])?v(e[0],L(yo())):v(ur(e,1),L(yo()));var n=e.length;return Zr(function(r){for(var i=-1,o=Bl(r.length,n);++i<o;)r[i]=e[i].call(this,r[i]);return s(t,this,r)})}),sp=Zr(function(t,e){var n=K(e,mo(sp));return oo(t,wt,it,e,n)}),up=Zr(function(t,e){var n=K(e,mo(up));return oo(t,xt,it,e,n)}),cp=po(function(t,e){return oo(t,Tt,it,it,it,e)}),lp=eo(vr),fp=eo(function(t,e){return t>=e}),pp=xr(function(){return arguments}())?xr:function(t){return eu(t)&&pl.call(t,"callee")&&!$l.call(t,"callee")},dp=Zc.isArray,hp=Ln?L(Ln):Cr,vp=Pl||Pc,gp=Rn?L(Rn):Tr,mp=Pn?L(Pn):Ar,yp=Fn?L(Fn):Or,bp=qn?L(qn):jr,_p=Mn?L(Mn):Nr,wp=eo(Rr),xp=eo(function(t,e){return t<=e}),Cp=Fi(function(t,e){if(Po(e)||Bs(e))return void Ii(e,Ru(e),t);for(var n in e)pl.call(e,n)&&Hn(t,n,e[n])}),Tp=Fi(function(t,e){Ii(e,Pu(e),t)}),$p=Fi(function(t,e,n,r){Ii(e,Pu(e),t,r)}),kp=Fi(function(t,e,n,r){Ii(e,Ru(e),t,r)}),Ap=po(Gn),Ep=Zr(function(t){return t.push(it,ao),s($p,it,t)}),Sp=Zr(function(t){return t.push(it,so),s(Ip,it,t)}),Op=Ji(function(t,e,n){t[e]=n},Tc(kc)),jp=Ji(function(t,e,n){pl.call(t,e)?t[e].push(n):t[e]=[n]},yo),Np=Zr(wr),Dp=Fi(function(t,e,n){Mr(t,e,n)}),Ip=Fi(function(t,e,n,r){Mr(t,e,n,r)}),Lp=po(function(t,e){var n={};if(null==t)return n;var r=!1;e=v(e,function(e){return e=bi(e,t),r||(r=e.length>1),e}),Ii(t,vo(t),n),r&&(n=Yn(n,ft|pt|dt,uo));for(var i=e.length;i--;)fi(n,e[i]);return n}),Rp=po(function(t,e){return null==t?{}:Wr(t,e)}),Pp=io(Ru),Fp=io(Pu),qp=Ui(function(t,e,n){return e=e.toLowerCase(),t+(n?tc(e):e)}),Mp=Ui(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Hp=Ui(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Bp=Bi("toLowerCase"),Up=Ui(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wp=Ui(function(t,e,n){return t+(n?" ":"")+Vp(e)}),zp=Ui(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Vp=Bi("toUpperCase"),Xp=Zr(function(t,e){try{return s(t,it,e)}catch(t){return Js(t)?t:new tl(t)}}),Kp=po(function(t,e){return c(e,function(e){e=Jo(e),Qn(t,e,np(t[e],t))}),t}),Jp=Xi(),Qp=Xi(!0),Gp=Zr(function(t,e){return function(n){return wr(n,t,e)}}),Zp=Zr(function(t,e){return function(n){return wr(t,n,e)}}),Yp=Gi(v),td=Gi(f),ed=Gi(b),nd=to(),rd=to(!0),id=Qi(function(t,e){return t+e},0),od=ro("ceil"),ad=Qi(function(t,e){return t/e},1),sd=ro("floor"),ud=Qi(function(t,e){return t*e},1),cd=ro("round"),ld=Qi(function(t,e){return t-e},0);return n.after=_s,n.ary=ws,n.assign=Cp,n.assignIn=Tp,n.assignInWith=$p,n.assignWith=kp,n.at=Ap,n.before=xs,n.bind=np,n.bindAll=Kp,n.bindKey=rp,n.castArray=Ls,n.chain=Va,n.chunk=Yo,n.compact=ta,n.concat=ea,n.cond=xc,n.conforms=Cc,n.constant=Tc,n.countBy=Xf,n.create=Tu,n.curry=Cs,n.curryRight=Ts,n.debounce=$s,n.defaults=Ep,n.defaultsDeep=Sp,n.defer=ip,n.delay=op,n.difference=Sf,n.differenceBy=Of,n.differenceWith=jf,n.drop=na,n.dropRight=ra,n.dropRightWhile=ia,n.dropWhile=oa,n.fill=aa,n.filter=rs,n.flatMap=is,n.flatMapDeep=os,n.flatMapDepth=as,n.flatten=ca,n.flattenDeep=la,n.flattenDepth=fa,n.flip=ks,n.flow=Jp,n.flowRight=Qp,n.fromPairs=pa,n.functions=ju,n.functionsIn=Nu,n.groupBy=Qf,n.initial=va,n.intersection=Nf,n.intersectionBy=Df,n.intersectionWith=If,n.invert=Op,n.invertBy=jp,n.invokeMap=Gf,n.iteratee=Ac,n.keyBy=Zf,n.keys=Ru,n.keysIn=Pu,n.map=ls,n.mapKeys=Fu,n.mapValues=qu,n.matches=Ec,n.matchesProperty=Sc,n.memoize=As,n.merge=Dp,n.mergeWith=Ip,n.method=Gp,n.methodOf=Zp,n.mixin=Oc,n.negate=Es,n.nthArg=Dc,n.omit=Lp,n.omitBy=Mu,n.once=Ss,n.orderBy=fs,n.over=Yp,n.overArgs=ap,n.overEvery=td,n.overSome=ed,n.partial=sp,n.partialRight=up,n.partition=Yf,n.pick=Rp,n.pickBy=Hu,n.property=Ic,n.propertyOf=Lc,n.pull=Lf,n.pullAll=_a,n.pullAllBy=wa,n.pullAllWith=xa,n.pullAt=Rf,n.range=nd,n.rangeRight=rd,n.rearg=cp,n.reject=hs,n.remove=Ca,n.rest=Os,n.reverse=Ta,n.sampleSize=gs,n.set=Uu,n.setWith=Wu,n.shuffle=ms,n.slice=$a,n.sortBy=tp,n.sortedUniq=Na,n.sortedUniqBy=Da,n.split=fc,n.spread=js,n.tail=Ia,n.take=La,n.takeRight=Ra,n.takeRightWhile=Pa,n.takeWhile=Fa,n.tap=Xa,n.throttle=Ns,n.thru=Ka,n.toArray=gu,n.toPairs=Pp,n.toPairsIn=Fp,n.toPath=Bc,n.toPlainObject=wu,n.transform=zu,n.unary=Ds,n.union=Pf,n.unionBy=Ff,n.unionWith=qf,n.uniq=qa,n.uniqBy=Ma,n.uniqWith=Ha,n.unset=Vu,n.unzip=Ba,n.unzipWith=Ua,n.update=Xu,n.updateWith=Ku,n.values=Ju,n.valuesIn=Qu,n.without=Mf,n.words=wc,n.wrap=Is,n.xor=Hf,n.xorBy=Bf,n.xorWith=Uf,n.zip=Wf,n.zipObject=Wa,n.zipObjectDeep=za,n.zipWith=zf,n.entries=Pp,n.entriesIn=Fp,n.extend=Tp,n.extendWith=$p,Oc(n,n),n.add=id,n.attempt=Xp,n.camelCase=qp,n.capitalize=tc,n.ceil=od,n.clamp=Gu,n.clone=Rs,n.cloneDeep=Fs,n.cloneDeepWith=qs,n.cloneWith=Ps,n.conformsTo=Ms,n.deburr=ec,n.defaultTo=$c,n.divide=ad,n.endsWith=nc,n.eq=Hs,n.escape=rc,n.escapeRegExp=ic,n.every=ns,n.find=Kf,n.findIndex=sa,n.findKey=$u,n.findLast=Jf,n.findLastIndex=ua,n.findLastKey=ku,n.floor=sd,n.forEach=ss,n.forEachRight=us,n.forIn=Au,n.forInRight=Eu,n.forOwn=Su,n.forOwnRight=Ou,n.get=Du,n.gt=lp,n.gte=fp,n.has=Iu,n.hasIn=Lu,n.head=da,n.identity=kc,n.includes=cs,n.indexOf=ha,n.inRange=Zu,n.invoke=Np,n.isArguments=pp,n.isArray=dp,n.isArrayBuffer=hp,n.isArrayLike=Bs,n.isArrayLikeObject=Us,n.isBoolean=Ws,n.isBuffer=vp,n.isDate=gp,n.isElement=zs,n.isEmpty=Vs,n.isEqual=Xs,n.isEqualWith=Ks,n.isError=Js,n.isFinite=Qs,n.isFunction=Gs,n.isInteger=Zs,n.isLength=Ys,n.isMap=mp,n.isMatch=nu,n.isMatchWith=ru,n.isNaN=iu,n.isNative=ou,n.isNil=su,n.isNull=au,n.isNumber=uu,n.isObject=tu,n.isObjectLike=eu,n.isPlainObject=cu,n.isRegExp=yp,n.isSafeInteger=lu,n.isSet=bp,n.isString=fu,n.isSymbol=pu,n.isTypedArray=_p,n.isUndefined=du,n.isWeakMap=hu,n.isWeakSet=vu,n.join=ga,n.kebabCase=Mp,n.last=ma,n.lastIndexOf=ya,n.lowerCase=Hp,n.lowerFirst=Bp,n.lt=wp,n.lte=xp,n.max=Wc,n.maxBy=zc,n.mean=Vc,n.meanBy=Xc,n.min=Kc,n.minBy=Jc,n.stubArray=Rc,n.stubFalse=Pc,n.stubObject=Fc,n.stubString=qc,n.stubTrue=Mc,n.multiply=ud,n.nth=ba,n.noConflict=jc,n.noop=Nc,n.now=ep,n.pad=oc,n.padEnd=ac,n.padStart=sc,n.parseInt=uc,n.random=Yu,n.reduce=ps,n.reduceRight=ds,n.repeat=cc,n.replace=lc,n.result=Bu,n.round=cd,n.runInContext=t,n.sample=vs,n.size=ys,n.snakeCase=Up,n.some=bs,n.sortedIndex=ka,n.sortedIndexBy=Aa,n.sortedIndexOf=Ea,n.sortedLastIndex=Sa,n.sortedLastIndexBy=Oa,n.sortedLastIndexOf=ja,n.startCase=Wp,n.startsWith=pc,n.subtract=ld,n.sum=Qc,n.sumBy=Gc,n.template=dc,n.times=Hc,n.toFinite=mu,n.toInteger=yu,n.toLength=bu,n.toLower=hc,n.toNumber=_u,n.toSafeInteger=xu,n.toString=Cu,n.toUpper=vc,n.trim=gc,n.trimEnd=mc,n.trimStart=yc,n.truncate=bc,n.unescape=_c,n.uniqueId=Uc,n.upperCase=zp,n.upperFirst=Vp,n.each=ss,n.eachRight=us,n.first=da,Oc(n,function(){var t={};return cr(n,function(e,r){pl.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION="4.17.4",c(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){n[t].placeholder=n}),c(["drop","take"],function(t,e){_.prototype[t]=function(n){n=n===it?1:Hl(yu(n),0);var r=this.__filtered__&&!e?new _(this):this.clone();return r.__filtered__?r.__takeCount__=Bl(n,r.__takeCount__):r.__views__.push({size:Bl(n,Rt),type:t+(r.__dir__<0?"Right":"")}),r},_.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),c(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==Ot||3==n;_.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:yo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),c(["head","last"],function(t,e){var n="take"+(e?"Right":"");_.prototype[t]=function(){return this[n](1).value()[0]}}),c(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");_.prototype[t]=function(){return this.__filtered__?new _(this):this[n](1)}}),_.prototype.compact=function(){return this.filter(kc)},_.prototype.find=function(t){return this.filter(t).head()},_.prototype.findLast=function(t){return this.reverse().find(t)},_.prototype.invokeMap=Zr(function(t,e){return"function"==typeof t?new _(this):this.map(function(n){return wr(n,t,e)})}),_.prototype.reject=function(t){return this.filter(Es(yo(t)))},_.prototype.slice=function(t,e){t=yu(t);var n=this;return n.__filtered__&&(t>0||e<0)?new _(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==it&&(e=yu(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},_.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},_.prototype.toArray=function(){return this.take(Rt)},cr(_.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),o=/^(?:head|last)$/.test(e),a=n[o?"take"+("last"==e?"Right":""):e],s=o||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,u=o?[1]:arguments,c=e instanceof _,l=u[0],f=c||dp(e),p=function(t){var e=a.apply(n,g([t],u));return o&&d?e[0]:e};f&&r&&"function"==typeof l&&1!=l.length&&(c=f=!1);var d=this.__chain__,h=!!this.__actions__.length,v=s&&!d,m=c&&!h;if(!s&&f){e=m?e:new _(this);var y=t.apply(e,u);return y.__actions__.push({func:Ka,args:[p],thisArg:it}),new i(y,d)}return v&&m?t.apply(this,u):(y=this.thru(p),v?o?y.value()[0]:y.value():y)})}),c(["pop","push","shift","sort","splice","unshift"],function(t){var e=sl[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(dp(n)?n:[],t)}return this[r](function(n){return e.apply(dp(n)?n:[],t)})}}),cr(_.prototype,function(t,e){var r=n[e];if(r){var i=r.name+"";(tf[i]||(tf[i]=[])).push({name:e,func:r})}}),tf[Ki(it,mt).name]=[{name:"wrapper",func:it}],_.prototype.clone=S,_.prototype.reverse=G,_.prototype.value=et,n.prototype.at=Vf,n.prototype.chain=Ja,n.prototype.commit=Qa,n.prototype.next=Ga,n.prototype.plant=Ya,n.prototype.reverse=ts,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=es,n.prototype.first=n.prototype.head,El&&(n.prototype[El]=Za),n}();Sn._=zn,(i=function(){return zn}.call(e,n,e,r))!==it&&(r.exports=i)}).call(this)}).call(e,n(7),n(38)(t))},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function a(){v&&d&&(v=!1,d.length?h=d.concat(h):g=-1,h.length&&s())}function s(){if(!v){var t=i(a);v=!0;for(var e=h.length;e;){for(d=h,h=[];++g<e;)d&&d[g].run();g=-1,e=h.length}d=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var l,f,p=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(t){f=r}}();var d,h=[],v=!1,g=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new u(t,e)),1!==h.length||v||i(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,n){var r=n(35)(n(28),n(36),null,null);t.exports=r.exports},function(t,e){t.exports=function(t,e,n,r){var i,o=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(i=t,o=t.default);var s="function"==typeof o?o.options:o;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),n&&(s._scopeId=n),r){var u=Object.create(s.computed||null);Object.keys(r).forEach(function(t){var e=r[t];u[t]=function(){return e}}),s.computed=u}return{esModule:i,exports:o,options:s}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"container"},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-md-8 col-md-offset-2"},[n("div",{staticClass:"panel panel-default"},[n("div",{staticClass:"panel-heading"},[t._v("Example Component")]),t._v(" "),n("div",{staticClass:"panel-body"},[t._v("\n                    I'm an example component!\n                ")])])])])])}]}},function(t,e,n){"use strict";(function(e){/*!
+ * Vue.js v2.3.3
+ * (c) 2014-2017 Evan You
+ * Released under the MIT License.
+ */
+function n(t){return void 0===t||null===t}function r(t){return void 0!==t&&null!==t}function i(t){return!0===t}function o(t){return!1===t}function a(t){return"string"==typeof t||"number"==typeof t}function s(t){return null!==t&&"object"==typeof t}function u(t){return"[object Object]"===ji.call(t)}function c(t){return"[object RegExp]"===ji.call(t)}function l(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function f(t){var e=parseFloat(t);return isNaN(e)?t:e}function p(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function d(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function h(t,e){return Di.call(t,e)}function v(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function g(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function m(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function y(t,e){for(var n in e)t[n]=e[n];return t}function b(t){for(var e={},n=0;n<t.length;n++)t[n]&&y(e,t[n]);return e}function _(){}function w(t,e){var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{return JSON.stringify(t)===JSON.stringify(e)}catch(n){return t===e}}function x(t,e){for(var n=0;n<t.length;n++)if(w(t[n],e))return n;return-1}function C(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function T(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function $(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function k(t){if(!Wi.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}function A(t,e,n){if(Bi.errorHandler)Bi.errorHandler.call(null,t,e,n);else if(!Xi||"undefined"==typeof console)throw t}function E(t){return"function"==typeof t&&/native code/.test(t.toString())}function S(t){lo.target&&fo.push(lo.target),lo.target=t}function O(){lo.target=fo.pop()}function j(t,e){t.__proto__=e}function N(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];$(t,o,e[o])}}function D(t,e){if(s(t)){var n;return h(t,"__ob__")&&t.__ob__ instanceof mo?n=t.__ob__:go.shouldConvert&&!oo()&&(Array.isArray(t)||u(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new mo(t)),e&&n&&n.vmCount++,n}}function I(t,e,n,r){var i=new lo,o=Object.getOwnPropertyDescriptor(t,e);if(!o||!1!==o.configurable){var a=o&&o.get,s=o&&o.set,u=D(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=a?a.call(t):n;return lo.target&&(i.depend(),u&&u.dep.depend(),Array.isArray(e)&&P(e)),e},set:function(e){var r=a?a.call(t):n;e===r||e!==e&&r!==r||(s?s.call(t,e):n=e,u=D(e),i.notify())}})}}function L(t,e,n){if(Array.isArray(t)&&"number"==typeof e)return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(h(t,e))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(I(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function R(t,e){if(Array.isArray(t)&&"number"==typeof e)return void t.splice(e,1);var n=t.__ob__;t._isVue||n&&n.vmCount||h(t,e)&&(delete t[e],n&&n.dep.notify())}function P(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&P(e)}function F(t,e){if(!e)return t;for(var n,r,i,o=Object.keys(e),a=0;a<o.length;a++)n=o[a],r=t[n],i=e[n],h(t,n)?u(r)&&u(i)&&F(r,i):L(t,n,i);return t}function q(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function M(t,e){var n=Object.create(t||null);return e?y(n,e):n}function H(t){var e=t.props;if(e){var n,r,i,o={};if(Array.isArray(e))for(n=e.length;n--;)"string"==typeof(r=e[n])&&(i=Ii(r),o[i]={type:null});else if(u(e))for(var a in e)r=e[a],i=Ii(a),o[i]=u(r)?r:{type:r};t.props=o}}function B(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}function U(t,e,n){function r(r){var i=yo[r]||bo;u[r]=i(t[r],e[r],n,r)}"function"==typeof e&&(e=e.options),H(e),B(e);var i=e.extends;if(i&&(t=U(t,i,n)),e.mixins)for(var o=0,a=e.mixins.length;o<a;o++)t=U(t,e.mixins[o],n);var s,u={};for(s in t)r(s);for(s in e)h(t,s)||r(s);return u}function W(t,e,n,r){if("string"==typeof n){var i=t[e];if(h(i,n))return i[n];var o=Ii(n);if(h(i,o))return i[o];var a=Li(o);if(h(i,a))return i[a];return i[n]||i[o]||i[a]}}function z(t,e,n,r){var i=e[t],o=!h(n,t),a=n[t];if(K(Boolean,i.type)&&(o&&!h(i,"default")?a=!1:K(String,i.type)||""!==a&&a!==Ri(t)||(a=!0)),void 0===a){a=V(r,i,t);var s=go.shouldConvert;go.shouldConvert=!0,D(a),go.shouldConvert=s}return a}function V(t,e,n){if(h(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"==typeof r&&"Function"!==X(e.type)?r.call(t):r}}function X(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function K(t,e){if(!Array.isArray(e))return X(e)===X(t);for(var n=0,r=e.length;n<r;n++)if(X(e[n])===X(t))return!0;return!1}function J(t){return new _o(void 0,void 0,void 0,String(t))}function Q(t){var e=new _o(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.isCloned=!0,e}function G(t){for(var e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=Q(t[r]);return n}function Z(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=0;r<n.length;r++)n[r].apply(null,t)}return e.fns=t,e}function Y(t,e,r,i,o){var a,s,u,c;for(a in t)s=t[a],u=e[a],c=To(a),n(s)||(n(u)?(n(s.fns)&&(s=t[a]=Z(s)),r(c.name,s,c.once,c.capture,c.passive)):s!==u&&(u.fns=s,t[a]=u));for(a in e)n(t[a])&&(c=To(a),i(c.name,e[a],c.capture))}function tt(t,e,o){function a(){o.apply(this,arguments),d(s.fns,a)}var s,u=t[e];n(u)?s=Z([a]):r(u.fns)&&i(u.merged)?(s=u,s.fns.push(a)):s=Z([u,a]),s.merged=!0,t[e]=s}function et(t,e,i){var o=e.options.props;if(!n(o)){var a={},s=t.attrs,u=t.props;if(r(s)||r(u))for(var c in o){var l=Ri(c);nt(a,u,c,l,!0)||nt(a,s,c,l,!1)}return a}}function nt(t,e,n,i,o){if(r(e)){if(h(e,n))return t[n]=e[n],o||delete e[n],!0;if(h(e,i))return t[n]=e[i],o||delete e[i],!0}return!1}function rt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function it(t){return a(t)?[J(t)]:Array.isArray(t)?at(t):void 0}function ot(t){return r(t)&&r(t.text)&&o(t.isComment)}function at(t,e){var o,s,u,c=[];for(o=0;o<t.length;o++)s=t[o],n(s)||"boolean"==typeof s||(u=c[c.length-1],Array.isArray(s)?c.push.apply(c,at(s,(e||"")+"_"+o)):a(s)?ot(u)?u.text+=String(s):""!==s&&c.push(J(s)):ot(s)&&ot(u)?c[c.length-1]=J(u.text+s.text):(i(t._isVList)&&r(s.tag)&&n(s.key)&&r(e)&&(s.key="__vlist"+e+"_"+o+"__"),c.push(s)));return c}function st(t,e){return s(t)?e.extend(t):t}function ut(t,e,o){if(i(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;if(i(t.loading)&&r(t.loadingComp))return t.loadingComp;if(!r(t.contexts)){var a=t.contexts=[o],u=!0,c=function(){for(var t=0,e=a.length;t<e;t++)a[t].$forceUpdate()},l=C(function(n){t.resolved=st(n,e),u||c()}),f=C(function(e){r(t.errorComp)&&(t.error=!0,c())}),p=t(l,f);return s(p)&&("function"==typeof p.then?n(t.resolved)&&p.then(l,f):r(p.component)&&"function"==typeof p.component.then&&(p.component.then(l,f),r(p.error)&&(t.errorComp=st(p.error,e)),r(p.loading)&&(t.loadingComp=st(p.loading,e),0===p.delay?t.loading=!0:setTimeout(function(){n(t.resolved)&&n(t.error)&&(t.loading=!0,c())},p.delay||200)),r(p.timeout)&&setTimeout(function(){n(t.resolved)&&f(null)},p.timeout))),u=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(o)}function ct(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(r(n)&&r(n.componentOptions))return n}}function lt(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&dt(t,e)}function ft(t,e,n){n?xo.$once(t,e):xo.$on(t,e)}function pt(t,e){xo.$off(t,e)}function dt(t,e,n){xo=t,Y(e,n||{},ft,pt,t)}function ht(t,e){var n={};if(!t)return n;for(var r=[],i=0,o=t.length;i<o;i++){var a=t[i];if(a.context!==e&&a.functionalContext!==e||!a.data||null==a.data.slot)r.push(a);else{var s=a.data.slot,u=n[s]||(n[s]=[]);"template"===a.tag?u.push.apply(u,a.children):u.push(a)}}return r.every(vt)||(n.default=r),n}function vt(t){return t.isComment||" "===t.text}function gt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?gt(t[n],e):e[t[n].key]=t[n].fn;return e}function mt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function yt(t,e,n){t.$el=e,t.$options.render||(t.$options.render=Co),Ct(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},t._watcher=new Do(t,r,_),n=!1,null==t.$vnode&&(t._isMounted=!0,Ct(t,"mounted")),t}function bt(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==Ui);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,e&&t.$options.props){go.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],u=0;u<s.length;u++){var c=s[u];a[c]=z(c,t.$options.props,e,t)}go.shouldConvert=!0,t.$options.propsData=e}if(n){var l=t.$options._parentListeners;t.$options._parentListeners=n,dt(t,n,l)}o&&(t.$slots=ht(i,r.context),t.$forceUpdate())}function _t(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function wt(t,e){if(e){if(t._directInactive=!1,_t(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)wt(t.$children[n]);Ct(t,"activated")}}function xt(t,e){if(!(e&&(t._directInactive=!0,_t(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)xt(t.$children[n]);Ct(t,"deactivated")}}function Ct(t,e){var n=t.$options[e];if(n)for(var r=0,i=n.length;r<i;r++)try{n[r].call(t)}catch(n){A(n,t,e+" hook")}t._hasHookEvent&&t.$emit("hook:"+e)}function Tt(){jo=ko.length=Ao.length=0,Eo={},So=Oo=!1}function $t(){Oo=!0;var t,e;for(ko.sort(function(t,e){return t.id-e.id}),jo=0;jo<ko.length;jo++)t=ko[jo],e=t.id,Eo[e]=null,t.run();var n=Ao.slice(),r=ko.slice();Tt(),Et(n),kt(r),ao&&Bi.devtools&&ao.emit("flush")}function kt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&Ct(r,"updated")}}function At(t){t._inactive=!1,Ao.push(t)}function Et(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,wt(t[e],!0)}function St(t){var e=t.id;if(null==Eo[e]){if(Eo[e]=!0,Oo){for(var n=ko.length-1;n>jo&&ko[n].id>t.id;)n--;ko.splice(n+1,0,t)}else ko.push(t);So||(So=!0,uo($t))}}function Ot(t){Io.clear(),jt(t,Io)}function jt(t,e){var n,r,i=Array.isArray(t);if((i||s(t))&&Object.isExtensible(t)){if(t.__ob__){var o=t.__ob__.dep.id;if(e.has(o))return;e.add(o)}if(i)for(n=t.length;n--;)jt(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)jt(t[r[n]],e)}}function Nt(t,e,n){Lo.get=function(){return this[e][n]},Lo.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Lo)}function Dt(t){t._watchers=[];var e=t.$options;e.props&&It(t,e.props),e.methods&&Mt(t,e.methods),e.data?Lt(t):D(t._data={},!0),e.computed&&Pt(t,e.computed),e.watch&&Ht(t,e.watch)}function It(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;go.shouldConvert=o;for(var a in e)!function(o){i.push(o);var a=z(o,e,n,t);I(r,o,a),o in t||Nt(t,"_props",o)}(a);go.shouldConvert=!0}function Lt(t){var e=t.$options.data;e=t._data="function"==typeof e?Rt(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,i=n.length;i--;)r&&h(r,n[i])||T(n[i])||Nt(t,"_data",n[i]);D(e,!0)}function Rt(t,e){try{return t.call(e)}catch(t){return A(t,e,"data()"),{}}}function Pt(t,e){var n=t._computedWatchers=Object.create(null);for(var r in e){var i=e[r],o="function"==typeof i?i:i.get;n[r]=new Do(t,o,_,Ro),r in t||Ft(t,r,i)}}function Ft(t,e,n){"function"==typeof n?(Lo.get=qt(e),Lo.set=_):(Lo.get=n.get?!1!==n.cache?qt(e):n.get:_,Lo.set=n.set?n.set:_),Object.defineProperty(t,e,Lo)}function qt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),lo.target&&e.depend(),e.value}}function Mt(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?_:g(e[n],t)}function Ht(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Bt(t,n,r[i]);else Bt(t,n,r)}}function Bt(t,e,n){var r;u(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function Ut(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}function Wt(t){var e=zt(t.$options.inject,t);e&&Object.keys(e).forEach(function(n){I(t,n,e[n])})}function zt(t,e){if(t){for(var n=Array.isArray(t),r=Object.create(null),i=n?t:so?Reflect.ownKeys(t):Object.keys(t),o=0;o<i.length;o++)for(var a=i[o],s=n?a:t[a],u=e;u;){if(u._provided&&s in u._provided){r[a]=u._provided[s];break}u=u.$parent}return r}}function Vt(t,e,n,i,o){var a={},s=t.options.props;if(r(s))for(var u in s)a[u]=z(u,s,e||{});else r(n.attrs)&&Xt(a,n.attrs),r(n.props)&&Xt(a,n.props);var c=Object.create(i),l=function(t,e,n,r){return Yt(c,t,e,n,r,!0)},f=t.options.render.call(null,l,{data:n,props:a,children:o,parent:i,listeners:n.on||{},injections:zt(t.options.inject,i),slots:function(){return ht(o,i)}});return f instanceof _o&&(f.functionalContext=i,f.functionalOptions=t.options,n.slot&&((f.data||(f.data={})).slot=n.slot)),f}function Xt(t,e){for(var n in e)t[Ii(n)]=e[n]}function Kt(t,e,o,a,u){if(!n(t)){var c=o.$options._base;if(s(t)&&(t=c.extend(t)),"function"==typeof t&&(!n(t.cid)||void 0!==(t=ut(t,c,o)))){de(t),e=e||{},r(e.model)&&Zt(t.options,e);var l=et(e,t,u);if(i(t.options.functional))return Vt(t,l,e,o,a);var f=e.on;e.on=e.nativeOn,i(t.options.abstract)&&(e={}),Qt(e);var p=t.options.name||u;return new _o("vue-component-"+t.cid+(p?"-"+p:""),e,void 0,void 0,void 0,o,{Ctor:t,propsData:l,listeners:f,tag:u,children:a})}}}function Jt(t,e,n,i){var o=t.componentOptions,a={_isComponent:!0,parent:e,propsData:o.propsData,_componentTag:o.tag,_parentVnode:t,_parentListeners:o.listeners,_renderChildren:o.children,_parentElm:n||null,_refElm:i||null},s=t.data.inlineTemplate;return r(s)&&(a.render=s.render,a.staticRenderFns=s.staticRenderFns),new o.Ctor(a)}function Qt(t){t.hook||(t.hook={});for(var e=0;e<Fo.length;e++){var n=Fo[e],r=t.hook[n],i=Po[n];t.hook[n]=r?Gt(i,r):i}}function Gt(t,e){return function(n,r,i,o){t(n,r,i,o),e(n,r,i,o)}}function Zt(t,e){var n=t.model&&t.model.prop||"value",i=t.model&&t.model.event||"input";(e.props||(e.props={}))[n]=e.model.value;var o=e.on||(e.on={});r(o[i])?o[i]=[e.model.callback].concat(o[i]):o[i]=e.model.callback}function Yt(t,e,n,r,o,s){return(Array.isArray(n)||a(n))&&(o=r,r=n,n=void 0),i(s)&&(o=Mo),te(t,e,n,r,o)}function te(t,e,n,i,o){if(r(n)&&r(n.__ob__))return Co();if(!e)return Co();Array.isArray(i)&&"function"==typeof i[0]&&(n=n||{},n.scopedSlots={default:i[0]},i.length=0),o===Mo?i=it(i):o===qo&&(i=rt(i));var a,s;if("string"==typeof e){var u;s=Bi.getTagNamespace(e),a=Bi.isReservedTag(e)?new _o(Bi.parsePlatformTagName(e),n,i,void 0,void 0,t):r(u=W(t.$options,"components",e))?Kt(u,n,t,i,e):new _o(e,n,i,void 0,void 0,t)}else a=Kt(e,n,t,i);return r(a)?(s&&ee(a,s),a):Co()}function ee(t,e){if(t.ns=e,"foreignObject"!==t.tag&&r(t.children))for(var i=0,o=t.children.length;i<o;i++){var a=t.children[i];r(a.tag)&&n(a.ns)&&ee(a,e)}}function ne(t,e){var n,i,o,a,u;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),i=0,o=t.length;i<o;i++)n[i]=e(t[i],i);else if("number"==typeof t)for(n=new Array(t),i=0;i<t;i++)n[i]=e(i+1,i);else if(s(t))for(a=Object.keys(t),n=new Array(a.length),i=0,o=a.length;i<o;i++)u=a[i],n[i]=e(t[u],u,i);return r(n)&&(n._isVList=!0),n}function re(t,e,n,r){var i=this.$scopedSlots[t];if(i)return n=n||{},r&&y(n,r),i(n)||e;var o=this.$slots[t];return o||e}function ie(t){return W(this.$options,"filters",t,!0)||Fi}function oe(t,e,n){var r=Bi.keyCodes[e]||n;return Array.isArray(r)?-1===r.indexOf(t):r!==t}function ae(t,e,n,r){if(n)if(s(n)){Array.isArray(n)&&(n=b(n));var i;for(var o in n){if("class"===o||"style"===o)i=t;else{var a=t.attrs&&t.attrs.type;i=r||Bi.mustUseProp(e,a,o)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}o in i||(i[o]=n[o])}}else;return t}function se(t,e){var n=this._staticTrees[t];return n&&!e?Array.isArray(n)?G(n):Q(n):(n=this._staticTrees[t]=this.$options.staticRenderFns[t].call(this._renderProxy),ce(n,"__static__"+t,!1),n)}function ue(t,e,n){return ce(t,"__once__"+e+(n?"_"+n:""),!0),t}function ce(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&le(t[r],e+"_"+r,n);else le(t,e,n)}function le(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function fe(t){t._vnode=null,t._staticTrees=null;var e=t.$vnode=t.$options._parentVnode,n=e&&e.context;t.$slots=ht(t.$options._renderChildren,n),t.$scopedSlots=Ui,t._c=function(e,n,r,i){return Yt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Yt(t,e,n,r,i,!0)}}function pe(t,e){var n=t.$options=Object.create(t.constructor.options);n.parent=e.parent,n.propsData=e.propsData,n._parentVnode=e._parentVnode,n._parentListeners=e._parentListeners,n._renderChildren=e._renderChildren,n._componentTag=e._componentTag,n._parentElm=e._parentElm,n._refElm=e._refElm,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function de(t){var e=t.options;if(t.super){var n=de(t.super);if(n!==t.superOptions){t.superOptions=n;var r=he(t);r&&y(t.extendOptions,r),e=t.options=U(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function he(t){var e,n=t.options,r=t.extendOptions,i=t.sealedOptions;for(var o in n)n[o]!==i[o]&&(e||(e={}),e[o]=ve(n[o],r[o],i[o]));return e}function ve(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var i=0;i<t.length;i++)(e.indexOf(t[i])>=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function ge(t){this._init(t)}function me(t){t.use=function(t){if(t.installed)return this;var e=m(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):"function"==typeof t&&t.apply(null,e),t.installed=!0,this}}function ye(t){t.mixin=function(t){return this.options=U(this.options,t),this}}function be(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=U(n.options,t),a.super=n,a.options.props&&_e(a),a.options.computed&&we(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Mi.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=y({},a.options),i[r]=a,a}}function _e(t){var e=t.options.props;for(var n in e)Nt(t.prototype,"_props",n)}function we(t){var e=t.options.computed;for(var n in e)Ft(t.prototype,n,e[n])}function xe(t){Mi.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function Ce(t){return t&&(t.Ctor.options.name||t.tag)}function Te(t,e){return"string"==typeof t?t.split(",").indexOf(e)>-1:!!c(t)&&t.test(e)}function $e(t,e,n){for(var r in t){var i=t[r];if(i){var o=Ce(i.componentOptions);o&&!n(o)&&(i!==e&&ke(i),t[r]=null)}}}function ke(t){t&&t.componentInstance.$destroy()}function Ae(t){for(var e=t.data,n=t,i=t;r(i.componentInstance);)i=i.componentInstance._vnode,i.data&&(e=Ee(i.data,e));for(;r(n=n.parent);)n.data&&(e=Ee(e,n.data));return Se(e)}function Ee(t,e){return{staticClass:Oe(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Se(t){var e=t.class,n=t.staticClass;return r(n)||r(e)?Oe(n,je(e)):""}function Oe(t,e){return t?e?t+" "+e:t:e||""}function je(t){if(n(t))return"";if("string"==typeof t)return t;var e="";if(Array.isArray(t)){for(var i,o=0,a=t.length;o<a;o++)r(t[o])&&r(i=je(t[o]))&&""!==i&&(e+=i+" ");return e.slice(0,-1)}if(s(t)){for(var u in t)t[u]&&(e+=u+" ");return e.slice(0,-1)}return e}function Ne(t){return fa(t)?"svg":"math"===t?"math":void 0}function De(t){if(!Xi)return!0;if(da(t))return!1;if(t=t.toLowerCase(),null!=ha[t])return ha[t];var e=document.createElement(t);return t.indexOf("-")>-1?ha[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ha[t]=/HTMLUnknownElement/.test(e.toString())}function Ie(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Le(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Re(t,e){return document.createElementNS(ca[t],e)}function Pe(t){return document.createTextNode(t)}function Fe(t){return document.createComment(t)}function qe(t,e,n){t.insertBefore(e,n)}function Me(t,e){t.removeChild(e)}function He(t,e){t.appendChild(e)}function Be(t){return t.parentNode}function Ue(t){return t.nextSibling}function We(t){return t.tagName}function ze(t,e){t.textContent=e}function Ve(t,e,n){t.setAttribute(e,n)}function Xe(t,e){var n=t.data.ref;if(n){var r=t.context,i=t.componentInstance||t.elm,o=r.$refs;e?Array.isArray(o[n])?d(o[n],i):o[n]===i&&(o[n]=void 0):t.data.refInFor?Array.isArray(o[n])&&o[n].indexOf(i)<0?o[n].push(i):o[n]=[i]:o[n]=i}}function Ke(t,e){return t.key===e.key&&t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&Je(t,e)}function Je(t,e){if("input"!==t.tag)return!0;var n;return(r(n=t.data)&&r(n=n.attrs)&&n.type)===(r(n=e.data)&&r(n=n.attrs)&&n.type)}function Qe(t,e,n){var i,o,a={};for(i=e;i<=n;++i)o=t[i].key,r(o)&&(a[o]=i);return a}function Ge(t,e){(t.data.directives||e.data.directives)&&Ze(t,e)}function Ze(t,e){var n,r,i,o=t===ma,a=e===ma,s=Ye(t.data.directives,t.context),u=Ye(e.data.directives,e.context),c=[],l=[];for(n in u)r=s[n],i=u[n],r?(i.oldValue=r.value,en(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(en(i,"bind",e,t),i.def&&i.def.inserted&&c.push(i));if(c.length){var f=function(){for(var n=0;n<c.length;n++)en(c[n],"inserted",e,t)};o?tt(e.data.hook||(e.data.hook={}),"insert",f):f()}if(l.length&&tt(e.data.hook||(e.data.hook={}),"postpatch",function(){for(var n=0;n<l.length;n++)en(l[n],"componentUpdated",e,t)}),!o)for(n in s)u[n]||en(s[n],"unbind",t,t,a)}function Ye(t,e){var n=Object.create(null);if(!t)return n;var r,i;for(r=0;r<t.length;r++)i=t[r],i.modifiers||(i.modifiers=_a),n[tn(i)]=i,i.def=W(e.$options,"directives",i.name,!0);return n}function tn(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function en(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch(r){A(r,n.context,"directive "+t.name+" "+e+" hook")}}function nn(t,e){if(!n(t.data.attrs)||!n(e.data.attrs)){var i,o,a=e.elm,s=t.data.attrs||{},u=e.data.attrs||{};r(u.__ob__)&&(u=e.data.attrs=y({},u));for(i in u)o=u[i],s[i]!==o&&rn(a,i,o);Qi&&u.value!==s.value&&rn(a,"value",u.value);for(i in s)n(u[i])&&(aa(i)?a.removeAttributeNS(oa,sa(i)):ra(i)||a.removeAttribute(i))}}function rn(t,e,n){ia(e)?ua(n)?t.removeAttribute(e):t.setAttribute(e,e):ra(e)?t.setAttribute(e,ua(n)||"false"===n?"false":"true"):aa(e)?ua(n)?t.removeAttributeNS(oa,sa(e)):t.setAttributeNS(oa,e,n):ua(n)?t.removeAttribute(e):t.setAttribute(e,n)}function on(t,e){var i=e.elm,o=e.data,a=t.data;if(!(n(o.staticClass)&&n(o.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=Ae(e),u=i._transitionClasses;r(u)&&(s=Oe(s,je(u))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}function an(t){function e(){(a||(a=[])).push(t.slice(h,i).trim()),h=i+1}var n,r,i,o,a,s=!1,u=!1,c=!1,l=!1,f=0,p=0,d=0,h=0;for(i=0;i<t.length;i++)if(r=n,n=t.charCodeAt(i),s)39===n&&92!==r&&(s=!1);else if(u)34===n&&92!==r&&(u=!1);else if(c)96===n&&92!==r&&(c=!1);else if(l)47===n&&92!==r&&(l=!1);else if(124!==n||124===t.charCodeAt(i+1)||124===t.charCodeAt(i-1)||f||p||d){switch(n){case 34:u=!0;break;case 39:s=!0;break;case 96:c=!0;break;case 40:d++;break;case 41:d--;break;case 91:p++;break;case 93:p--;break;case 123:f++;break;case 125:f--}if(47===n){for(var v=i-1,g=void 0;v>=0&&" "===(g=t.charAt(v));v--);g&&Ta.test(g)||(l=!0)}}else void 0===o?(h=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==h&&e(),a)for(i=0;i<a.length;i++)o=sn(o,a[i]);return o}function sn(t,e){var n=e.indexOf("(");return n<0?'_f("'+e+'")('+t+")":'_f("'+e.slice(0,n)+'")('+t+","+e.slice(n+1)}function un(t){}function cn(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function ln(t,e,n){(t.props||(t.props=[])).push({name:e,value:n})}function fn(t,e,n){(t.attrs||(t.attrs=[])).push({name:e,value:n})}function pn(t,e,n,r,i,o){(t.directives||(t.directives=[])).push({name:e,rawName:n,value:r,arg:i,modifiers:o})}function dn(t,e,n,r,i,o){r&&r.capture&&(delete r.capture,e="!"+e),r&&r.once&&(delete r.once,e="~"+e),r&&r.passive&&(delete r.passive,e="&"+e);var a;r&&r.native?(delete r.native,a=t.nativeEvents||(t.nativeEvents={})):a=t.events||(t.events={});var s={value:n,modifiers:r},u=a[e];Array.isArray(u)?i?u.unshift(s):u.push(s):a[e]=u?i?[s,u]:[u,s]:s}function hn(t,e,n){var r=vn(t,":"+e)||vn(t,"v-bind:"+e);if(null!=r)return an(r);if(!1!==n){var i=vn(t,e);if(null!=i)return JSON.stringify(i)}}function vn(t,e){var n;if(null!=(n=t.attrsMap[e]))for(var r=t.attrsList,i=0,o=r.length;i<o;i++)if(r[i].name===e){r.splice(i,1);break}return n}function gn(t,e,n){var r=n||{},i=r.number,o=r.trim,a="$$v";o&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(a="_n("+a+")");var s=mn(e,a);t.model={value:"("+e+")",expression:'"'+e+'"',callback:"function ($$v) {"+s+"}"}}function mn(t,e){var n=yn(t);return null===n.idx?t+"="+e:"var $$exp = "+n.exp+", $$idx = "+n.idx+";if (!Array.isArray($$exp)){"+t+"="+e+"}else{$$exp.splice($$idx, 1, "+e+")}"}function yn(t){if(Vo=t,zo=Vo.length,Ko=Jo=Qo=0,t.indexOf("[")<0||t.lastIndexOf("]")<zo-1)return{exp:t,idx:null};for(;!_n();)Xo=bn(),wn(Xo)?Cn(Xo):91===Xo&&xn(Xo);return{exp:t.substring(0,Jo),idx:t.substring(Jo+1,Qo)}}function bn(){return Vo.charCodeAt(++Ko)}function _n(){return Ko>=zo}function wn(t){return 34===t||39===t}function xn(t){var e=1;for(Jo=Ko;!_n();)if(t=bn(),wn(t))Cn(t);else if(91===t&&e++,93===t&&e--,0===e){Qo=Ko;break}}function Cn(t){for(var e=t;!_n()&&(t=bn())!==e;);}function Tn(t,e,n){Go=n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if("select"===o)An(t,r,i);else if("input"===o&&"checkbox"===a)$n(t,r,i);else if("input"===o&&"radio"===a)kn(t,r,i);else if("input"===o||"textarea"===o)En(t,r,i);else if(!Bi.isReservedTag(o))return gn(t,r,i),!1;return!0}function $n(t,e,n){var r=n&&n.number,i=hn(t,"value")||"null",o=hn(t,"true-value")||"true",a=hn(t,"false-value")||"false";ln(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),dn(t,ka,"var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+e+"=$$a.concat($$v))}else{$$i>-1&&("+e+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+mn(e,"$$c")+"}",null,!0)}function kn(t,e,n){var r=n&&n.number,i=hn(t,"value")||"null";i=r?"_n("+i+")":i,ln(t,"checked","_q("+e+","+i+")"),dn(t,ka,mn(e,i),null,!0)}function An(t,e,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="var $$selectedVal = "+i+";";o=o+" "+mn(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),dn(t,"change",o,null,!0)}function En(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==r,c=o?"change":"range"===r?$a:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=mn(e,l);u&&(f="if($event.target.composing)return;"+f),ln(t,"value","("+e+")"),dn(t,c,f,null,!0),(s||a||"number"===r)&&dn(t,"blur","$forceUpdate()")}function Sn(t){var e;r(t[$a])&&(e=Ji?"change":"input",t[e]=[].concat(t[$a],t[e]||[]),delete t[$a]),r(t[ka])&&(e=to?"click":"change",t[e]=[].concat(t[ka],t[e]||[]),delete t[ka])}function On(t,e,n,r,i){if(n){var o=e,a=Zo;e=function(n){null!==(1===arguments.length?o(n):o.apply(null,arguments))&&jn(t,e,r,a)}}Zo.addEventListener(t,e,eo?{capture:r,passive:i}:r)}function jn(t,e,n,r){(r||Zo).removeEventListener(t,e,n)}function Nn(t,e){if(!n(t.data.on)||!n(e.data.on)){var r=e.data.on||{},i=t.data.on||{};Zo=e.elm,Sn(r),Y(r,i,On,jn,e.context)}}function Dn(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,o,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};r(u.__ob__)&&(u=e.data.domProps=y({},u));for(i in s)n(u[i])&&(a[i]="");for(i in u)if(o=u[i],"textContent"!==i&&"innerHTML"!==i||(e.children&&(e.children.length=0),o!==s[i]))if("value"===i){a._value=o;var c=n(o)?"":String(o);In(a,e,c)&&(a.value=c)}else a[i]=o}}function In(t,e,n){return!t.composing&&("option"===e.tag||Ln(t,n)||Rn(t,n))}function Ln(t,e){return document.activeElement!==t&&t.value!==e}function Rn(t,e){var n=t.value,i=t._vModifiers;return r(i)&&i.number||"number"===t.type?f(n)!==f(e):r(i)&&i.trim?n.trim()!==e.trim():n!==e}function Pn(t){var e=Fn(t.style);return t.staticStyle?y(t.staticStyle,e):e}function Fn(t){return Array.isArray(t)?b(t):"string"==typeof t?Sa(t):t}function qn(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)i=i.componentInstance._vnode,i.data&&(n=Pn(i.data))&&y(r,n);(n=Pn(t.data))&&y(r,n);for(var o=t;o=o.parent;)o.data&&(n=Pn(o.data))&&y(r,n);return r}function Mn(t,e){var i=e.data,o=t.data;if(!(n(i.staticStyle)&&n(i.style)&&n(o.staticStyle)&&n(o.style))){var a,s,u=e.elm,c=o.staticStyle,l=o.normalizedStyle||o.style||{},f=c||l,p=Fn(e.data.style)||{};e.data.normalizedStyle=r(p.__ob__)?y({},p):p;var d=qn(e,!0);for(s in f)n(d[s])&&Na(u,s,"");for(s in d)(a=d[s])!==f[s]&&Na(u,s,null==a?"":a)}}function Hn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Bn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e);else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");t.setAttribute("class",n.trim())}}function Un(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&y(e,Ra(t.name||"v")),y(e,t),e}return"string"==typeof t?Ra(t):void 0}}function Wn(t){Wa(function(){Wa(t)})}function zn(t,e){(t._transitionClasses||(t._transitionClasses=[])).push(e),Hn(t,e)}function Vn(t,e){t._transitionClasses&&d(t._transitionClasses,e),Bn(t,e)}function Xn(t,e,n){var r=Kn(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Fa?Ha:Ua,u=0,c=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++u>=a&&c()};setTimeout(function(){u<a&&c()},o+1),t.addEventListener(s,l)}function Kn(t,e){var n,r=window.getComputedStyle(t),i=r[Ma+"Delay"].split(", "),o=r[Ma+"Duration"].split(", "),a=Jn(i,o),s=r[Ba+"Delay"].split(", "),u=r[Ba+"Duration"].split(", "),c=Jn(s,u),l=0,f=0;return e===Fa?a>0&&(n=Fa,l=a,f=o.length):e===qa?c>0&&(n=qa,l=c,f=u.length):(l=Math.max(a,c),n=l>0?a>c?Fa:qa:null,f=n?n===Fa?o.length:u.length:0),{type:n,timeout:l,propCount:f,hasTransform:n===Fa&&za.test(r[Ma+"Property"])}}function Jn(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Qn(e)+Qn(t[n])}))}function Qn(t){return 1e3*Number(t.slice(0,-1))}function Gn(t,e){var i=t.elm;r(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var o=Un(t.data.transition);if(!n(o)&&!r(i._enterCb)&&1===i.nodeType){for(var a=o.css,u=o.type,c=o.enterClass,l=o.enterToClass,p=o.enterActiveClass,d=o.appearClass,h=o.appearToClass,v=o.appearActiveClass,g=o.beforeEnter,m=o.enter,y=o.afterEnter,b=o.enterCancelled,_=o.beforeAppear,w=o.appear,x=o.afterAppear,T=o.appearCancelled,$=o.duration,k=$o,A=$o.$vnode;A&&A.parent;)A=A.parent,k=A.context;var E=!k._isMounted||!t.isRootInsert;if(!E||w||""===w){var S=E&&d?d:c,O=E&&v?v:p,j=E&&h?h:l,N=E?_||g:g,D=E&&"function"==typeof w?w:m,I=E?x||y:y,L=E?T||b:b,R=f(s($)?$.enter:$),P=!1!==a&&!Qi,F=tr(D),q=i._enterCb=C(function(){P&&(Vn(i,j),Vn(i,O)),q.cancelled?(P&&Vn(i,S),L&&L(i)):I&&I(i),i._enterCb=null});t.data.show||tt(t.data.hook||(t.data.hook={}),"insert",function(){var e=i.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),D&&D(i,q)}),N&&N(i),P&&(zn(i,S),zn(i,O),Wn(function(){zn(i,j),Vn(i,S),q.cancelled||F||(Yn(R)?setTimeout(q,R):Xn(i,u,q))})),t.data.show&&(e&&e(),D&&D(i,q)),P||F||q()}}}function Zn(t,e){function i(){T.cancelled||(t.data.show||((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),h&&h(o),_&&(zn(o,l),zn(o,d),Wn(function(){zn(o,p),Vn(o,l),T.cancelled||w||(Yn(x)?setTimeout(T,x):Xn(o,c,T))})),v&&v(o,T),_||w||T())}var o=t.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var a=Un(t.data.transition);if(n(a))return e();if(!r(o._leaveCb)&&1===o.nodeType){var u=a.css,c=a.type,l=a.leaveClass,p=a.leaveToClass,d=a.leaveActiveClass,h=a.beforeLeave,v=a.leave,g=a.afterLeave,m=a.leaveCancelled,y=a.delayLeave,b=a.duration,_=!1!==u&&!Qi,w=tr(v),x=f(s(b)?b.leave:b),T=o._leaveCb=C(function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Vn(o,p),Vn(o,d)),T.cancelled?(_&&Vn(o,l),m&&m(o)):(e(),g&&g(o)),o._leaveCb=null});y?y(i):i()}}function Yn(t){return"number"==typeof t&&!isNaN(t)}function tr(t){if(n(t))return!1;var e=t.fns;return r(e)?tr(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function er(t,e){!0!==e.data.show&&Gn(e)}function nr(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,u=t.options.length;s<u;s++)if(a=t.options[s],i)o=x(r,ir(a))>-1,a.selected!==o&&(a.selected=o);else if(w(ir(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function rr(t,e){for(var n=0,r=e.length;n<r;n++)if(w(ir(e[n]),t))return!1;return!0}function ir(t){return"_value"in t?t._value:t.value}function or(t){t.target.composing=!0}function ar(t){t.target.composing&&(t.target.composing=!1,sr(t.target,"input"))}function sr(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ur(t){return!t.componentInstance||t.data&&t.data.transition?t:ur(t.componentInstance._vnode)}function cr(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?cr(ct(e.children)):t}function lr(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Ii(o)]=i[o];return e}function fr(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function pr(t){for(;t=t.parent;)if(t.data.transition)return!0}function dr(t,e){return e.key===t.key&&e.tag===t.tag}function hr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function vr(t){t.data.newPos=t.elm.getBoundingClientRect()}function gr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function mr(t){return is=is||document.createElement("div"),is.innerHTML=t,is.textContent}function yr(t,e){var n=e?Bs:Hs;return t.replace(n,function(t){return Ms[t]})}function br(t,e){function n(e){l+=e,t=t.substring(e)}function r(t,n,r){var i,s;if(null==n&&(n=l),null==r&&(r=l),t&&(s=t.toLowerCase()),t)for(i=a.length-1;i>=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var u=a.length-1;u>=i;u--)e.end&&e.end(a[u].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,u=e.isUnaryTag||Pi,c=e.canBeLeftOpenTag||Pi,l=0;t;){if(i=t,o&&Fs(o)){var f=o.toLowerCase(),p=qs[f]||(qs[f]=new RegExp("([\\s\\S]*?)(</"+f+"[^>]*>)","i")),d=0,h=t.replace(p,function(t,n,r){return d=r.length,Fs(f)||"noscript"===f||(n=n.replace(/<!--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),e.chars&&e.chars(n),""});l+=t.length-h.length,t=h,r(f,l-d,l)}else{var v=t.indexOf("<");if(0===v){if(ms.test(t)){var g=t.indexOf("--\x3e");if(g>=0){n(g+3);continue}}if(ys.test(t)){var m=t.indexOf("]>");if(m>=0){n(m+2);continue}}var y=t.match(gs);if(y){n(y[0].length);continue}var b=t.match(vs);if(b){var _=l;n(b[0].length),r(b[1],_,l);continue}var w=function(){var e=t.match(ds);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(hs))&&(o=t.match(ls));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if(w){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&us(n)&&r(o),c(n)&&o===n&&r(n));for(var l=u(n)||"html"===n&&"head"===o||!!i,f=t.attrs.length,p=new Array(f),d=0;d<f;d++){var h=t.attrs[d];bs&&-1===h[0].indexOf('""')&&(""===h[3]&&delete h[3],""===h[4]&&delete h[4],""===h[5]&&delete h[5]);var v=h[3]||h[4]||h[5]||"";p[d]={name:h[1],value:yr(v,e.shouldDecodeNewlines)}}l||(a.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:p}),o=n),e.start&&e.start(n,p,l,t.start,t.end)}(w);continue}}var x=void 0,C=void 0,T=void 0;if(v>=0){for(C=t.slice(v);!(vs.test(C)||ds.test(C)||ms.test(C)||ys.test(C)||(T=C.indexOf("<",1))<0);)v+=T,C=t.slice(v);x=t.substring(0,v),n(v)}v<0&&(x=t,t=""),e.chars&&x&&e.chars(x)}if(t===i){e.chars&&e.chars(t);break}}r()}function _r(t,e){var n=e?Ws(e):Us;if(n.test(t)){for(var r,i,o=[],a=n.lastIndex=0;r=n.exec(t);){i=r.index,i>a&&o.push(JSON.stringify(t.slice(a,i)));var s=an(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a<t.length&&o.push(JSON.stringify(t.slice(a))),o.join("+")}}function wr(t,e){function n(t){t.pre&&(s=!1),$s(t.tag)&&(u=!1)}_s=e.warn||un,As=e.getTagNamespace||Pi,ks=e.mustUseProp||Pi,$s=e.isPreTag||Pi,Cs=cn(e.modules,"preTransformNode"),xs=cn(e.modules,"transformNode"),Ts=cn(e.modules,"postTransformNode"),ws=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,s=!1,u=!1;return br(t,{warn:_s,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,start:function(t,a,c){var l=i&&i.ns||As(t);Ji&&"svg"===l&&(a=Mr(a));var f={type:1,tag:t,attrsList:a,attrsMap:Pr(a),parent:i,children:[]};l&&(f.ns=l),qr(f)&&!oo()&&(f.forbidden=!0);for(var p=0;p<Cs.length;p++)Cs[p](f,e);if(s||(xr(f),f.pre&&(s=!0)),$s(f.tag)&&(u=!0),s)Cr(f);else{kr(f),Ar(f),jr(f),Tr(f),f.plain=!f.key&&!a.length,$r(f),Nr(f),Dr(f);for(var d=0;d<xs.length;d++)xs[d](f,e);Ir(f)}if(r?o.length||r.if&&(f.elseif||f.else)&&Or(r,{exp:f.elseif,block:f}):r=f,i&&!f.forbidden)if(f.elseif||f.else)Er(f,i);else if(f.slotScope){i.plain=!1;var h=f.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[h]=f}else i.children.push(f),f.parent=i;c?n(f):(i=f,o.push(f));for(var v=0;v<Ts.length;v++)Ts[v](f,e)},end:function(){var t=o[o.length-1],e=t.children[t.children.length-1];e&&3===e.type&&" "===e.text&&!u&&t.children.pop(),o.length-=1,i=o[o.length-1],n(t)},chars:function(t){if(i&&(!Ji||"textarea"!==i.tag||i.attrsMap.placeholder!==t)){var e=i.children;if(t=u||t.trim()?Fr(i)?t:Zs(t):a&&e.length?" ":""){var n;!s&&" "!==t&&(n=_r(t,ws))?e.push({type:2,expression:n,text:t}):" "===t&&e.length&&" "===e[e.length-1].text||e.push({type:3,text:t})}}}}),r}function xr(t){null!=vn(t,"v-pre")&&(t.pre=!0)}function Cr(t){var e=t.attrsList.length;if(e)for(var n=t.attrs=new Array(e),r=0;r<e;r++)n[r]={name:t.attrsList[r].name,value:JSON.stringify(t.attrsList[r].value)};else t.pre||(t.plain=!0)}function Tr(t){var e=hn(t,"key");e&&(t.key=e)}function $r(t){var e=hn(t,"ref");e&&(t.ref=e,t.refInFor=Lr(t))}function kr(t){var e;if(e=vn(t,"v-for")){var n=e.match(Xs);if(!n)return;t.for=n[2].trim();var r=n[1].trim(),i=r.match(Ks);i?(t.alias=i[1].trim(),t.iterator1=i[2].trim(),i[3]&&(t.iterator2=i[3].trim())):t.alias=r}}function Ar(t){var e=vn(t,"v-if");if(e)t.if=e,Or(t,{exp:e,block:t});else{null!=vn(t,"v-else")&&(t.else=!0);var n=vn(t,"v-else-if");n&&(t.elseif=n)}}function Er(t,e){var n=Sr(e.children);n&&n.if&&Or(n,{exp:t.elseif,block:t})}function Sr(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}function Or(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function jr(t){null!=vn(t,"v-once")&&(t.once=!0)}function Nr(t){if("slot"===t.tag)t.slotName=hn(t,"name");else{var e=hn(t,"slot");e&&(t.slotTarget='""'===e?'"default"':e),"template"===t.tag&&(t.slotScope=vn(t,"scope"))}}function Dr(t){var e;(e=hn(t,"is"))&&(t.component=e),null!=vn(t,"inline-template")&&(t.inlineTemplate=!0)}function Ir(t){var e,n,r,i,o,a,s,u=t.attrsList;for(e=0,n=u.length;e<n;e++)if(r=i=u[e].name,o=u[e].value,Vs.test(r))if(t.hasBindings=!0,a=Rr(r),a&&(r=r.replace(Gs,"")),Qs.test(r))r=r.replace(Qs,""),o=an(o),s=!1,a&&(a.prop&&(s=!0,"innerHtml"===(r=Ii(r))&&(r="innerHTML")),a.camel&&(r=Ii(r)),a.sync&&dn(t,"update:"+Ii(r),mn(o,"$event"))),s||ks(t.tag,t.attrsMap.type,r)?ln(t,r,o):fn(t,r,o);else if(zs.test(r))r=r.replace(zs,""),dn(t,r,o,a,!1,_s);else{r=r.replace(Vs,"");var c=r.match(Js),l=c&&c[1];l&&(r=r.slice(0,-(l.length+1))),pn(t,r,i,o,l,a)}else{fn(t,r,JSON.stringify(o))}}function Lr(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}function Rr(t){var e=t.match(Gs);if(e){var n={};return e.forEach(function(t){n[t.slice(1)]=!0}),n}}function Pr(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}function Fr(t){return"script"===t.tag||"style"===t.tag}function qr(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}function Mr(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Ys.test(r.name)||(r.name=r.name.replace(tu,""),e.push(r))}return e}function Hr(t,e){t&&(Es=eu(e.staticKeys||""),Ss=e.isReservedTag||Pi,Ur(t),Wr(t,!1))}function Br(t){return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))}function Ur(t){if(t.static=Vr(t),1===t.type){if(!Ss(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Ur(r),r.static||(t.static=!1)}}}function Wr(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Wr(t.children[n],e||!!t.for);t.ifConditions&&zr(t.ifConditions,e)}}function zr(t,e){for(var n=1,r=t.length;n<r;n++)Wr(t[n].block,e)}function Vr(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||Ni(t.tag)||!Ss(t.tag)||Xr(t)||!Object.keys(t).every(Es))))}function Xr(t){for(;t.parent;){if(t=t.parent,"template"!==t.tag)return!1;if(t.for)return!0}return!1}function Kr(t,e,n){var r=e?"nativeOn:{":"on:{";for(var i in t){r+='"'+i+'":'+Jr(i,t[i])+","}return r.slice(0,-1)+"}"}function Jr(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return Jr(t,e)}).join(",")+"]";var n=ru.test(e.value),r=nu.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)au[s]?(o+=au[s],iu[s]&&a.push(s)):a.push(s);a.length&&(i+=Qr(a)),o&&(i+=o);return"function($event){"+i+(n?e.value+"($event)":r?"("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function Qr(t){return"if(!('button' in $event)&&"+t.map(Gr).join("&&")+")return null;"}function Gr(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=iu[t];return"_k($event.keyCode,"+JSON.stringify(t)+(n?","+JSON.stringify(n):"")+")"}function Zr(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+(e.modifiers&&e.modifiers.prop?",true":"")+")"}}function Yr(t,e){var n=Ls,r=Ls=[],i=Rs;Rs=0,Ps=e,Os=e.warn||un,js=cn(e.modules,"transformCode"),Ns=cn(e.modules,"genData"),Ds=e.directives||{},Is=e.isReservedTag||Pi;var o=t?ti(t):'_c("div")';return Ls=n,Rs=i,{render:"with(this){return "+o+"}",staticRenderFns:r}}function ti(t){if(t.staticRoot&&!t.staticProcessed)return ei(t);if(t.once&&!t.onceProcessed)return ni(t);if(t.for&&!t.forProcessed)return oi(t);if(t.if&&!t.ifProcessed)return ri(t);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return yi(t);var e;if(t.component)e=bi(t.component,t);else{var n=t.plain?void 0:ai(t),r=t.inlineTemplate?null:pi(t,!0);e="_c('"+t.tag+"'"+(n?","+n:"")+(r?","+r:"")+")"}for(var i=0;i<js.length;i++)e=js[i](t,e);return e}return pi(t)||"void 0"}function ei(t){return t.staticProcessed=!0,Ls.push("with(this){return "+ti(t)+"}"),"_m("+(Ls.length-1)+(t.staticInFor?",true":"")+")"}function ni(t){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return ri(t);if(t.staticInFor){for(var e="",n=t.parent;n;){if(n.for){e=n.key;break}n=n.parent}return e?"_o("+ti(t)+","+Rs+++(e?","+e:"")+")":ti(t)}return ei(t)}function ri(t){return t.ifProcessed=!0,ii(t.ifConditions.slice())}function ii(t){function e(t){return t.once?ni(t):ti(t)}if(!t.length)return"_e()";var n=t.shift();return n.exp?"("+n.exp+")?"+e(n.block)+":"+ii(t):""+e(n.block)}function oi(t){var e=t.for,n=t.alias,r=t.iterator1?","+t.iterator1:"",i=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,"_l(("+e+"),function("+n+r+i+"){return "+ti(t)+"})"}function ai(t){var e="{",n=si(t);n&&(e+=n+","),t.key&&(e+="key:"+t.key+","),t.ref&&(e+="ref:"+t.ref+","),t.refInFor&&(e+="refInFor:true,"),t.pre&&(e+="pre:true,"),t.component&&(e+='tag:"'+t.tag+'",');for(var r=0;r<Ns.length;r++)e+=Ns[r](t);if(t.attrs&&(e+="attrs:{"+_i(t.attrs)+"},"),t.props&&(e+="domProps:{"+_i(t.props)+"},"),t.events&&(e+=Kr(t.events,!1,Os)+","),t.nativeEvents&&(e+=Kr(t.nativeEvents,!0,Os)+","),t.slotTarget&&(e+="slot:"+t.slotTarget+","),t.scopedSlots&&(e+=ci(t.scopedSlots)+","),t.model&&(e+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var i=ui(t);i&&(e+=i+",")}return e=e.replace(/,$/,"")+"}",t.wrapData&&(e=t.wrapData(e)),e}function si(t){var e=t.directives;if(e){var n,r,i,o,a="directives:[",s=!1;for(n=0,r=e.length;n<r;n++){i=e[n],o=!0;var u=Ds[i.name]||su[i.name];u&&(o=!!u(t,i,Os)),o&&(s=!0,a+='{name:"'+i.name+'",rawName:"'+i.rawName+'"'+(i.value?",value:("+i.value+"),expression:"+JSON.stringify(i.value):"")+(i.arg?',arg:"'+i.arg+'"':"")+(i.modifiers?",modifiers:"+JSON.stringify(i.modifiers):"")+"},")}return s?a.slice(0,-1)+"]":void 0}}function ui(t){var e=t.children[0];if(1===e.type){var n=Yr(e,Ps);return"inlineTemplate:{render:function(){"+n.render+"},staticRenderFns:["+n.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}function ci(t){return"scopedSlots:_u(["+Object.keys(t).map(function(e){return li(e,t[e])}).join(",")+"])"}function li(t,e){return e.for&&!e.forProcessed?fi(t,e):"{key:"+t+",fn:function("+String(e.attrsMap.scope)+"){return "+("template"===e.tag?pi(e)||"void 0":ti(e))+"}}"}function fi(t,e){var n=e.for,r=e.alias,i=e.iterator1?","+e.iterator1:"",o=e.iterator2?","+e.iterator2:"";return e.forProcessed=!0,"_l(("+n+"),function("+r+i+o+"){return "+li(t,e)+"})"}function pi(t,e){var n=t.children;if(n.length){var r=n[0];if(1===n.length&&r.for&&"template"!==r.tag&&"slot"!==r.tag)return ti(r);var i=e?di(n):0;return"["+n.map(gi).join(",")+"]"+(i?","+i:"")}}function di(t){for(var e=0,n=0;n<t.length;n++){var r=t[n];if(1===r.type){if(hi(r)||r.ifConditions&&r.ifConditions.some(function(t){return hi(t.block)})){e=2;break}(vi(r)||r.ifConditions&&r.ifConditions.some(function(t){return vi(t.block)}))&&(e=1)}}return e}function hi(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function vi(t){return!Is(t.tag)}function gi(t){return 1===t.type?ti(t):mi(t)}function mi(t){return"_v("+(2===t.type?t.expression:wi(JSON.stringify(t.text)))+")"}function yi(t){var e=t.slotName||'"default"',n=pi(t),r="_t("+e+(n?","+n:""),i=t.attrs&&"{"+t.attrs.map(function(t){return Ii(t.name)+":"+t.value}).join(",")+"}",o=t.attrsMap["v-bind"];return!i&&!o||n||(r+=",null"),i&&(r+=","+i),o&&(r+=(i?"":",null")+","+o),r+")"}function bi(t,e){var n=e.inlineTemplate?null:pi(e,!0);return"_c("+t+","+ai(e)+(n?","+n:"")+")"}function _i(t){for(var e="",n=0;n<t.length;n++){var r=t[n];e+='"'+r.name+'":'+wi(r.value)+","}return e.slice(0,-1)}function wi(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function xi(t,e){var n=wr(t.trim(),e);Hr(n,e);var r=Yr(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}}function Ci(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),_}}function Ti(t,e){var n=(e.warn,vn(t,"class"));n&&(t.staticClass=JSON.stringify(n));var r=hn(t,"class",!1);r&&(t.classBinding=r)}function $i(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}function ki(t,e){var n=(e.warn,vn(t,"style"));if(n){t.staticStyle=JSON.stringify(Sa(n))}var r=hn(t,"style",!1);r&&(t.styleBinding=r)}function Ai(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}function Ei(t,e){e.value&&ln(t,"textContent","_s("+e.value+")")}function Si(t,e){e.value&&ln(t,"innerHTML","_s("+e.value+")")}function Oi(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}var ji=Object.prototype.toString,Ni=p("slot,component",!0),Di=Object.prototype.hasOwnProperty,Ii=v(function(t){return t.replace(/-(\w)/g,function(t,e){return e?e.toUpperCase():""})}),Li=v(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ri=v(function(t){return t.replace(/([^-])([A-Z])/g,"$1-$2").replace(/([^-])([A-Z])/g,"$1-$2").toLowerCase()}),Pi=function(){return!1},Fi=function(t){return t},qi="data-server-rendered",Mi=["component","directive","filter"],Hi=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated"],Bi={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Pi,isReservedAttr:Pi,isUnknownElement:Pi,getTagNamespace:_,parsePlatformTagName:Fi,mustUseProp:Pi,_lifecycleHooks:Hi},Ui=Object.freeze({}),Wi=/[^\w.$]/,zi=_,Vi="__proto__"in{},Xi="undefined"!=typeof window,Ki=Xi&&window.navigator.userAgent.toLowerCase(),Ji=Ki&&/msie|trident/.test(Ki),Qi=Ki&&Ki.indexOf("msie 9.0")>0,Gi=Ki&&Ki.indexOf("edge/")>0,Zi=Ki&&Ki.indexOf("android")>0,Yi=Ki&&/iphone|ipad|ipod|ios/.test(Ki),to=Ki&&/chrome\/\d+/.test(Ki)&&!Gi,eo=!1;if(Xi)try{var no={};Object.defineProperty(no,"passive",{get:function(){eo=!0}}),window.addEventListener("test-passive",null,no)}catch(t){}var ro,io,oo=function(){return void 0===ro&&(ro=!Xi&&void 0!==e&&"server"===e.process.env.VUE_ENV),ro},ao=Xi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,so="undefined"!=typeof Symbol&&E(Symbol)&&"undefined"!=typeof Reflect&&E(Reflect.ownKeys),uo=function(){function t(){r=!1;var t=n.slice(0);n.length=0;for(var e=0;e<t.length;e++)t[e]()}var e,n=[],r=!1;if("undefined"!=typeof Promise&&E(Promise)){var i=Promise.resolve(),o=function(t){};e=function(){i.then(t).catch(o),Yi&&setTimeout(_)}}else if("undefined"==typeof MutationObserver||!E(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())e=function(){setTimeout(t,0)};else{var a=1,s=new MutationObserver(t),u=document.createTextNode(String(a));s.observe(u,{characterData:!0}),e=function(){a=(a+1)%2,u.data=String(a)}}return function(t,i){var o;if(n.push(function(){if(t)try{t.call(i)}catch(t){A(t,i,"nextTick")}else o&&o(i)}),r||(r=!0,e()),!t&&"undefined"!=typeof Promise)return new Promise(function(t,e){o=t})}}();io="undefined"!=typeof Set&&E(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var co=0,lo=function(){this.id=co++,this.subs=[]};lo.prototype.addSub=function(t){this.subs.push(t)},lo.prototype.removeSub=function(t){d(this.subs,t)},lo.prototype.depend=function(){lo.target&&lo.target.addDep(this)},lo.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},lo.target=null;var fo=[],po=Array.prototype,ho=Object.create(po);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=po[t];$(ho,t,function(){for(var n=arguments,r=arguments.length,i=new Array(r);r--;)i[r]=n[r];var o,a=e.apply(this,i),s=this.__ob__;switch(t){case"push":case"unshift":o=i;break;case"splice":o=i.slice(2)}return o&&s.observeArray(o),s.dep.notify(),a})});var vo=Object.getOwnPropertyNames(ho),go={shouldConvert:!0,isSettingProps:!1},mo=function(t){if(this.value=t,this.dep=new lo,this.vmCount=0,$(t,"__ob__",this),Array.isArray(t)){(Vi?j:N)(t,ho,vo),this.observeArray(t)}else this.walk(t)};mo.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)I(t,e[n],t[e[n]])},mo.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)D(t[e])};var yo=Bi.optionMergeStrategies;yo.data=function(t,e,n){return n?t||e?function(){var r="function"==typeof e?e.call(n):e,i="function"==typeof t?t.call(n):void 0;return r?F(r,i):i}:void 0:e?"function"!=typeof e?t:t?function(){return F(e.call(this),t.call(this))}:e:t},Hi.forEach(function(t){yo[t]=q}),Mi.forEach(function(t){yo[t+"s"]=M}),yo.watch=function(t,e){if(!e)return Object.create(t||null);if(!t)return e;var n={};y(n,t);for(var r in e){var i=n[r],o=e[r];i&&!Array.isArray(i)&&(i=[i]),n[r]=i?i.concat(o):[o]}return n},yo.props=yo.methods=yo.computed=function(t,e){if(!e)return Object.create(t||null);if(!t)return e;var n=Object.create(null);return y(n,t),y(n,e),n};var bo=function(t,e){return void 0===e?t:e},_o=function(t,e,n,r,i,o,a){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.functionalContext=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1},wo={child:{}};wo.child.get=function(){return this.componentInstance},Object.defineProperties(_o.prototype,wo);var xo,Co=function(){var t=new _o;return t.text="",t.isComment=!0,t},To=v(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),$o=null,ko=[],Ao=[],Eo={},So=!1,Oo=!1,jo=0,No=0,Do=function(t,e,n,r){this.vm=t,t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++No,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new io,this.newDepIds=new io,this.expression="","function"==typeof e?this.getter=e:(this.getter=k(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Do.prototype.get=function(){S(this);var t,e=this.vm;if(this.user)try{t=this.getter.call(e,e)}catch(t){A(t,e,'getter for watcher "'+this.expression+'"')}else t=this.getter.call(e,e);return this.deep&&Ot(t),O(),this.cleanupDeps(),t},Do.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Do.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Do.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():St(this)},Do.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){A(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Do.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Do.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},Do.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||d(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var Io=new io,Lo={enumerable:!0,configurable:!0,get:_,set:_},Ro={lazy:!0},Po={init:function(t,e,n,r){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=Jt(t,$o,n,r)).$mount(e?t.elm:void 0,e)}else if(t.data.keepAlive){var i=t;Po.prepatch(i,i)}},prepatch:function(t,e){var n=e.componentOptions;bt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Ct(n,"mounted")),t.data.keepAlive&&(e._isMounted?At(n):wt(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?xt(e,!0):e.$destroy())}},Fo=Object.keys(Po),qo=1,Mo=2,Ho=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Ho++,e._isVue=!0,t&&t._isComponent?pe(e,t):e.$options=U(de(e.constructor),t||{},e),e._renderProxy=e,e._self=e,mt(e),lt(e),fe(e),Ct(e,"beforeCreate"),Wt(e),Dt(e),Ut(e),Ct(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(ge),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=L,t.prototype.$delete=R,t.prototype.$watch=function(t,e,n){var r=this;n=n||{},n.user=!0;var i=new Do(r,t,e,n);return n.immediate&&e.call(r,i.value),function(){i.teardown()}}}(ge),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,i=this;if(Array.isArray(t))for(var o=0,a=t.length;o<a;o++)r.$on(t[o],n);else(i._events[t]||(i._events[t]=[])).push(n),e.test(t)&&(i._hasHookEvent=!0);return i},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var i=0,o=t.length;i<o;i++)n.$off(t[i],e);return r}var a=r._events[t];if(!a)return r;if(1===arguments.length)return r._events[t]=null,r;for(var s,u=a.length;u--;)if((s=a[u])===e||s.fn===e){a.splice(u,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?m(n):n;for(var r=m(arguments,1),i=0,o=n.length;i<o;i++)n[i].apply(e,r)}return e}}(ge),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Ct(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=$o;$o=n,n._vnode=t,n.$el=i?n.__patch__(i,t):n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),$o=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ct(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||d(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ct(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$options._parentElm=t.$options._refElm=null}}}(ge),function(t){t.prototype.$nextTick=function(t){return uo(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e.staticRenderFns,i=e._parentVnode;if(t._isMounted)for(var o in t.$slots)t.$slots[o]=G(t.$slots[o]);t.$scopedSlots=i&&i.data.scopedSlots||Ui,r&&!t._staticTrees&&(t._staticTrees=[]),t.$vnode=i;var a;try{a=n.call(t._renderProxy,t.$createElement)}catch(e){A(e,t,"render function"),a=t._vnode}return a instanceof _o||(a=Co()),a.parent=i,a},t.prototype._o=ue,t.prototype._n=f,t.prototype._s=l,t.prototype._l=ne,t.prototype._t=re,t.prototype._q=w,t.prototype._i=x,t.prototype._m=se,t.prototype._f=ie,t.prototype._k=oe,t.prototype._b=ae,t.prototype._v=J,t.prototype._e=Co,t.prototype._u=gt}(ge);var Bo=[String,RegExp],Uo={name:"keep-alive",abstract:!0,props:{include:Bo,exclude:Bo},created:function(){this.cache=Object.create(null)},destroyed:function(){var t=this;for(var e in t.cache)ke(t.cache[e])},watch:{include:function(t){$e(this.cache,this._vnode,function(e){return Te(t,e)})},exclude:function(t){$e(this.cache,this._vnode,function(e){return!Te(t,e)})}},render:function(){var t=ct(this.$slots.default),e=t&&t.componentOptions;if(e){var n=Ce(e);if(n&&(this.include&&!Te(this.include,n)||this.exclude&&Te(this.exclude,n)))return t;var r=null==t.key?e.Ctor.cid+(e.tag?"::"+e.tag:""):t.key;this.cache[r]?t.componentInstance=this.cache[r].componentInstance:this.cache[r]=t,t.data.keepAlive=!0}return t}},Wo={KeepAlive:Uo};!function(t){var e={};e.get=function(){return Bi},Object.defineProperty(t,"config",e),t.util={warn:zi,extend:y,mergeOptions:U,defineReactive:I},t.set=L,t.delete=R,t.nextTick=uo,t.options=Object.create(null),Mi.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,y(t.options.components,Wo),me(t),ye(t),be(t),xe(t)}(ge),Object.defineProperty(ge.prototype,"$isServer",{get:oo}),Object.defineProperty(ge.prototype,"$ssrContext",{get:function(){return this.$vnode.ssrContext}}),ge.version="2.3.3";var zo,Vo,Xo,Ko,Jo,Qo,Go,Zo,Yo,ta=p("style,class"),ea=p("input,textarea,option,select"),na=function(t,e,n){return"value"===n&&ea(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},ra=p("contenteditable,draggable,spellcheck"),ia=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),oa="http://www.w3.org/1999/xlink",aa=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},sa=function(t){return aa(t)?t.slice(6,t.length):""},ua=function(t){return null==t||!1===t},ca={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},la=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template"),fa=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),pa=function(t){return"pre"===t},da=function(t){return la(t)||fa(t)},ha=Object.create(null),va=Object.freeze({createElement:Le,createElementNS:Re,createTextNode:Pe,createComment:Fe,insertBefore:qe,removeChild:Me,appendChild:He,parentNode:Be,nextSibling:Ue,tagName:We,setTextContent:ze,setAttribute:Ve}),ga={create:function(t,e){Xe(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xe(t,!0),Xe(e))},destroy:function(t){Xe(t,!0)}},ma=new _o("",{},[]),ya=["create","activate","update","remove","destroy"],ba={create:Ge,update:Ge,destroy:function(t){Ge(t,ma)}},_a=Object.create(null),wa=[ga,ba],xa={create:nn,update:nn},Ca={create:on,update:on},Ta=/[\w).+\-_$\]]/,$a="__r",ka="__c",Aa={create:Nn,update:Nn},Ea={create:Dn,update:Dn},Sa=v(function(t){var e={};return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var n=t.split(/:(.+)/);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),Oa=/^--/,ja=/\s*!important$/,Na=function(t,e,n){if(Oa.test(e))t.style.setProperty(e,n);else if(ja.test(n))t.style.setProperty(e,n.replace(ja,""),"important");else{var r=Ia(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},Da=["Webkit","Moz","ms"],Ia=v(function(t){if(Yo=Yo||document.createElement("div"),"filter"!==(t=Ii(t))&&t in Yo.style)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Da.length;n++){var r=Da[n]+e;if(r in Yo.style)return r}}),La={create:Mn,update:Mn},Ra=v(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Pa=Xi&&!Qi,Fa="transition",qa="animation",Ma="transition",Ha="transitionend",Ba="animation",Ua="animationend";Pa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ma="WebkitTransition",Ha="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ba="WebkitAnimation",Ua="webkitAnimationEnd"));var Wa=Xi&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout,za=/\b(transform|all)(,|$)/,Va=Xi?{create:er,activate:er,remove:function(t,e){!0!==t.data.show?Zn(t,e):e()}}:{},Xa=[xa,Ca,Aa,Ea,La,Va],Ka=Xa.concat(wa),Ja=function(t){function e(t){return new _o(O.tagName(t).toLowerCase(),{},[],void 0,t)}function o(t,e){function n(){0==--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=O.parentNode(t);r(e)&&O.removeChild(e,t)}function u(t,e,n,o,a){if(t.isRootInsert=!a,!c(t,e,n,o)){var s=t.data,u=t.children,l=t.tag;r(l)?(t.elm=t.ns?O.createElementNS(t.ns,l):O.createElement(l,t),m(t),h(t,u,e),r(s)&&g(t,e),d(n,t.elm,o)):i(t.isComment)?(t.elm=O.createComment(t.text),d(n,t.elm,o)):(t.elm=O.createTextNode(t.text),d(n,t.elm,o))}}function c(t,e,n,o){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1,n,o),r(t.componentInstance))return l(t,e),i(s)&&f(t,e,n,o),!0}}function l(t,e){r(t.data.pendingInsert)&&e.push.apply(e,t.data.pendingInsert),t.elm=t.componentInstance.$el,v(t)?(g(t,e),m(t)):(Xe(t),e.push(t))}function f(t,e,n,i){for(var o,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,r(o=a.data)&&r(o=o.transition)){for(o=0;o<E.activate.length;++o)E.activate[o](ma,a);e.push(a);break}d(n,t.elm,i)}function d(t,e,n){r(t)&&(r(n)?n.parentNode===t&&O.insertBefore(t,e,n):O.appendChild(t,e))}function h(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)u(e[r],n,t.elm,null,!0);else a(t.text)&&O.appendChild(t.elm,O.createTextNode(t.text))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return r(t.tag)}function g(t,e){for(var n=0;n<E.create.length;++n)E.create[n](ma,t);k=t.data.hook,r(k)&&(r(k.create)&&k.create(ma,t),r(k.insert)&&e.push(t))}function m(t){for(var e,n=t;n;)r(e=n.context)&&r(e=e.$options._scopeId)&&O.setAttribute(t.elm,e,""),n=n.parent;r(e=$o)&&e!==t.context&&r(e=e.$options._scopeId)&&O.setAttribute(t.elm,e,"")}function y(t,e,n,r,i,o){for(;r<=i;++r)u(n[r],o,t,e)}function b(t){var e,n,i=t.data;if(r(i))for(r(e=i.hook)&&r(e=e.destroy)&&e(t),e=0;e<E.destroy.length;++e)E.destroy[e](t);if(r(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,i){for(;n<=i;++n){var o=e[n];r(o)&&(r(o.tag)?(w(o),b(o)):s(o.elm))}}function w(t,e){if(r(e)||r(t.data)){var n,i=E.remove.length+1;for(r(e)?e.listeners+=i:e=o(t.elm,i),r(n=t.componentInstance)&&r(n=n._vnode)&&r(n.data)&&w(n,e),n=0;n<E.remove.length;++n)E.remove[n](t,e);r(n=t.data.hook)&&r(n=n.remove)?n(t,e):e()}else s(t.elm)}function x(t,e,i,o,a){for(var s,c,l,f,p=0,d=0,h=e.length-1,v=e[0],g=e[h],m=i.length-1,b=i[0],w=i[m],x=!a;p<=h&&d<=m;)n(v)?v=e[++p]:n(g)?g=e[--h]:Ke(v,b)?(C(v,b,o),v=e[++p],b=i[++d]):Ke(g,w)?(C(g,w,o),g=e[--h],w=i[--m]):Ke(v,w)?(C(v,w,o),x&&O.insertBefore(t,v.elm,O.nextSibling(g.elm)),v=e[++p],w=i[--m]):Ke(g,b)?(C(g,b,o),x&&O.insertBefore(t,g.elm,v.elm),g=e[--h],b=i[++d]):(n(s)&&(s=Qe(e,p,h)),c=r(b.key)?s[b.key]:null,n(c)?(u(b,o,t,v.elm),b=i[++d]):(l=e[c],Ke(l,b)?(C(l,b,o),e[c]=void 0,x&&O.insertBefore(t,b.elm,v.elm),b=i[++d]):(u(b,o,t,v.elm),b=i[++d])));p>h?(f=n(i[m+1])?null:i[m+1].elm,y(t,f,i,d,m,o)):d>m&&_(t,e,p,h)}function C(t,e,o,a){if(t!==e){if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return e.elm=t.elm,void(e.componentInstance=t.componentInstance);var s,u=e.data;r(u)&&r(s=u.hook)&&r(s=s.prepatch)&&s(t,e);var c=e.elm=t.elm,l=t.children,f=e.children;if(r(u)&&v(e)){for(s=0;s<E.update.length;++s)E.update[s](t,e);r(s=u.hook)&&r(s=s.update)&&s(t,e)}n(e.text)?r(l)&&r(f)?l!==f&&x(c,l,f,o,a):r(f)?(r(t.text)&&O.setTextContent(c,""),y(c,null,f,0,f.length-1,o)):r(l)?_(c,l,0,l.length-1):r(t.text)&&O.setTextContent(c,""):t.text!==e.text&&O.setTextContent(c,e.text),r(u)&&r(s=u.hook)&&r(s=s.postpatch)&&s(t,e)}}function T(t,e,n){if(i(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var o=0;o<e.length;++o)e[o].data.hook.insert(e[o])}function $(t,e,n){e.elm=t;var i=e.tag,o=e.data,a=e.children;if(r(o)&&(r(k=o.hook)&&r(k=k.init)&&k(e,!0),r(k=e.componentInstance)))return l(e,n),!0;if(r(i)){if(r(a))if(t.hasChildNodes()){for(var s=!0,u=t.firstChild,c=0;c<a.length;c++){if(!u||!$(u,a[c],n)){s=!1;break}u=u.nextSibling}if(!s||u)return!1}else h(e,a,n);if(r(o))for(var f in o)if(!j(f)){g(e,n);break}}else t.data!==e.text&&(t.data=e.text);return!0}var k,A,E={},S=t.modules,O=t.nodeOps;for(k=0;k<ya.length;++k)for(E[ya[k]]=[],A=0;A<S.length;++A)r(S[A][ya[k]])&&E[ya[k]].push(S[A][ya[k]]);var j=p("attrs,style,class,staticClass,staticStyle,key");return function(t,o,a,s,c,l){if(n(o))return void(r(t)&&b(t));var f=!1,p=[];if(n(t))f=!0,u(o,p,c,l);else{var d=r(t.nodeType);if(!d&&Ke(t,o))C(t,o,p,s);else{if(d){if(1===t.nodeType&&t.hasAttribute(qi)&&(t.removeAttribute(qi),a=!0),i(a)&&$(t,o,p))return T(o,p,!0),t;t=e(t)}var h=t.elm,g=O.parentNode(h);if(u(o,p,h._leaveCb?null:g,O.nextSibling(h)),r(o.parent)){for(var m=o.parent;m;)m.elm=o.elm,m=m.parent;if(v(o))for(var y=0;y<E.create.length;++y)E.create[y](ma,o.parent)}r(g)?_(g,[t],0,0):r(t.tag)&&b(t)}}return T(o,p,f),o.elm}}({nodeOps:va,modules:Ka});Qi&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&sr(t,"input")});var Qa={inserted:function(t,e,n){if("select"===n.tag){var r=function(){nr(t,e,n.context)};r(),(Ji||Gi)&&setTimeout(r,0)}else"textarea"!==n.tag&&"text"!==t.type&&"password"!==t.type||(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("change",ar),Zi||(t.addEventListener("compositionstart",or),t.addEventListener("compositionend",ar)),Qi&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){nr(t,e,n.context);(t.multiple?e.value.some(function(e){return rr(e,t.options)}):e.value!==e.oldValue&&rr(e.value,t.options))&&sr(t,"change")}}},Ga={bind:function(t,e,n){var r=e.value;n=ur(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i&&!Qi?(n.data.show=!0,Gn(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;r!==e.oldValue&&(n=ur(n),n.data&&n.data.transition&&!Qi?(n.data.show=!0,r?Gn(n,function(){t.style.display=t.__vOriginalDisplay}):Zn(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Za={model:Qa,show:Ga},Ya={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},ts={name:"transition",props:Ya,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag}),n.length)){var r=this.mode,i=n[0];if(pr(this.$vnode))return i;var o=cr(i);if(!o)return i;if(this._leaving)return fr(t,i);var s="__transition-"+this._uid+"-";o.key=null==o.key?s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var u=(o.data||(o.data={})).transition=lr(this),c=this._vnode,l=cr(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!dr(o,l)){var f=l&&(l.data.transition=y({},u));if("out-in"===r)return this._leaving=!0,tt(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),fr(t,i);if("in-out"===r){var p,d=function(){p()};tt(u,"afterEnter",d),tt(u,"enterCancelled",d),tt(f,"delayLeave",function(t){p=t})}}return i}}},es=y({tag:String,moveClass:String},Ya);delete es.mode;var ns={props:es,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=lr(this),s=0;s<i.length;s++){var u=i[s];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),n[u.key]=u,(u.data||(u.data={})).transition=a;else;}if(r){for(var c=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";if(t.length&&this.hasMove(t[0].elm,e)){t.forEach(hr),t.forEach(vr),t.forEach(gr);var n=document.body;n.offsetHeight;t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;zn(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ha,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ha,t),n._moveCb=null,Vn(n,e))})}})}},methods:{hasMove:function(t,e){if(!Pa)return!1;if(null!=this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){Bn(n,t)}),Hn(n,e),n.style.display="none",this.$el.appendChild(n);var r=Kn(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},rs={Transition:ts,TransitionGroup:ns};ge.config.mustUseProp=na,ge.config.isReservedTag=da,ge.config.isReservedAttr=ta,ge.config.getTagNamespace=Ne,ge.config.isUnknownElement=De,y(ge.options.directives,Za),y(ge.options.components,rs),ge.prototype.__patch__=Xi?Ja:_,ge.prototype.$mount=function(t,e){return t=t&&Xi?Ie(t):void 0,yt(this,t,e)},setTimeout(function(){Bi.devtools&&ao&&ao.emit("init",ge)},0);var is,os=!!Xi&&function(t,e){var n=document.createElement("div");return n.innerHTML='<div a="'+t+'">',n.innerHTML.indexOf(e)>0}("\n","&#10;"),as=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ss=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),us=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),cs=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],ls=new RegExp("^\\s*"+/([^\s"'<>\/=]+)/.source+"(?:\\s*("+/(?:=)/.source+")\\s*(?:"+cs.join("|")+"))?"),fs="[a-zA-Z_][\\w\\-\\.]*",ps="((?:"+fs+"\\:)?"+fs+")",ds=new RegExp("^<"+ps),hs=/^\s*(\/?)>/,vs=new RegExp("^<\\/"+ps+"[^>]*>"),gs=/^<!DOCTYPE [^>]+>/i,ms=/^<!--/,ys=/^<!\[/,bs=!1;"x".replace(/x(.)?/g,function(t,e){bs=""===e});var _s,ws,xs,Cs,Ts,$s,ks,As,Es,Ss,Os,js,Ns,Ds,Is,Ls,Rs,Ps,Fs=p("script,style,textarea",!0),qs={},Ms={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n"},Hs=/&(?:lt|gt|quot|amp);/g,Bs=/&(?:lt|gt|quot|amp|#10);/g,Us=/\{\{((?:.|\n)+?)\}\}/g,Ws=v(function(t){var e=t[0].replace(/[-.*+?^${}()|[\]\/\\]/g,"\\$&"),n=t[1].replace(/[-.*+?^${}()|[\]\/\\]/g,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),zs=/^@|^v-on:/,Vs=/^v-|^@|^:/,Xs=/(.*?)\s+(?:in|of)\s+(.*)/,Ks=/\((\{[^}]*\}|[^,]*),([^,]*)(?:,([^,]*))?\)/,Js=/:(.*)$/,Qs=/^:|^v-bind:/,Gs=/\.[^.]+/g,Zs=v(mr),Ys=/^xmlns:NS\d+/,tu=/^NS\d+:/,eu=v(Br),nu=/^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,ru=/^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/,iu={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ou=function(t){return"if("+t+")return null;"},au={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ou("$event.target !== $event.currentTarget"),ctrl:ou("!$event.ctrlKey"),shift:ou("!$event.shiftKey"),alt:ou("!$event.altKey"),meta:ou("!$event.metaKey"),left:ou("'button' in $event && $event.button !== 0"),middle:ou("'button' in $event && $event.button !== 1"),right:ou("'button' in $event && $event.button !== 2")},su={bind:Zr,cloak:_},uu=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),{staticKeys:["staticClass"],transformNode:Ti,genData:$i}),cu={staticKeys:["staticStyle"],transformNode:ki,genData:Ai},lu=[uu,cu],fu={model:Tn,text:Ei,html:Si},pu={expectHTML:!0,modules:lu,directives:fu,isPreTag:pa,isUnaryTag:as,mustUseProp:na,canBeLeftOpenTag:ss,isReservedTag:da,getTagNamespace:Ne,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(lu)},du=function(t){function e(e,n){var r=Object.create(t),i=[],o=[];if(r.warn=function(t,e){(e?o:i).push(t)},n){n.modules&&(r.modules=(t.modules||[]).concat(n.modules)),n.directives&&(r.directives=y(Object.create(t.directives),n.directives));for(var a in n)"modules"!==a&&"directives"!==a&&(r[a]=n[a])}var s=xi(e,r);return s.errors=i,s.tips=o,s}function n(t,n,i){n=n||{};var o=n.delimiters?String(n.delimiters)+t:t;if(r[o])return r[o];var a=e(t,n),s={},u=[];s.render=Ci(a.render,u);var c=a.staticRenderFns.length;s.staticRenderFns=new Array(c);for(var l=0;l<c;l++)s.staticRenderFns[l]=Ci(a.staticRenderFns[l],u);return r[o]=s}var r=Object.create(null);return{compile:e,compileToFunctions:n}}(pu),hu=du.compileToFunctions,vu=v(function(t){var e=Ie(t);return e&&e.innerHTML}),gu=ge.prototype.$mount;ge.prototype.$mount=function(t,e){if((t=t&&Ie(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=vu(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=Oi(t));if(r){var i=hu(r,{shouldDecodeNewlines:os,delimiters:n.delimiters},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return gu.call(this,t,e)},ge.compile=hu,t.exports=ge}).call(e,n(7))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){n(8),t.exports=n(9)}]);
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.bundle.js b/workspace/public/js/bootstrap.bundle.js
new file mode 100644
index 0000000..8849439
--- /dev/null
+++ b/workspace/public/js/bootstrap.bundle.js
@@ -0,0 +1,6287 @@
+/*!
+  * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+var bootstrap = (function (exports,$) {
+'use strict';
+
+$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Util = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Private TransitionEnd Helpers
+   * ------------------------------------------------------------------------
+   */
+  var transition = false;
+  var MAX_UID = 1000000;
+  var TransitionEndEvent = {
+    WebkitTransition: 'webkitTransitionEnd',
+    MozTransition: 'transitionend',
+    OTransition: 'oTransitionEnd otransitionend',
+    transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+  };
+
+  function toType(obj) {
+    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+  }
+
+  function getSpecialTransitionEndEvent() {
+    return {
+      bindType: transition.end,
+      delegateType: transition.end,
+      handle: function handle(event) {
+        if ($(event.target).is(this)) {
+          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+        }
+
+        return undefined; // eslint-disable-line no-undefined
+      }
+    };
+  }
+
+  function transitionEndTest() {
+    if (window.QUnit) {
+      return false;
+    }
+
+    var el = document.createElement('bootstrap');
+
+    for (var name in TransitionEndEvent) {
+      if (typeof el.style[name] !== 'undefined') {
+        return {
+          end: TransitionEndEvent[name]
+        };
+      }
+    }
+
+    return false;
+  }
+
+  function transitionEndEmulator(duration) {
+    var _this = this;
+
+    var called = false;
+    $(this).one(Util.TRANSITION_END, function () {
+      called = true;
+    });
+    setTimeout(function () {
+      if (!called) {
+        Util.triggerTransitionEnd(_this);
+      }
+    }, duration);
+    return this;
+  }
+
+  function setTransitionEndSupport() {
+    transition = transitionEndTest();
+    $.fn.emulateTransitionEnd = transitionEndEmulator;
+
+    if (Util.supportsTransitionEnd()) {
+      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+    }
+  }
+  /**
+   * --------------------------------------------------------------------------
+   * Public Util Api
+   * --------------------------------------------------------------------------
+   */
+
+
+  var Util = {
+    TRANSITION_END: 'bsTransitionEnd',
+    getUID: function getUID(prefix) {
+      do {
+        // eslint-disable-next-line no-bitwise
+        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+      } while (document.getElementById(prefix));
+
+      return prefix;
+    },
+    getSelectorFromElement: function getSelectorFromElement(element) {
+      var selector = element.getAttribute('data-target');
+
+      if (!selector || selector === '#') {
+        selector = element.getAttribute('href') || '';
+      }
+
+      try {
+        var $selector = $(document).find(selector);
+        return $selector.length > 0 ? selector : null;
+      } catch (error) {
+        return null;
+      }
+    },
+    reflow: function reflow(element) {
+      return element.offsetHeight;
+    },
+    triggerTransitionEnd: function triggerTransitionEnd(element) {
+      $(element).trigger(transition.end);
+    },
+    supportsTransitionEnd: function supportsTransitionEnd() {
+      return Boolean(transition);
+    },
+    isElement: function isElement(obj) {
+      return (obj[0] || obj).nodeType;
+    },
+    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+      for (var property in configTypes) {
+        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+          var expectedTypes = configTypes[property];
+          var value = config[property];
+          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+          if (!new RegExp(expectedTypes).test(valueType)) {
+            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+          }
+        }
+      }
+    }
+  };
+  setTransitionEndSupport();
+  return Util;
+}($);
+
+function _defineProperties(target, props) {
+  for (var i = 0; i < props.length; i++) {
+    var descriptor = props[i];
+    descriptor.enumerable = descriptor.enumerable || false;
+    descriptor.configurable = true;
+    if ("value" in descriptor) descriptor.writable = true;
+    Object.defineProperty(target, descriptor.key, descriptor);
+  }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+  if (staticProps) _defineProperties(Constructor, staticProps);
+  return Constructor;
+}
+
+var createClass = _createClass;
+
+function _inheritsLoose(subClass, superClass) {
+  subClass.prototype = Object.create(superClass.prototype);
+  subClass.prototype.constructor = subClass;
+  subClass.__proto__ = superClass;
+}
+
+var inheritsLoose = _inheritsLoose;
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Alert = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'alert';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.alert';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var Selector = {
+    DISMISS: '[data-dismiss="alert"]'
+  };
+  var Event = {
+    CLOSE: "close" + EVENT_KEY,
+    CLOSED: "closed" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    ALERT: 'alert',
+    FADE: 'fade',
+    SHOW: 'show'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Alert =
+  /*#__PURE__*/
+  function () {
+    function Alert(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Alert.prototype;
+
+    // public
+    _proto.close = function close(element) {
+      element = element || this._element;
+
+      var rootElement = this._getRootElement(element);
+
+      var customEvent = this._triggerCloseEvent(rootElement);
+
+      if (customEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._removeElement(rootElement);
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // private
+
+
+    _proto._getRootElement = function _getRootElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      var parent = false;
+
+      if (selector) {
+        parent = $(selector)[0];
+      }
+
+      if (!parent) {
+        parent = $(element).closest("." + ClassName.ALERT)[0];
+      }
+
+      return parent;
+    };
+
+    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+      var closeEvent = $.Event(Event.CLOSE);
+      $(element).trigger(closeEvent);
+      return closeEvent;
+    };
+
+    _proto._removeElement = function _removeElement(element) {
+      var _this = this;
+
+      $(element).removeClass(ClassName.SHOW);
+
+      if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+        this._destroyElement(element);
+
+        return;
+      }
+
+      $(element).one(Util.TRANSITION_END, function (event) {
+        return _this._destroyElement(element, event);
+      }).emulateTransitionEnd(TRANSITION_DURATION);
+    };
+
+    _proto._destroyElement = function _destroyElement(element) {
+      $(element).detach().trigger(Event.CLOSED).remove();
+    }; // static
+
+
+    Alert._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY);
+
+        if (!data) {
+          data = new Alert(this);
+          $element.data(DATA_KEY, data);
+        }
+
+        if (config === 'close') {
+          data[config](this);
+        }
+      });
+    };
+
+    Alert._handleDismiss = function _handleDismiss(alertInstance) {
+      return function (event) {
+        if (event) {
+          event.preventDefault();
+        }
+
+        alertInstance.close(this);
+      };
+    };
+
+    createClass(Alert, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Alert;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Alert._jQueryInterface;
+  $.fn[NAME].Constructor = Alert;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Alert._jQueryInterface;
+  };
+
+  return Alert;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Button = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'button';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.button';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var ClassName = {
+    ACTIVE: 'active',
+    BUTTON: 'btn',
+    FOCUS: 'focus'
+  };
+  var Selector = {
+    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+    DATA_TOGGLE: '[data-toggle="buttons"]',
+    INPUT: 'input',
+    ACTIVE: '.active',
+    BUTTON: '.btn'
+  };
+  var Event = {
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Button =
+  /*#__PURE__*/
+  function () {
+    function Button(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Button.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      var triggerChangeEvent = true;
+      var addAriaPressed = true;
+      var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+
+      if (rootElement) {
+        var input = $(this._element).find(Selector.INPUT)[0];
+
+        if (input) {
+          if (input.type === 'radio') {
+            if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+              triggerChangeEvent = false;
+            } else {
+              var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+
+              if (activeElement) {
+                $(activeElement).removeClass(ClassName.ACTIVE);
+              }
+            }
+          }
+
+          if (triggerChangeEvent) {
+            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+              return;
+            }
+
+            input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
+            $(input).trigger('change');
+          }
+
+          input.focus();
+          addAriaPressed = false;
+        }
+      }
+
+      if (addAriaPressed) {
+        this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+      }
+
+      if (triggerChangeEvent) {
+        $(this._element).toggleClass(ClassName.ACTIVE);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // static
+
+
+    Button._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        if (!data) {
+          data = new Button(this);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (config === 'toggle') {
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Button, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Button;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+    event.preventDefault();
+    var button = event.target;
+
+    if (!$(button).hasClass(ClassName.BUTTON)) {
+      button = $(button).closest(Selector.BUTTON);
+    }
+
+    Button._jQueryInterface.call($(button), 'toggle');
+  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+    var button = $(event.target).closest(Selector.BUTTON)[0];
+    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Button._jQueryInterface;
+  $.fn[NAME].Constructor = Button;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Button._jQueryInterface;
+  };
+
+  return Button;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Carousel = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'carousel';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.carousel';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 600;
+  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+  var Default = {
+    interval: 5000,
+    keyboard: true,
+    slide: false,
+    pause: 'hover',
+    wrap: true
+  };
+  var DefaultType = {
+    interval: '(number|boolean)',
+    keyboard: 'boolean',
+    slide: '(boolean|string)',
+    pause: '(string|boolean)',
+    wrap: 'boolean'
+  };
+  var Direction = {
+    NEXT: 'next',
+    PREV: 'prev',
+    LEFT: 'left',
+    RIGHT: 'right'
+  };
+  var Event = {
+    SLIDE: "slide" + EVENT_KEY,
+    SLID: "slid" + EVENT_KEY,
+    KEYDOWN: "keydown" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY,
+    TOUCHEND: "touchend" + EVENT_KEY,
+    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    CAROUSEL: 'carousel',
+    ACTIVE: 'active',
+    SLIDE: 'slide',
+    RIGHT: 'carousel-item-right',
+    LEFT: 'carousel-item-left',
+    NEXT: 'carousel-item-next',
+    PREV: 'carousel-item-prev',
+    ITEM: 'carousel-item'
+  };
+  var Selector = {
+    ACTIVE: '.active',
+    ACTIVE_ITEM: '.active.carousel-item',
+    ITEM: '.carousel-item',
+    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+    INDICATORS: '.carousel-indicators',
+    DATA_SLIDE: '[data-slide], [data-slide-to]',
+    DATA_RIDE: '[data-ride="carousel"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Carousel =
+  /*#__PURE__*/
+  function () {
+    function Carousel(element, config) {
+      this._items = null;
+      this._interval = null;
+      this._activeElement = null;
+      this._isPaused = false;
+      this._isSliding = false;
+      this.touchTimeout = null;
+      this._config = this._getConfig(config);
+      this._element = $(element)[0];
+      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+
+      this._addEventListeners();
+    } // getters
+
+
+    var _proto = Carousel.prototype;
+
+    // public
+    _proto.next = function next() {
+      if (!this._isSliding) {
+        this._slide(Direction.NEXT);
+      }
+    };
+
+    _proto.nextWhenVisible = function nextWhenVisible() {
+      // Don't call next when the page isn't visible
+      // or the carousel or its parent isn't visible
+      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
+        this.next();
+      }
+    };
+
+    _proto.prev = function prev() {
+      if (!this._isSliding) {
+        this._slide(Direction.PREV);
+      }
+    };
+
+    _proto.pause = function pause(event) {
+      if (!event) {
+        this._isPaused = true;
+      }
+
+      if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+        Util.triggerTransitionEnd(this._element);
+        this.cycle(true);
+      }
+
+      clearInterval(this._interval);
+      this._interval = null;
+    };
+
+    _proto.cycle = function cycle(event) {
+      if (!event) {
+        this._isPaused = false;
+      }
+
+      if (this._interval) {
+        clearInterval(this._interval);
+        this._interval = null;
+      }
+
+      if (this._config.interval && !this._isPaused) {
+        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+      }
+    };
+
+    _proto.to = function to(index) {
+      var _this = this;
+
+      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+      var activeIndex = this._getItemIndex(this._activeElement);
+
+      if (index > this._items.length - 1 || index < 0) {
+        return;
+      }
+
+      if (this._isSliding) {
+        $(this._element).one(Event.SLID, function () {
+          return _this.to(index);
+        });
+        return;
+      }
+
+      if (activeIndex === index) {
+        this.pause();
+        this.cycle();
+        return;
+      }
+
+      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+      this._slide(direction, this._items[index]);
+    };
+
+    _proto.dispose = function dispose() {
+      $(this._element).off(EVENT_KEY);
+      $.removeData(this._element, DATA_KEY);
+      this._items = null;
+      this._config = null;
+      this._element = null;
+      this._interval = null;
+      this._isPaused = null;
+      this._isSliding = null;
+      this._activeElement = null;
+      this._indicatorsElement = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this2 = this;
+
+      if (this._config.keyboard) {
+        $(this._element).on(Event.KEYDOWN, function (event) {
+          return _this2._keydown(event);
+        });
+      }
+
+      if (this._config.pause === 'hover') {
+        $(this._element).on(Event.MOUSEENTER, function (event) {
+          return _this2.pause(event);
+        }).on(Event.MOUSELEAVE, function (event) {
+          return _this2.cycle(event);
+        });
+
+        if ('ontouchstart' in document.documentElement) {
+          // if it's a touch-enabled device, mouseenter/leave are fired as
+          // part of the mouse compatibility events on first tap - the carousel
+          // would stop cycling until user tapped out of it;
+          // here, we listen for touchend, explicitly pause the carousel
+          // (as if it's the second time we tap on it, mouseenter compat event
+          // is NOT fired) and after a timeout (to allow for mouse compatibility
+          // events to fire) we explicitly restart cycling
+          $(this._element).on(Event.TOUCHEND, function () {
+            _this2.pause();
+
+            if (_this2.touchTimeout) {
+              clearTimeout(_this2.touchTimeout);
+            }
+
+            _this2.touchTimeout = setTimeout(function (event) {
+              return _this2.cycle(event);
+            }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+          });
+        }
+      }
+    };
+
+    _proto._keydown = function _keydown(event) {
+      if (/input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
+
+      switch (event.which) {
+        case ARROW_LEFT_KEYCODE:
+          event.preventDefault();
+          this.prev();
+          break;
+
+        case ARROW_RIGHT_KEYCODE:
+          event.preventDefault();
+          this.next();
+          break;
+
+        default:
+          return;
+      }
+    };
+
+    _proto._getItemIndex = function _getItemIndex(element) {
+      this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+      return this._items.indexOf(element);
+    };
+
+    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+      var isNextDirection = direction === Direction.NEXT;
+      var isPrevDirection = direction === Direction.PREV;
+
+      var activeIndex = this._getItemIndex(activeElement);
+
+      var lastItemIndex = this._items.length - 1;
+      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+      if (isGoingToWrap && !this._config.wrap) {
+        return activeElement;
+      }
+
+      var delta = direction === Direction.PREV ? -1 : 1;
+      var itemIndex = (activeIndex + delta) % this._items.length;
+      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+    };
+
+    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+      var targetIndex = this._getItemIndex(relatedTarget);
+
+      var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
+
+      var slideEvent = $.Event(Event.SLIDE, {
+        relatedTarget: relatedTarget,
+        direction: eventDirectionName,
+        from: fromIndex,
+        to: targetIndex
+      });
+      $(this._element).trigger(slideEvent);
+      return slideEvent;
+    };
+
+    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+      if (this._indicatorsElement) {
+        $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
+        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+        if (nextIndicator) {
+          $(nextIndicator).addClass(ClassName.ACTIVE);
+        }
+      }
+    };
+
+    _proto._slide = function _slide(direction, element) {
+      var _this3 = this;
+
+      var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+      var activeElementIndex = this._getItemIndex(activeElement);
+
+      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+      var nextElementIndex = this._getItemIndex(nextElement);
+
+      var isCycling = Boolean(this._interval);
+      var directionalClassName;
+      var orderClassName;
+      var eventDirectionName;
+
+      if (direction === Direction.NEXT) {
+        directionalClassName = ClassName.LEFT;
+        orderClassName = ClassName.NEXT;
+        eventDirectionName = Direction.LEFT;
+      } else {
+        directionalClassName = ClassName.RIGHT;
+        orderClassName = ClassName.PREV;
+        eventDirectionName = Direction.RIGHT;
+      }
+
+      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+        this._isSliding = false;
+        return;
+      }
+
+      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+
+      if (slideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (!activeElement || !nextElement) {
+        // some weirdness is happening, so we bail
+        return;
+      }
+
+      this._isSliding = true;
+
+      if (isCycling) {
+        this.pause();
+      }
+
+      this._setActiveIndicatorElement(nextElement);
+
+      var slidEvent = $.Event(Event.SLID, {
+        relatedTarget: nextElement,
+        direction: eventDirectionName,
+        from: activeElementIndex,
+        to: nextElementIndex
+      });
+
+      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+        $(nextElement).addClass(orderClassName);
+        Util.reflow(nextElement);
+        $(activeElement).addClass(directionalClassName);
+        $(nextElement).addClass(directionalClassName);
+        $(activeElement).one(Util.TRANSITION_END, function () {
+          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
+          $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+          _this3._isSliding = false;
+          setTimeout(function () {
+            return $(_this3._element).trigger(slidEvent);
+          }, 0);
+        }).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        $(activeElement).removeClass(ClassName.ACTIVE);
+        $(nextElement).addClass(ClassName.ACTIVE);
+        this._isSliding = false;
+        $(this._element).trigger(slidEvent);
+      }
+
+      if (isCycling) {
+        this.cycle();
+      }
+    }; // static
+
+
+    Carousel._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = $.extend({}, Default, $(this).data());
+
+        if (typeof config === 'object') {
+          $.extend(_config, config);
+        }
+
+        var action = typeof config === 'string' ? config : _config.slide;
+
+        if (!data) {
+          data = new Carousel(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'number') {
+          data.to(config);
+        } else if (typeof action === 'string') {
+          if (typeof data[action] === 'undefined') {
+            throw new Error("No method named \"" + action + "\"");
+          }
+
+          data[action]();
+        } else if (_config.interval) {
+          data.pause();
+          data.cycle();
+        }
+      });
+    };
+
+    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+      var selector = Util.getSelectorFromElement(this);
+
+      if (!selector) {
+        return;
+      }
+
+      var target = $(selector)[0];
+
+      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+        return;
+      }
+
+      var config = $.extend({}, $(target).data(), $(this).data());
+      var slideIndex = this.getAttribute('data-slide-to');
+
+      if (slideIndex) {
+        config.interval = false;
+      }
+
+      Carousel._jQueryInterface.call($(target), config);
+
+      if (slideIndex) {
+        $(target).data(DATA_KEY).to(slideIndex);
+      }
+
+      event.preventDefault();
+    };
+
+    createClass(Carousel, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Carousel;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+  $(window).on(Event.LOAD_DATA_API, function () {
+    $(Selector.DATA_RIDE).each(function () {
+      var $carousel = $(this);
+
+      Carousel._jQueryInterface.call($carousel, $carousel.data());
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Carousel._jQueryInterface;
+  $.fn[NAME].Constructor = Carousel;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Carousel._jQueryInterface;
+  };
+
+  return Carousel;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Collapse = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'collapse';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.collapse';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 600;
+  var Default = {
+    toggle: true,
+    parent: ''
+  };
+  var DefaultType = {
+    toggle: 'boolean',
+    parent: '(string|element)'
+  };
+  var Event = {
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    SHOW: 'show',
+    COLLAPSE: 'collapse',
+    COLLAPSING: 'collapsing',
+    COLLAPSED: 'collapsed'
+  };
+  var Dimension = {
+    WIDTH: 'width',
+    HEIGHT: 'height'
+  };
+  var Selector = {
+    ACTIVES: '.show, .collapsing',
+    DATA_TOGGLE: '[data-toggle="collapse"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Collapse =
+  /*#__PURE__*/
+  function () {
+    function Collapse(element, config) {
+      this._isTransitioning = false;
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+      var tabToggles = $(Selector.DATA_TOGGLE);
+
+      for (var i = 0; i < tabToggles.length; i++) {
+        var elem = tabToggles[i];
+        var selector = Util.getSelectorFromElement(elem);
+
+        if (selector !== null && $(selector).filter(element).length > 0) {
+          this._triggerArray.push(elem);
+        }
+      }
+
+      this._parent = this._config.parent ? this._getParent() : null;
+
+      if (!this._config.parent) {
+        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+      }
+
+      if (this._config.toggle) {
+        this.toggle();
+      }
+    } // getters
+
+
+    var _proto = Collapse.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      if ($(this._element).hasClass(ClassName.SHOW)) {
+        this.hide();
+      } else {
+        this.show();
+      }
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
+        return;
+      }
+
+      var actives;
+      var activesData;
+
+      if (this._parent) {
+        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
+
+        if (!actives.length) {
+          actives = null;
+        }
+      }
+
+      if (actives) {
+        activesData = $(actives).data(DATA_KEY);
+
+        if (activesData && activesData._isTransitioning) {
+          return;
+        }
+      }
+
+      var startEvent = $.Event(Event.SHOW);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (actives) {
+        Collapse._jQueryInterface.call($(actives), 'hide');
+
+        if (!activesData) {
+          $(actives).data(DATA_KEY, null);
+        }
+      }
+
+      var dimension = this._getDimension();
+
+      $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+      this._element.style[dimension] = 0;
+
+      if (this._triggerArray.length) {
+        $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+        _this._element.style[dimension] = '';
+
+        _this.setTransitioning(false);
+
+        $(_this._element).trigger(Event.SHOWN);
+      };
+
+      if (!Util.supportsTransitionEnd()) {
+        complete();
+        return;
+      }
+
+      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+      var scrollSize = "scroll" + capitalizedDimension;
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      this._element.style[dimension] = this._element[scrollSize] + "px";
+    };
+
+    _proto.hide = function hide() {
+      var _this2 = this;
+
+      if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
+        return;
+      }
+
+      var startEvent = $.Event(Event.HIDE);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      var dimension = this._getDimension();
+
+      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+      Util.reflow(this._element);
+      $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
+      if (this._triggerArray.length) {
+        for (var i = 0; i < this._triggerArray.length; i++) {
+          var trigger = this._triggerArray[i];
+          var selector = Util.getSelectorFromElement(trigger);
+
+          if (selector !== null) {
+            var $elem = $(selector);
+
+            if (!$elem.hasClass(ClassName.SHOW)) {
+              $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+            }
+          }
+        }
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        _this2.setTransitioning(false);
+
+        $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+      };
+
+      this._element.style[dimension] = '';
+
+      if (!Util.supportsTransitionEnd()) {
+        complete();
+        return;
+      }
+
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+    };
+
+    _proto.setTransitioning = function setTransitioning(isTransitioning) {
+      this._isTransitioning = isTransitioning;
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._config = null;
+      this._parent = null;
+      this._element = null;
+      this._triggerArray = null;
+      this._isTransitioning = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      config.toggle = Boolean(config.toggle); // coerce string values
+
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._getDimension = function _getDimension() {
+      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+    };
+
+    _proto._getParent = function _getParent() {
+      var _this3 = this;
+
+      var parent = null;
+
+      if (Util.isElement(this._config.parent)) {
+        parent = this._config.parent; // it's a jQuery object
+
+        if (typeof this._config.parent.jquery !== 'undefined') {
+          parent = this._config.parent[0];
+        }
+      } else {
+        parent = $(this._config.parent)[0];
+      }
+
+      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+      $(parent).find(selector).each(function (i, element) {
+        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+      });
+      return parent;
+    };
+
+    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+      if (element) {
+        var isOpen = $(element).hasClass(ClassName.SHOW);
+
+        if (triggerArray.length) {
+          $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+        }
+      }
+    }; // static
+
+
+    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      return selector ? $(selector)[0] : null;
+    };
+
+    Collapse._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY);
+
+        var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);
+
+        if (!data && _config.toggle && /show|hide/.test(config)) {
+          _config.toggle = false;
+        }
+
+        if (!data) {
+          data = new Collapse(this, _config);
+          $this.data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Collapse, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Collapse;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+    if (event.currentTarget.tagName === 'A') {
+      event.preventDefault();
+    }
+
+    var $trigger = $(this);
+    var selector = Util.getSelectorFromElement(this);
+    $(selector).each(function () {
+      var $target = $(this);
+      var data = $target.data(DATA_KEY);
+      var config = data ? 'toggle' : $trigger.data();
+
+      Collapse._jQueryInterface.call($target, config);
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Collapse._jQueryInterface;
+  $.fn[NAME].Constructor = Collapse;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Collapse._jQueryInterface;
+  };
+
+  return Collapse;
+}($);
+
+/**!
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
+ * @version 1.12.5
+ * @license
+ * Copyright (c) 2016 Federico Zivolo and contributors
+ *
+ * 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.
+ */
+var nativeHints = ['native code', '[object MutationObserverConstructor]'];
+
+/**
+ * Determine if a function is implemented natively (as opposed to a polyfill).
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Function | undefined} fn the function to check
+ * @returns {Boolean}
+ */
+var isNative = (function (fn) {
+  return nativeHints.some(function (hint) {
+    return (fn || '').toString().indexOf(hint) > -1;
+  });
+});
+
+var isBrowser = typeof window !== 'undefined';
+var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
+var timeoutDuration = 0;
+for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
+  if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
+    timeoutDuration = 1;
+    break;
+  }
+}
+
+function microtaskDebounce(fn) {
+  var scheduled = false;
+  var i = 0;
+  var elem = document.createElement('span');
+
+  // MutationObserver provides a mechanism for scheduling microtasks, which
+  // are scheduled *before* the next task. This gives us a way to debounce
+  // a function but ensure it's called *before* the next paint.
+  var observer = new MutationObserver(function () {
+    fn();
+    scheduled = false;
+  });
+
+  observer.observe(elem, { attributes: true });
+
+  return function () {
+    if (!scheduled) {
+      scheduled = true;
+      elem.setAttribute('x-index', i);
+      i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8
+    }
+  };
+}
+
+function taskDebounce(fn) {
+  var scheduled = false;
+  return function () {
+    if (!scheduled) {
+      scheduled = true;
+      setTimeout(function () {
+        scheduled = false;
+        fn();
+      }, timeoutDuration);
+    }
+  };
+}
+
+// It's common for MutationObserver polyfills to be seen in the wild, however
+// these rely on Mutation Events which only occur when an element is connected
+// to the DOM. The algorithm used in this module does not use a connected element,
+// and so we must ensure that a *native* MutationObserver is available.
+var supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);
+
+/**
+* Create a debounced version of a method, that's asynchronously deferred
+* but called in the minimum time possible.
+*
+* @method
+* @memberof Popper.Utils
+* @argument {Function} fn
+* @returns {Function}
+*/
+var debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;
+
+/**
+ * Check if the given variable is a function
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Any} functionToCheck - variable to check
+ * @returns {Boolean} answer to: is a function?
+ */
+function isFunction(functionToCheck) {
+  var getType = {};
+  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
+}
+
+/**
+ * Get CSS computed property of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Eement} element
+ * @argument {String} property
+ */
+function getStyleComputedProperty(element, property) {
+  if (element.nodeType !== 1) {
+    return [];
+  }
+  // NOTE: 1 DOM access here
+  var css = window.getComputedStyle(element, null);
+  return property ? css[property] : css;
+}
+
+/**
+ * Returns the parentNode or the host of the element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} parent
+ */
+function getParentNode(element) {
+  if (element.nodeName === 'HTML') {
+    return element;
+  }
+  return element.parentNode || element.host;
+}
+
+/**
+ * Returns the scrolling parent of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} scroll parent
+ */
+function getScrollParent(element) {
+  // Return body, `getScroll` will take care to get the correct `scrollTop` from it
+  if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {
+    return window.document.body;
+  }
+
+  // Firefox want us to check `-x` and `-y` variations as well
+
+  var _getStyleComputedProp = getStyleComputedProperty(element),
+      overflow = _getStyleComputedProp.overflow,
+      overflowX = _getStyleComputedProp.overflowX,
+      overflowY = _getStyleComputedProp.overflowY;
+
+  if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
+    return element;
+  }
+
+  return getScrollParent(getParentNode(element));
+}
+
+/**
+ * Returns the offset parent of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} offset parent
+ */
+function getOffsetParent(element) {
+  // NOTE: 1 DOM access here
+  var offsetParent = element && element.offsetParent;
+  var nodeName = offsetParent && offsetParent.nodeName;
+
+  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
+    return window.document.documentElement;
+  }
+
+  // .offsetParent will return the closest TD or TABLE in case
+  // no offsetParent is present, I hate this job...
+  if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
+    return getOffsetParent(offsetParent);
+  }
+
+  return offsetParent;
+}
+
+function isOffsetContainer(element) {
+  var nodeName = element.nodeName;
+
+  if (nodeName === 'BODY') {
+    return false;
+  }
+  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
+}
+
+/**
+ * Finds the root node (document, shadowDOM root) of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} node
+ * @returns {Element} root node
+ */
+function getRoot(node) {
+  if (node.parentNode !== null) {
+    return getRoot(node.parentNode);
+  }
+
+  return node;
+}
+
+/**
+ * Finds the offset parent common to the two provided nodes
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element1
+ * @argument {Element} element2
+ * @returns {Element} common offset parent
+ */
+function findCommonOffsetParent(element1, element2) {
+  // This check is needed to avoid errors in case one of the elements isn't defined for any reason
+  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
+    return window.document.documentElement;
+  }
+
+  // Here we make sure to give as "start" the element that comes first in the DOM
+  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
+  var start = order ? element1 : element2;
+  var end = order ? element2 : element1;
+
+  // Get common ancestor container
+  var range = document.createRange();
+  range.setStart(start, 0);
+  range.setEnd(end, 0);
+  var commonAncestorContainer = range.commonAncestorContainer;
+
+  // Both nodes are inside #document
+
+  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
+    if (isOffsetContainer(commonAncestorContainer)) {
+      return commonAncestorContainer;
+    }
+
+    return getOffsetParent(commonAncestorContainer);
+  }
+
+  // one of the nodes is inside shadowDOM, find which one
+  var element1root = getRoot(element1);
+  if (element1root.host) {
+    return findCommonOffsetParent(element1root.host, element2);
+  } else {
+    return findCommonOffsetParent(element1, getRoot(element2).host);
+  }
+}
+
+/**
+ * Gets the scroll value of the given element in the given side (top and left)
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @argument {String} side `top` or `left`
+ * @returns {number} amount of scrolled pixels
+ */
+function getScroll(element) {
+  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
+
+  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
+  var nodeName = element.nodeName;
+
+  if (nodeName === 'BODY' || nodeName === 'HTML') {
+    var html = window.document.documentElement;
+    var scrollingElement = window.document.scrollingElement || html;
+    return scrollingElement[upperSide];
+  }
+
+  return element[upperSide];
+}
+
+/*
+ * Sum or subtract the element scroll values (left and top) from a given rect object
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} rect - Rect object you want to change
+ * @param {HTMLElement} element - The element from the function reads the scroll values
+ * @param {Boolean} subtract - set to true if you want to subtract the scroll values
+ * @return {Object} rect - The modifier rect object
+ */
+function includeScroll(rect, element) {
+  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+  var scrollTop = getScroll(element, 'top');
+  var scrollLeft = getScroll(element, 'left');
+  var modifier = subtract ? -1 : 1;
+  rect.top += scrollTop * modifier;
+  rect.bottom += scrollTop * modifier;
+  rect.left += scrollLeft * modifier;
+  rect.right += scrollLeft * modifier;
+  return rect;
+}
+
+/*
+ * Helper to detect borders of a given element
+ * @method
+ * @memberof Popper.Utils
+ * @param {CSSStyleDeclaration} styles
+ * Result of `getStyleComputedProperty` on the given element
+ * @param {String} axis - `x` or `y`
+ * @return {number} borders - The borders size of the given axis
+ */
+
+function getBordersSize(styles, axis) {
+  var sideA = axis === 'x' ? 'Left' : 'Top';
+  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
+
+  return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];
+}
+
+/**
+ * Tells if you are running Internet Explorer 10
+ * @method
+ * @memberof Popper.Utils
+ * @returns {Boolean} isIE10
+ */
+var isIE10 = undefined;
+
+var isIE10$1 = function () {
+  if (isIE10 === undefined) {
+    isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;
+  }
+  return isIE10;
+};
+
+function getSize(axis, body, html, computedStyle) {
+  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
+}
+
+function getWindowSizes() {
+  var body = window.document.body;
+  var html = window.document.documentElement;
+  var computedStyle = isIE10$1() && window.getComputedStyle(html);
+
+  return {
+    height: getSize('Height', body, html, computedStyle),
+    width: getSize('Width', body, html, computedStyle)
+  };
+}
+
+var classCallCheck = function (instance, Constructor) {
+  if (!(instance instanceof Constructor)) {
+    throw new TypeError("Cannot call a class as a function");
+  }
+};
+
+var createClass$1 = function () {
+  function defineProperties(target, props) {
+    for (var i = 0; i < props.length; i++) {
+      var descriptor = props[i];
+      descriptor.enumerable = descriptor.enumerable || false;
+      descriptor.configurable = true;
+      if ("value" in descriptor) descriptor.writable = true;
+      Object.defineProperty(target, descriptor.key, descriptor);
+    }
+  }
+
+  return function (Constructor, protoProps, staticProps) {
+    if (protoProps) defineProperties(Constructor.prototype, protoProps);
+    if (staticProps) defineProperties(Constructor, staticProps);
+    return Constructor;
+  };
+}();
+
+
+
+
+
+var defineProperty = function (obj, key, value) {
+  if (key in obj) {
+    Object.defineProperty(obj, key, {
+      value: value,
+      enumerable: true,
+      configurable: true,
+      writable: true
+    });
+  } else {
+    obj[key] = value;
+  }
+
+  return obj;
+};
+
+var _extends$1 = Object.assign || function (target) {
+  for (var i = 1; i < arguments.length; i++) {
+    var source = arguments[i];
+
+    for (var key in source) {
+      if (Object.prototype.hasOwnProperty.call(source, key)) {
+        target[key] = source[key];
+      }
+    }
+  }
+
+  return target;
+};
+
+/**
+ * Given element offsets, generate an output similar to getBoundingClientRect
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Object} offsets
+ * @returns {Object} ClientRect like output
+ */
+function getClientRect(offsets) {
+  return _extends$1({}, offsets, {
+    right: offsets.left + offsets.width,
+    bottom: offsets.top + offsets.height
+  });
+}
+
+/**
+ * Get bounding client rect of given element
+ * @method
+ * @memberof Popper.Utils
+ * @param {HTMLElement} element
+ * @return {Object} client rect
+ */
+function getBoundingClientRect(element) {
+  var rect = {};
+
+  // IE10 10 FIX: Please, don't ask, the element isn't
+  // considered in DOM in some circumstances...
+  // This isn't reproducible in IE10 compatibility mode of IE11
+  if (isIE10$1()) {
+    try {
+      rect = element.getBoundingClientRect();
+      var scrollTop = getScroll(element, 'top');
+      var scrollLeft = getScroll(element, 'left');
+      rect.top += scrollTop;
+      rect.left += scrollLeft;
+      rect.bottom += scrollTop;
+      rect.right += scrollLeft;
+    } catch (err) {}
+  } else {
+    rect = element.getBoundingClientRect();
+  }
+
+  var result = {
+    left: rect.left,
+    top: rect.top,
+    width: rect.right - rect.left,
+    height: rect.bottom - rect.top
+  };
+
+  // subtract scrollbar size from sizes
+  var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
+  var width = sizes.width || element.clientWidth || result.right - result.left;
+  var height = sizes.height || element.clientHeight || result.bottom - result.top;
+
+  var horizScrollbar = element.offsetWidth - width;
+  var vertScrollbar = element.offsetHeight - height;
+
+  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
+  // we make this check conditional for performance reasons
+  if (horizScrollbar || vertScrollbar) {
+    var styles = getStyleComputedProperty(element);
+    horizScrollbar -= getBordersSize(styles, 'x');
+    vertScrollbar -= getBordersSize(styles, 'y');
+
+    result.width -= horizScrollbar;
+    result.height -= vertScrollbar;
+  }
+
+  return getClientRect(result);
+}
+
+function getOffsetRectRelativeToArbitraryNode(children, parent) {
+  var isIE10 = isIE10$1();
+  var isHTML = parent.nodeName === 'HTML';
+  var childrenRect = getBoundingClientRect(children);
+  var parentRect = getBoundingClientRect(parent);
+  var scrollParent = getScrollParent(children);
+
+  var styles = getStyleComputedProperty(parent);
+  var borderTopWidth = +styles.borderTopWidth.split('px')[0];
+  var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];
+
+  var offsets = getClientRect({
+    top: childrenRect.top - parentRect.top - borderTopWidth,
+    left: childrenRect.left - parentRect.left - borderLeftWidth,
+    width: childrenRect.width,
+    height: childrenRect.height
+  });
+  offsets.marginTop = 0;
+  offsets.marginLeft = 0;
+
+  // Subtract margins of documentElement in case it's being used as parent
+  // we do this only on HTML because it's the only element that behaves
+  // differently when margins are applied to it. The margins are included in
+  // the box of the documentElement, in the other cases not.
+  if (!isIE10 && isHTML) {
+    var marginTop = +styles.marginTop.split('px')[0];
+    var marginLeft = +styles.marginLeft.split('px')[0];
+
+    offsets.top -= borderTopWidth - marginTop;
+    offsets.bottom -= borderTopWidth - marginTop;
+    offsets.left -= borderLeftWidth - marginLeft;
+    offsets.right -= borderLeftWidth - marginLeft;
+
+    // Attach marginTop and marginLeft because in some circumstances we may need them
+    offsets.marginTop = marginTop;
+    offsets.marginLeft = marginLeft;
+  }
+
+  if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
+    offsets = includeScroll(offsets, parent);
+  }
+
+  return offsets;
+}
+
+function getViewportOffsetRectRelativeToArtbitraryNode(element) {
+  var html = window.document.documentElement;
+  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
+  var width = Math.max(html.clientWidth, window.innerWidth || 0);
+  var height = Math.max(html.clientHeight, window.innerHeight || 0);
+
+  var scrollTop = getScroll(html);
+  var scrollLeft = getScroll(html, 'left');
+
+  var offset = {
+    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
+    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
+    width: width,
+    height: height
+  };
+
+  return getClientRect(offset);
+}
+
+/**
+ * Check if the given element is fixed or is inside a fixed parent
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @argument {Element} customContainer
+ * @returns {Boolean} answer to "isFixed?"
+ */
+function isFixed(element) {
+  var nodeName = element.nodeName;
+  if (nodeName === 'BODY' || nodeName === 'HTML') {
+    return false;
+  }
+  if (getStyleComputedProperty(element, 'position') === 'fixed') {
+    return true;
+  }
+  return isFixed(getParentNode(element));
+}
+
+/**
+ * Computed the boundaries limits and return them
+ * @method
+ * @memberof Popper.Utils
+ * @param {HTMLElement} popper
+ * @param {HTMLElement} reference
+ * @param {number} padding
+ * @param {HTMLElement} boundariesElement - Element used to define the boundaries
+ * @returns {Object} Coordinates of the boundaries
+ */
+function getBoundaries(popper, reference, padding, boundariesElement) {
+  // NOTE: 1 DOM access here
+  var boundaries = { top: 0, left: 0 };
+  var offsetParent = findCommonOffsetParent(popper, reference);
+
+  // Handle viewport case
+  if (boundariesElement === 'viewport') {
+    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);
+  } else {
+    // Handle other cases based on DOM element used as boundaries
+    var boundariesNode = void 0;
+    if (boundariesElement === 'scrollParent') {
+      boundariesNode = getScrollParent(getParentNode(popper));
+      if (boundariesNode.nodeName === 'BODY') {
+        boundariesNode = window.document.documentElement;
+      }
+    } else if (boundariesElement === 'window') {
+      boundariesNode = window.document.documentElement;
+    } else {
+      boundariesNode = boundariesElement;
+    }
+
+    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);
+
+    // In case of HTML, we need a different computation
+    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
+      var _getWindowSizes = getWindowSizes(),
+          height = _getWindowSizes.height,
+          width = _getWindowSizes.width;
+
+      boundaries.top += offsets.top - offsets.marginTop;
+      boundaries.bottom = height + offsets.top;
+      boundaries.left += offsets.left - offsets.marginLeft;
+      boundaries.right = width + offsets.left;
+    } else {
+      // for all the other DOM elements, this one is good
+      boundaries = offsets;
+    }
+  }
+
+  // Add paddings
+  boundaries.left += padding;
+  boundaries.top += padding;
+  boundaries.right -= padding;
+  boundaries.bottom -= padding;
+
+  return boundaries;
+}
+
+function getArea(_ref) {
+  var width = _ref.width,
+      height = _ref.height;
+
+  return width * height;
+}
+
+/**
+ * Utility used to transform the `auto` placement to the placement with more
+ * available space.
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
+  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
+
+  if (placement.indexOf('auto') === -1) {
+    return placement;
+  }
+
+  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
+
+  var rects = {
+    top: {
+      width: boundaries.width,
+      height: refRect.top - boundaries.top
+    },
+    right: {
+      width: boundaries.right - refRect.right,
+      height: boundaries.height
+    },
+    bottom: {
+      width: boundaries.width,
+      height: boundaries.bottom - refRect.bottom
+    },
+    left: {
+      width: refRect.left - boundaries.left,
+      height: boundaries.height
+    }
+  };
+
+  var sortedAreas = Object.keys(rects).map(function (key) {
+    return _extends$1({
+      key: key
+    }, rects[key], {
+      area: getArea(rects[key])
+    });
+  }).sort(function (a, b) {
+    return b.area - a.area;
+  });
+
+  var filteredAreas = sortedAreas.filter(function (_ref2) {
+    var width = _ref2.width,
+        height = _ref2.height;
+    return width >= popper.clientWidth && height >= popper.clientHeight;
+  });
+
+  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
+
+  var variation = placement.split('-')[1];
+
+  return computedPlacement + (variation ? '-' + variation : '');
+}
+
+/**
+ * Get offsets to the reference element
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} state
+ * @param {Element} popper - the popper element
+ * @param {Element} reference - the reference element (the popper will be relative to this)
+ * @returns {Object} An object containing the offsets which will be applied to the popper
+ */
+function getReferenceOffsets(state, popper, reference) {
+  var commonOffsetParent = findCommonOffsetParent(popper, reference);
+  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);
+}
+
+/**
+ * Get the outer sizes of the given element (offset size + margins)
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Object} object containing width and height properties
+ */
+function getOuterSizes(element) {
+  var styles = window.getComputedStyle(element);
+  var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
+  var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
+  var result = {
+    width: element.offsetWidth + y,
+    height: element.offsetHeight + x
+  };
+  return result;
+}
+
+/**
+ * Get the opposite placement of the given one
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement
+ * @returns {String} flipped placement
+ */
+function getOppositePlacement(placement) {
+  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
+  return placement.replace(/left|right|bottom|top/g, function (matched) {
+    return hash[matched];
+  });
+}
+
+/**
+ * Get offsets to the popper
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} position - CSS position the Popper will get applied
+ * @param {HTMLElement} popper - the popper element
+ * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
+ * @param {String} placement - one of the valid placement options
+ * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
+ */
+function getPopperOffsets(popper, referenceOffsets, placement) {
+  placement = placement.split('-')[0];
+
+  // Get popper node sizes
+  var popperRect = getOuterSizes(popper);
+
+  // Add position, width and height to our offsets object
+  var popperOffsets = {
+    width: popperRect.width,
+    height: popperRect.height
+  };
+
+  // depending by the popper placement we have to compute its offsets slightly differently
+  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
+  var mainSide = isHoriz ? 'top' : 'left';
+  var secondarySide = isHoriz ? 'left' : 'top';
+  var measurement = isHoriz ? 'height' : 'width';
+  var secondaryMeasurement = !isHoriz ? 'height' : 'width';
+
+  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
+  if (placement === secondarySide) {
+    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
+  } else {
+    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
+  }
+
+  return popperOffsets;
+}
+
+/**
+ * Mimics the `find` method of Array
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Array} arr
+ * @argument prop
+ * @argument value
+ * @returns index or -1
+ */
+function find(arr, check) {
+  // use native find if supported
+  if (Array.prototype.find) {
+    return arr.find(check);
+  }
+
+  // use `filter` to obtain the same behavior of `find`
+  return arr.filter(check)[0];
+}
+
+/**
+ * Return the index of the matching object
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Array} arr
+ * @argument prop
+ * @argument value
+ * @returns index or -1
+ */
+function findIndex(arr, prop, value) {
+  // use native findIndex if supported
+  if (Array.prototype.findIndex) {
+    return arr.findIndex(function (cur) {
+      return cur[prop] === value;
+    });
+  }
+
+  // use `find` + `indexOf` if `findIndex` isn't supported
+  var match = find(arr, function (obj) {
+    return obj[prop] === value;
+  });
+  return arr.indexOf(match);
+}
+
+/**
+ * Loop trough the list of modifiers and run them in order,
+ * each of them will then edit the data object.
+ * @method
+ * @memberof Popper.Utils
+ * @param {dataObject} data
+ * @param {Array} modifiers
+ * @param {String} ends - Optional modifier name used as stopper
+ * @returns {dataObject}
+ */
+function runModifiers(modifiers, data, ends) {
+  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
+
+  modifiersToRun.forEach(function (modifier) {
+    if (modifier.function) {
+      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
+    }
+    var fn = modifier.function || modifier.fn;
+    if (modifier.enabled && isFunction(fn)) {
+      // Add properties to offsets to make them a complete clientRect object
+      // we do this before each modifier to make sure the previous one doesn't
+      // mess with these values
+      data.offsets.popper = getClientRect(data.offsets.popper);
+      data.offsets.reference = getClientRect(data.offsets.reference);
+
+      data = fn(data, modifier);
+    }
+  });
+
+  return data;
+}
+
+/**
+ * Updates the position of the popper, computing the new offsets and applying
+ * the new style.<br />
+ * Prefer `scheduleUpdate` over `update` because of performance reasons.
+ * @method
+ * @memberof Popper
+ */
+function update() {
+  // if popper is destroyed, don't perform any further update
+  if (this.state.isDestroyed) {
+    return;
+  }
+
+  var data = {
+    instance: this,
+    styles: {},
+    arrowStyles: {},
+    attributes: {},
+    flipped: false,
+    offsets: {}
+  };
+
+  // compute reference element offsets
+  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);
+
+  // compute auto placement, store placement inside the data object,
+  // modifiers will be able to edit `placement` if needed
+  // and refer to originalPlacement to know the original value
+  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
+
+  // store the computed placement inside `originalPlacement`
+  data.originalPlacement = data.placement;
+
+  // compute the popper offsets
+  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
+  data.offsets.popper.position = 'absolute';
+
+  // run the modifiers
+  data = runModifiers(this.modifiers, data);
+
+  // the first `update` will call `onCreate` callback
+  // the other ones will call `onUpdate` callback
+  if (!this.state.isCreated) {
+    this.state.isCreated = true;
+    this.options.onCreate(data);
+  } else {
+    this.options.onUpdate(data);
+  }
+}
+
+/**
+ * Helper used to know if the given modifier is enabled.
+ * @method
+ * @memberof Popper.Utils
+ * @returns {Boolean}
+ */
+function isModifierEnabled(modifiers, modifierName) {
+  return modifiers.some(function (_ref) {
+    var name = _ref.name,
+        enabled = _ref.enabled;
+    return enabled && name === modifierName;
+  });
+}
+
+/**
+ * Get the prefixed supported property name
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} property (camelCase)
+ * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
+ */
+function getSupportedPropertyName(property) {
+  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
+  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
+
+  for (var i = 0; i < prefixes.length - 1; i++) {
+    var prefix = prefixes[i];
+    var toCheck = prefix ? '' + prefix + upperProp : property;
+    if (typeof window.document.body.style[toCheck] !== 'undefined') {
+      return toCheck;
+    }
+  }
+  return null;
+}
+
+/**
+ * Destroy the popper
+ * @method
+ * @memberof Popper
+ */
+function destroy() {
+  this.state.isDestroyed = true;
+
+  // touch DOM only if `applyStyle` modifier is enabled
+  if (isModifierEnabled(this.modifiers, 'applyStyle')) {
+    this.popper.removeAttribute('x-placement');
+    this.popper.style.left = '';
+    this.popper.style.position = '';
+    this.popper.style.top = '';
+    this.popper.style[getSupportedPropertyName('transform')] = '';
+  }
+
+  this.disableEventListeners();
+
+  // remove the popper if user explicity asked for the deletion on destroy
+  // do not use `remove` because IE11 doesn't support it
+  if (this.options.removeOnDestroy) {
+    this.popper.parentNode.removeChild(this.popper);
+  }
+  return this;
+}
+
+function attachToScrollParents(scrollParent, event, callback, scrollParents) {
+  var isBody = scrollParent.nodeName === 'BODY';
+  var target = isBody ? window : scrollParent;
+  target.addEventListener(event, callback, { passive: true });
+
+  if (!isBody) {
+    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
+  }
+  scrollParents.push(target);
+}
+
+/**
+ * Setup needed event listeners used to update the popper position
+ * @method
+ * @memberof Popper.Utils
+ * @private
+ */
+function setupEventListeners(reference, options, state, updateBound) {
+  // Resize event listener on window
+  state.updateBound = updateBound;
+  window.addEventListener('resize', state.updateBound, { passive: true });
+
+  // Scroll event listener on scroll parents
+  var scrollElement = getScrollParent(reference);
+  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
+  state.scrollElement = scrollElement;
+  state.eventsEnabled = true;
+
+  return state;
+}
+
+/**
+ * It will add resize/scroll events and start recalculating
+ * position of the popper element when they are triggered.
+ * @method
+ * @memberof Popper
+ */
+function enableEventListeners() {
+  if (!this.state.eventsEnabled) {
+    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
+  }
+}
+
+/**
+ * Remove event listeners used to update the popper position
+ * @method
+ * @memberof Popper.Utils
+ * @private
+ */
+function removeEventListeners(reference, state) {
+  // Remove resize event listener on window
+  window.removeEventListener('resize', state.updateBound);
+
+  // Remove scroll event listener on scroll parents
+  state.scrollParents.forEach(function (target) {
+    target.removeEventListener('scroll', state.updateBound);
+  });
+
+  // Reset state
+  state.updateBound = null;
+  state.scrollParents = [];
+  state.scrollElement = null;
+  state.eventsEnabled = false;
+  return state;
+}
+
+/**
+ * It will remove resize/scroll events and won't recalculate popper position
+ * when they are triggered. It also won't trigger onUpdate callback anymore,
+ * unless you call `update` method manually.
+ * @method
+ * @memberof Popper
+ */
+function disableEventListeners() {
+  if (this.state.eventsEnabled) {
+    window.cancelAnimationFrame(this.scheduleUpdate);
+    this.state = removeEventListeners(this.reference, this.state);
+  }
+}
+
+/**
+ * Tells if a given input is a number
+ * @method
+ * @memberof Popper.Utils
+ * @param {*} input to check
+ * @return {Boolean}
+ */
+function isNumeric(n) {
+  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
+}
+
+/**
+ * Set the style to the given popper
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element - Element to apply the style to
+ * @argument {Object} styles
+ * Object with a list of properties and values which will be applied to the element
+ */
+function setStyles(element, styles) {
+  Object.keys(styles).forEach(function (prop) {
+    var unit = '';
+    // add unit if the value is numeric and is one of the following
+    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
+      unit = 'px';
+    }
+    element.style[prop] = styles[prop] + unit;
+  });
+}
+
+/**
+ * Set the attributes to the given popper
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element - Element to apply the attributes to
+ * @argument {Object} styles
+ * Object with a list of properties and values which will be applied to the element
+ */
+function setAttributes(element, attributes) {
+  Object.keys(attributes).forEach(function (prop) {
+    var value = attributes[prop];
+    if (value !== false) {
+      element.setAttribute(prop, attributes[prop]);
+    } else {
+      element.removeAttribute(prop);
+    }
+  });
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} data.styles - List of style properties - values to apply to popper element
+ * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The same data object
+ */
+function applyStyle(data) {
+  // any property present in `data.styles` will be applied to the popper,
+  // in this way we can make the 3rd party modifiers add custom styles to it
+  // Be aware, modifiers could override the properties defined in the previous
+  // lines of this modifier!
+  setStyles(data.instance.popper, data.styles);
+
+  // any property present in `data.attributes` will be applied to the popper,
+  // they will be set as HTML attributes of the element
+  setAttributes(data.instance.popper, data.attributes);
+
+  // if arrowElement is defined and arrowStyles has some properties
+  if (data.arrowElement && Object.keys(data.arrowStyles).length) {
+    setStyles(data.arrowElement, data.arrowStyles);
+  }
+
+  return data;
+}
+
+/**
+ * Set the x-placement attribute before everything else because it could be used
+ * to add margins to the popper margins needs to be calculated to get the
+ * correct popper offsets.
+ * @method
+ * @memberof Popper.modifiers
+ * @param {HTMLElement} reference - The reference element used to position the popper
+ * @param {HTMLElement} popper - The HTML element used as popper.
+ * @param {Object} options - Popper.js options
+ */
+function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
+  // compute reference element offsets
+  var referenceOffsets = getReferenceOffsets(state, popper, reference);
+
+  // compute auto placement, store placement inside the data object,
+  // modifiers will be able to edit `placement` if needed
+  // and refer to originalPlacement to know the original value
+  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
+
+  popper.setAttribute('x-placement', placement);
+
+  // Apply `position` to popper before anything else because
+  // without the position applied we can't guarantee correct computations
+  setStyles(popper, { position: 'absolute' });
+
+  return options;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function computeStyle(data, options) {
+  var x = options.x,
+      y = options.y;
+  var popper = data.offsets.popper;
+
+  // Remove this legacy support in Popper.js v2
+
+  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
+    return modifier.name === 'applyStyle';
+  }).gpuAcceleration;
+  if (legacyGpuAccelerationOption !== undefined) {
+    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
+  }
+  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
+
+  var offsetParent = getOffsetParent(data.instance.popper);
+  var offsetParentRect = getBoundingClientRect(offsetParent);
+
+  // Styles
+  var styles = {
+    position: popper.position
+  };
+
+  // floor sides to avoid blurry text
+  var offsets = {
+    left: Math.floor(popper.left),
+    top: Math.floor(popper.top),
+    bottom: Math.floor(popper.bottom),
+    right: Math.floor(popper.right)
+  };
+
+  var sideA = x === 'bottom' ? 'top' : 'bottom';
+  var sideB = y === 'right' ? 'left' : 'right';
+
+  // if gpuAcceleration is set to `true` and transform is supported,
+  //  we use `translate3d` to apply the position to the popper we
+  // automatically use the supported prefixed version if needed
+  var prefixedProperty = getSupportedPropertyName('transform');
+
+  // now, let's make a step back and look at this code closely (wtf?)
+  // If the content of the popper grows once it's been positioned, it
+  // may happen that the popper gets misplaced because of the new content
+  // overflowing its reference element
+  // To avoid this problem, we provide two options (x and y), which allow
+  // the consumer to define the offset origin.
+  // If we position a popper on top of a reference element, we can set
+  // `x` to `top` to make the popper grow towards its top instead of
+  // its bottom.
+  var left = void 0,
+      top = void 0;
+  if (sideA === 'bottom') {
+    top = -offsetParentRect.height + offsets.bottom;
+  } else {
+    top = offsets.top;
+  }
+  if (sideB === 'right') {
+    left = -offsetParentRect.width + offsets.right;
+  } else {
+    left = offsets.left;
+  }
+  if (gpuAcceleration && prefixedProperty) {
+    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
+    styles[sideA] = 0;
+    styles[sideB] = 0;
+    styles.willChange = 'transform';
+  } else {
+    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
+    var invertTop = sideA === 'bottom' ? -1 : 1;
+    var invertLeft = sideB === 'right' ? -1 : 1;
+    styles[sideA] = top * invertTop;
+    styles[sideB] = left * invertLeft;
+    styles.willChange = sideA + ', ' + sideB;
+  }
+
+  // Attributes
+  var attributes = {
+    'x-placement': data.placement
+  };
+
+  // Update `data` attributes, styles and arrowStyles
+  data.attributes = _extends$1({}, attributes, data.attributes);
+  data.styles = _extends$1({}, styles, data.styles);
+  data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);
+
+  return data;
+}
+
+/**
+ * Helper used to know if the given modifier depends from another one.<br />
+ * It checks if the needed modifier is listed and enabled.
+ * @method
+ * @memberof Popper.Utils
+ * @param {Array} modifiers - list of modifiers
+ * @param {String} requestingName - name of requesting modifier
+ * @param {String} requestedName - name of requested modifier
+ * @returns {Boolean}
+ */
+function isModifierRequired(modifiers, requestingName, requestedName) {
+  var requesting = find(modifiers, function (_ref) {
+    var name = _ref.name;
+    return name === requestingName;
+  });
+
+  var isRequired = !!requesting && modifiers.some(function (modifier) {
+    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
+  });
+
+  if (!isRequired) {
+    var _requesting = '`' + requestingName + '`';
+    var requested = '`' + requestedName + '`';
+    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
+  }
+  return isRequired;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function arrow(data, options) {
+  // arrow depends on keepTogether in order to work
+  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
+    return data;
+  }
+
+  var arrowElement = options.element;
+
+  // if arrowElement is a string, suppose it's a CSS selector
+  if (typeof arrowElement === 'string') {
+    arrowElement = data.instance.popper.querySelector(arrowElement);
+
+    // if arrowElement is not found, don't run the modifier
+    if (!arrowElement) {
+      return data;
+    }
+  } else {
+    // if the arrowElement isn't a query selector we must check that the
+    // provided DOM node is child of its popper node
+    if (!data.instance.popper.contains(arrowElement)) {
+      console.warn('WARNING: `arrow.element` must be child of its popper element!');
+      return data;
+    }
+  }
+
+  var placement = data.placement.split('-')[0];
+  var _data$offsets = data.offsets,
+      popper = _data$offsets.popper,
+      reference = _data$offsets.reference;
+
+  var isVertical = ['left', 'right'].indexOf(placement) !== -1;
+
+  var len = isVertical ? 'height' : 'width';
+  var sideCapitalized = isVertical ? 'Top' : 'Left';
+  var side = sideCapitalized.toLowerCase();
+  var altSide = isVertical ? 'left' : 'top';
+  var opSide = isVertical ? 'bottom' : 'right';
+  var arrowElementSize = getOuterSizes(arrowElement)[len];
+
+  //
+  // extends keepTogether behavior making sure the popper and its
+  // reference have enough pixels in conjuction
+  //
+
+  // top/left side
+  if (reference[opSide] - arrowElementSize < popper[side]) {
+    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
+  }
+  // bottom/right side
+  if (reference[side] + arrowElementSize > popper[opSide]) {
+    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
+  }
+
+  // compute center of the popper
+  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
+
+  // Compute the sideValue using the updated popper offsets
+  // take popper margin in account because we don't have this info available
+  var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');
+  var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;
+
+  // prevent arrowElement from being placed not contiguously to its popper
+  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
+
+  data.arrowElement = arrowElement;
+  data.offsets.arrow = {};
+  data.offsets.arrow[side] = Math.round(sideValue);
+  data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node
+
+  return data;
+}
+
+/**
+ * Get the opposite placement variation of the given one
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement variation
+ * @returns {String} flipped placement variation
+ */
+function getOppositeVariation(variation) {
+  if (variation === 'end') {
+    return 'start';
+  } else if (variation === 'start') {
+    return 'end';
+  }
+  return variation;
+}
+
+/**
+ * List of accepted placements to use as values of the `placement` option.<br />
+ * Valid placements are:
+ * - `auto`
+ * - `top`
+ * - `right`
+ * - `bottom`
+ * - `left`
+ *
+ * Each placement can have a variation from this list:
+ * - `-start`
+ * - `-end`
+ *
+ * Variations are interpreted easily if you think of them as the left to right
+ * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
+ * is right.<br />
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom.
+ *
+ * Some valid examples are:
+ * - `top-end` (on top of reference, right aligned)
+ * - `right-start` (on right of reference, top aligned)
+ * - `bottom` (on bottom, centered)
+ * - `auto-right` (on the side with more space available, alignment depends by placement)
+ *
+ * @static
+ * @type {Array}
+ * @enum {String}
+ * @readonly
+ * @method placements
+ * @memberof Popper
+ */
+var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
+
+// Get rid of `auto` `auto-start` and `auto-end`
+var validPlacements = placements.slice(3);
+
+/**
+ * Given an initial placement, returns all the subsequent placements
+ * clockwise (or counter-clockwise).
+ *
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement - A valid placement (it accepts variations)
+ * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
+ * @returns {Array} placements including their variations
+ */
+function clockwise(placement) {
+  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+  var index = validPlacements.indexOf(placement);
+  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
+  return counter ? arr.reverse() : arr;
+}
+
+var BEHAVIORS = {
+  FLIP: 'flip',
+  CLOCKWISE: 'clockwise',
+  COUNTERCLOCKWISE: 'counterclockwise'
+};
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function flip(data, options) {
+  // if `inner` modifier is enabled, we can't use the `flip` modifier
+  if (isModifierEnabled(data.instance.modifiers, 'inner')) {
+    return data;
+  }
+
+  if (data.flipped && data.placement === data.originalPlacement) {
+    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
+    return data;
+  }
+
+  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);
+
+  var placement = data.placement.split('-')[0];
+  var placementOpposite = getOppositePlacement(placement);
+  var variation = data.placement.split('-')[1] || '';
+
+  var flipOrder = [];
+
+  switch (options.behavior) {
+    case BEHAVIORS.FLIP:
+      flipOrder = [placement, placementOpposite];
+      break;
+    case BEHAVIORS.CLOCKWISE:
+      flipOrder = clockwise(placement);
+      break;
+    case BEHAVIORS.COUNTERCLOCKWISE:
+      flipOrder = clockwise(placement, true);
+      break;
+    default:
+      flipOrder = options.behavior;
+  }
+
+  flipOrder.forEach(function (step, index) {
+    if (placement !== step || flipOrder.length === index + 1) {
+      return data;
+    }
+
+    placement = data.placement.split('-')[0];
+    placementOpposite = getOppositePlacement(placement);
+
+    var popperOffsets = data.offsets.popper;
+    var refOffsets = data.offsets.reference;
+
+    // using floor because the reference offsets may contain decimals we are not going to consider here
+    var floor = Math.floor;
+    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
+
+    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
+    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
+    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
+    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
+
+    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
+
+    // flip the variation if required
+    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
+
+    if (overlapsRef || overflowsBoundaries || flippedVariation) {
+      // this boolean to detect any flip loop
+      data.flipped = true;
+
+      if (overlapsRef || overflowsBoundaries) {
+        placement = flipOrder[index + 1];
+      }
+
+      if (flippedVariation) {
+        variation = getOppositeVariation(variation);
+      }
+
+      data.placement = placement + (variation ? '-' + variation : '');
+
+      // this object contains `position`, we want to preserve it along with
+      // any additional property we may add in the future
+      data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
+
+      data = runModifiers(data.instance.modifiers, data, 'flip');
+    }
+  });
+  return data;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function keepTogether(data) {
+  var _data$offsets = data.offsets,
+      popper = _data$offsets.popper,
+      reference = _data$offsets.reference;
+
+  var placement = data.placement.split('-')[0];
+  var floor = Math.floor;
+  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+  var side = isVertical ? 'right' : 'bottom';
+  var opSide = isVertical ? 'left' : 'top';
+  var measurement = isVertical ? 'width' : 'height';
+
+  if (popper[side] < floor(reference[opSide])) {
+    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
+  }
+  if (popper[opSide] > floor(reference[side])) {
+    data.offsets.popper[opSide] = floor(reference[side]);
+  }
+
+  return data;
+}
+
+/**
+ * Converts a string containing value + unit into a px value number
+ * @function
+ * @memberof {modifiers~offset}
+ * @private
+ * @argument {String} str - Value + unit string
+ * @argument {String} measurement - `height` or `width`
+ * @argument {Object} popperOffsets
+ * @argument {Object} referenceOffsets
+ * @returns {Number|String}
+ * Value in pixels, or original string if no values were extracted
+ */
+function toValue(str, measurement, popperOffsets, referenceOffsets) {
+  // separate value from unit
+  var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
+  var value = +split[1];
+  var unit = split[2];
+
+  // If it's not a number it's an operator, I guess
+  if (!value) {
+    return str;
+  }
+
+  if (unit.indexOf('%') === 0) {
+    var element = void 0;
+    switch (unit) {
+      case '%p':
+        element = popperOffsets;
+        break;
+      case '%':
+      case '%r':
+      default:
+        element = referenceOffsets;
+    }
+
+    var rect = getClientRect(element);
+    return rect[measurement] / 100 * value;
+  } else if (unit === 'vh' || unit === 'vw') {
+    // if is a vh or vw, we calculate the size based on the viewport
+    var size = void 0;
+    if (unit === 'vh') {
+      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
+    } else {
+      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
+    }
+    return size / 100 * value;
+  } else {
+    // if is an explicit pixel unit, we get rid of the unit and keep the value
+    // if is an implicit unit, it's px, and we return just the value
+    return value;
+  }
+}
+
+/**
+ * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
+ * @function
+ * @memberof {modifiers~offset}
+ * @private
+ * @argument {String} offset
+ * @argument {Object} popperOffsets
+ * @argument {Object} referenceOffsets
+ * @argument {String} basePlacement
+ * @returns {Array} a two cells array with x and y offsets in numbers
+ */
+function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
+  var offsets = [0, 0];
+
+  // Use height if placement is left or right and index is 0 otherwise use width
+  // in this way the first offset will use an axis and the second one
+  // will use the other one
+  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
+
+  // Split the offset string to obtain a list of values and operands
+  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
+  var fragments = offset.split(/(\+|\-)/).map(function (frag) {
+    return frag.trim();
+  });
+
+  // Detect if the offset string contains a pair of values or a single one
+  // they could be separated by comma or space
+  var divider = fragments.indexOf(find(fragments, function (frag) {
+    return frag.search(/,|\s/) !== -1;
+  }));
+
+  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
+    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
+  }
+
+  // If divider is found, we divide the list of values and operands to divide
+  // them by ofset X and Y.
+  var splitRegex = /\s*,\s*|\s+/;
+  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
+
+  // Convert the values with units to absolute pixels to allow our computations
+  ops = ops.map(function (op, index) {
+    // Most of the units rely on the orientation of the popper
+    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
+    var mergeWithPrevious = false;
+    return op
+    // This aggregates any `+` or `-` sign that aren't considered operators
+    // e.g.: 10 + +5 => [10, +, +5]
+    .reduce(function (a, b) {
+      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
+        a[a.length - 1] = b;
+        mergeWithPrevious = true;
+        return a;
+      } else if (mergeWithPrevious) {
+        a[a.length - 1] += b;
+        mergeWithPrevious = false;
+        return a;
+      } else {
+        return a.concat(b);
+      }
+    }, [])
+    // Here we convert the string values into number values (in px)
+    .map(function (str) {
+      return toValue(str, measurement, popperOffsets, referenceOffsets);
+    });
+  });
+
+  // Loop trough the offsets arrays and execute the operations
+  ops.forEach(function (op, index) {
+    op.forEach(function (frag, index2) {
+      if (isNumeric(frag)) {
+        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
+      }
+    });
+  });
+  return offsets;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @argument {Number|String} options.offset=0
+ * The offset value as described in the modifier description
+ * @returns {Object} The data object, properly modified
+ */
+function offset(data, _ref) {
+  var offset = _ref.offset;
+  var placement = data.placement,
+      _data$offsets = data.offsets,
+      popper = _data$offsets.popper,
+      reference = _data$offsets.reference;
+
+  var basePlacement = placement.split('-')[0];
+
+  var offsets = void 0;
+  if (isNumeric(+offset)) {
+    offsets = [+offset, 0];
+  } else {
+    offsets = parseOffset(offset, popper, reference, basePlacement);
+  }
+
+  if (basePlacement === 'left') {
+    popper.top += offsets[0];
+    popper.left -= offsets[1];
+  } else if (basePlacement === 'right') {
+    popper.top += offsets[0];
+    popper.left += offsets[1];
+  } else if (basePlacement === 'top') {
+    popper.left += offsets[0];
+    popper.top -= offsets[1];
+  } else if (basePlacement === 'bottom') {
+    popper.left += offsets[0];
+    popper.top += offsets[1];
+  }
+
+  data.popper = popper;
+  return data;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function preventOverflow(data, options) {
+  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
+
+  // If offsetParent is the reference element, we really want to
+  // go one step up and use the next offsetParent as reference to
+  // avoid to make this modifier completely useless and look like broken
+  if (data.instance.reference === boundariesElement) {
+    boundariesElement = getOffsetParent(boundariesElement);
+  }
+
+  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);
+  options.boundaries = boundaries;
+
+  var order = options.priority;
+  var popper = data.offsets.popper;
+
+  var check = {
+    primary: function primary(placement) {
+      var value = popper[placement];
+      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
+        value = Math.max(popper[placement], boundaries[placement]);
+      }
+      return defineProperty({}, placement, value);
+    },
+    secondary: function secondary(placement) {
+      var mainSide = placement === 'right' ? 'left' : 'top';
+      var value = popper[mainSide];
+      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
+        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
+      }
+      return defineProperty({}, mainSide, value);
+    }
+  };
+
+  order.forEach(function (placement) {
+    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
+    popper = _extends$1({}, popper, check[side](placement));
+  });
+
+  data.offsets.popper = popper;
+
+  return data;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function shift(data) {
+  var placement = data.placement;
+  var basePlacement = placement.split('-')[0];
+  var shiftvariation = placement.split('-')[1];
+
+  // if shift shiftvariation is specified, run the modifier
+  if (shiftvariation) {
+    var _data$offsets = data.offsets,
+        reference = _data$offsets.reference,
+        popper = _data$offsets.popper;
+
+    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
+    var side = isVertical ? 'left' : 'top';
+    var measurement = isVertical ? 'width' : 'height';
+
+    var shiftOffsets = {
+      start: defineProperty({}, side, reference[side]),
+      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
+    };
+
+    data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]);
+  }
+
+  return data;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function hide(data) {
+  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
+    return data;
+  }
+
+  var refRect = data.offsets.reference;
+  var bound = find(data.instance.modifiers, function (modifier) {
+    return modifier.name === 'preventOverflow';
+  }).boundaries;
+
+  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
+    // Avoid unnecessary DOM access if visibility hasn't changed
+    if (data.hide === true) {
+      return data;
+    }
+
+    data.hide = true;
+    data.attributes['x-out-of-boundaries'] = '';
+  } else {
+    // Avoid unnecessary DOM access if visibility hasn't changed
+    if (data.hide === false) {
+      return data;
+    }
+
+    data.hide = false;
+    data.attributes['x-out-of-boundaries'] = false;
+  }
+
+  return data;
+}
+
+/**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+function inner(data) {
+  var placement = data.placement;
+  var basePlacement = placement.split('-')[0];
+  var _data$offsets = data.offsets,
+      popper = _data$offsets.popper,
+      reference = _data$offsets.reference;
+
+  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
+
+  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
+
+  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
+
+  data.placement = getOppositePlacement(placement);
+  data.offsets.popper = getClientRect(popper);
+
+  return data;
+}
+
+/**
+ * Modifier function, each modifier can have a function of this type assigned
+ * to its `fn` property.<br />
+ * These functions will be called on each update, this means that you must
+ * make sure they are performant enough to avoid performance bottlenecks.
+ *
+ * @function ModifierFn
+ * @argument {dataObject} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {dataObject} The data object, properly modified
+ */
+
+/**
+ * Modifiers are plugins used to alter the behavior of your poppers.<br />
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
+ * needed by the library.
+ *
+ * Usually you don't want to override the `order`, `fn` and `onLoad` props.
+ * All the other properties are configurations that could be tweaked.
+ * @namespace modifiers
+ */
+var modifiers = {
+  /**
+   * Modifier used to shift the popper on the start or end of its reference
+   * element.<br />
+   * It will read the variation of the `placement` property.<br />
+   * It can be one either `-end` or `-start`.
+   * @memberof modifiers
+   * @inner
+   */
+  shift: {
+    /** @prop {number} order=100 - Index used to define the order of execution */
+    order: 100,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: shift
+  },
+
+  /**
+   * The `offset` modifier can shift your popper on both its axis.
+   *
+   * It accepts the following units:
+   * - `px` or unitless, interpreted as pixels
+   * - `%` or `%r`, percentage relative to the length of the reference element
+   * - `%p`, percentage relative to the length of the popper element
+   * - `vw`, CSS viewport width unit
+   * - `vh`, CSS viewport height unit
+   *
+   * For length is intended the main axis relative to the placement of the popper.<br />
+   * This means that if the placement is `top` or `bottom`, the length will be the
+   * `width`. In case of `left` or `right`, it will be the height.
+   *
+   * You can provide a single value (as `Number` or `String`), or a pair of values
+   * as `String` divided by a comma or one (or more) white spaces.<br />
+   * The latter is a deprecated method because it leads to confusion and will be
+   * removed in v2.<br />
+   * Additionally, it accepts additions and subtractions between different units.
+   * Note that multiplications and divisions aren't supported.
+   *
+   * Valid examples are:
+   * ```
+   * 10
+   * '10%'
+   * '10, 10'
+   * '10%, 10'
+   * '10 + 10%'
+   * '10 - 5vh + 3%'
+   * '-10px + 5vh, 5px - 6%'
+   * ```
+   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
+   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
+   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
+   *
+   * @memberof modifiers
+   * @inner
+   */
+  offset: {
+    /** @prop {number} order=200 - Index used to define the order of execution */
+    order: 200,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: offset,
+    /** @prop {Number|String} offset=0
+     * The offset value as described in the modifier description
+     */
+    offset: 0
+  },
+
+  /**
+   * Modifier used to prevent the popper from being positioned outside the boundary.
+   *
+   * An scenario exists where the reference itself is not within the boundaries.<br />
+   * We can say it has "escaped the boundaries" — or just "escaped".<br />
+   * In this case we need to decide whether the popper should either:
+   *
+   * - detach from the reference and remain "trapped" in the boundaries, or
+   * - if it should ignore the boundary and "escape with its reference"
+   *
+   * When `escapeWithReference` is set to`true` and reference is completely
+   * outside its boundaries, the popper will overflow (or completely leave)
+   * the boundaries in order to remain attached to the edge of the reference.
+   *
+   * @memberof modifiers
+   * @inner
+   */
+  preventOverflow: {
+    /** @prop {number} order=300 - Index used to define the order of execution */
+    order: 300,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: preventOverflow,
+    /**
+     * @prop {Array} [priority=['left','right','top','bottom']]
+     * Popper will try to prevent overflow following these priorities by default,
+     * then, it could overflow on the left and on top of the `boundariesElement`
+     */
+    priority: ['left', 'right', 'top', 'bottom'],
+    /**
+     * @prop {number} padding=5
+     * Amount of pixel used to define a minimum distance between the boundaries
+     * and the popper this makes sure the popper has always a little padding
+     * between the edges of its container
+     */
+    padding: 5,
+    /**
+     * @prop {String|HTMLElement} boundariesElement='scrollParent'
+     * Boundaries used by the modifier, can be `scrollParent`, `window`,
+     * `viewport` or any DOM element.
+     */
+    boundariesElement: 'scrollParent'
+  },
+
+  /**
+   * Modifier used to make sure the reference and its popper stay near eachothers
+   * without leaving any gap between the two. Expecially useful when the arrow is
+   * enabled and you want to assure it to point to its reference element.
+   * It cares only about the first axis, you can still have poppers with margin
+   * between the popper and its reference element.
+   * @memberof modifiers
+   * @inner
+   */
+  keepTogether: {
+    /** @prop {number} order=400 - Index used to define the order of execution */
+    order: 400,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: keepTogether
+  },
+
+  /**
+   * This modifier is used to move the `arrowElement` of the popper to make
+   * sure it is positioned between the reference element and its popper element.
+   * It will read the outer size of the `arrowElement` node to detect how many
+   * pixels of conjuction are needed.
+   *
+   * It has no effect if no `arrowElement` is provided.
+   * @memberof modifiers
+   * @inner
+   */
+  arrow: {
+    /** @prop {number} order=500 - Index used to define the order of execution */
+    order: 500,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: arrow,
+    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
+    element: '[x-arrow]'
+  },
+
+  /**
+   * Modifier used to flip the popper's placement when it starts to overlap its
+   * reference element.
+   *
+   * Requires the `preventOverflow` modifier before it in order to work.
+   *
+   * **NOTE:** this modifier will interrupt the current update cycle and will
+   * restart it if it detects the need to flip the placement.
+   * @memberof modifiers
+   * @inner
+   */
+  flip: {
+    /** @prop {number} order=600 - Index used to define the order of execution */
+    order: 600,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: flip,
+    /**
+     * @prop {String|Array} behavior='flip'
+     * The behavior used to change the popper's placement. It can be one of
+     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
+     * placements (with optional variations).
+     */
+    behavior: 'flip',
+    /**
+     * @prop {number} padding=5
+     * The popper will flip if it hits the edges of the `boundariesElement`
+     */
+    padding: 5,
+    /**
+     * @prop {String|HTMLElement} boundariesElement='viewport'
+     * The element which will define the boundaries of the popper position,
+     * the popper will never be placed outside of the defined boundaries
+     * (except if keepTogether is enabled)
+     */
+    boundariesElement: 'viewport'
+  },
+
+  /**
+   * Modifier used to make the popper flow toward the inner of the reference element.
+   * By default, when this modifier is disabled, the popper will be placed outside
+   * the reference element.
+   * @memberof modifiers
+   * @inner
+   */
+  inner: {
+    /** @prop {number} order=700 - Index used to define the order of execution */
+    order: 700,
+    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
+    enabled: false,
+    /** @prop {ModifierFn} */
+    fn: inner
+  },
+
+  /**
+   * Modifier used to hide the popper when its reference element is outside of the
+   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
+   * be used to hide with a CSS selector the popper when its reference is
+   * out of boundaries.
+   *
+   * Requires the `preventOverflow` modifier before it in order to work.
+   * @memberof modifiers
+   * @inner
+   */
+  hide: {
+    /** @prop {number} order=800 - Index used to define the order of execution */
+    order: 800,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: hide
+  },
+
+  /**
+   * Computes the style that will be applied to the popper element to gets
+   * properly positioned.
+   *
+   * Note that this modifier will not touch the DOM, it just prepares the styles
+   * so that `applyStyle` modifier can apply it. This separation is useful
+   * in case you need to replace `applyStyle` with a custom implementation.
+   *
+   * This modifier has `850` as `order` value to maintain backward compatibility
+   * with previous versions of Popper.js. Expect the modifiers ordering method
+   * to change in future major versions of the library.
+   *
+   * @memberof modifiers
+   * @inner
+   */
+  computeStyle: {
+    /** @prop {number} order=850 - Index used to define the order of execution */
+    order: 850,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: computeStyle,
+    /**
+     * @prop {Boolean} gpuAcceleration=true
+     * If true, it uses the CSS 3d transformation to position the popper.
+     * Otherwise, it will use the `top` and `left` properties.
+     */
+    gpuAcceleration: true,
+    /**
+     * @prop {string} [x='bottom']
+     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
+     * Change this if your popper should grow in a direction different from `bottom`
+     */
+    x: 'bottom',
+    /**
+     * @prop {string} [x='left']
+     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
+     * Change this if your popper should grow in a direction different from `right`
+     */
+    y: 'right'
+  },
+
+  /**
+   * Applies the computed styles to the popper element.
+   *
+   * All the DOM manipulations are limited to this modifier. This is useful in case
+   * you want to integrate Popper.js inside a framework or view library and you
+   * want to delegate all the DOM manipulations to it.
+   *
+   * Note that if you disable this modifier, you must make sure the popper element
+   * has its position set to `absolute` before Popper.js can do its work!
+   *
+   * Just disable this modifier and define you own to achieve the desired effect.
+   *
+   * @memberof modifiers
+   * @inner
+   */
+  applyStyle: {
+    /** @prop {number} order=900 - Index used to define the order of execution */
+    order: 900,
+    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+    enabled: true,
+    /** @prop {ModifierFn} */
+    fn: applyStyle,
+    /** @prop {Function} */
+    onLoad: applyStyleOnLoad,
+    /**
+     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
+     * @prop {Boolean} gpuAcceleration=true
+     * If true, it uses the CSS 3d transformation to position the popper.
+     * Otherwise, it will use the `top` and `left` properties.
+     */
+    gpuAcceleration: undefined
+  }
+};
+
+/**
+ * The `dataObject` is an object containing all the informations used by Popper.js
+ * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
+ * @name dataObject
+ * @property {Object} data.instance The Popper.js instance
+ * @property {String} data.placement Placement applied to popper
+ * @property {String} data.originalPlacement Placement originally defined on init
+ * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
+ * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
+ * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
+ * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
+ * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
+ * @property {Object} data.boundaries Offsets of the popper boundaries
+ * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
+ * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
+ * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
+ * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
+ */
+
+/**
+ * Default options provided to Popper.js constructor.<br />
+ * These can be overriden using the `options` argument of Popper.js.<br />
+ * To override an option, simply pass as 3rd argument an object with the same
+ * structure of this object, example:
+ * ```
+ * new Popper(ref, pop, {
+ *   modifiers: {
+ *     preventOverflow: { enabled: false }
+ *   }
+ * })
+ * ```
+ * @type {Object}
+ * @static
+ * @memberof Popper
+ */
+var Defaults = {
+  /**
+   * Popper's placement
+   * @prop {Popper.placements} placement='bottom'
+   */
+  placement: 'bottom',
+
+  /**
+   * Whether events (resize, scroll) are initially enabled
+   * @prop {Boolean} eventsEnabled=true
+   */
+  eventsEnabled: true,
+
+  /**
+   * Set to true if you want to automatically remove the popper when
+   * you call the `destroy` method.
+   * @prop {Boolean} removeOnDestroy=false
+   */
+  removeOnDestroy: false,
+
+  /**
+   * Callback called when the popper is created.<br />
+   * By default, is set to no-op.<br />
+   * Access Popper.js instance with `data.instance`.
+   * @prop {onCreate}
+   */
+  onCreate: function onCreate() {},
+
+  /**
+   * Callback called when the popper is updated, this callback is not called
+   * on the initialization/creation of the popper, but only on subsequent
+   * updates.<br />
+   * By default, is set to no-op.<br />
+   * Access Popper.js instance with `data.instance`.
+   * @prop {onUpdate}
+   */
+  onUpdate: function onUpdate() {},
+
+  /**
+   * List of modifiers used to modify the offsets before they are applied to the popper.
+   * They provide most of the functionalities of Popper.js
+   * @prop {modifiers}
+   */
+  modifiers: modifiers
+};
+
+/**
+ * @callback onCreate
+ * @param {dataObject} data
+ */
+
+/**
+ * @callback onUpdate
+ * @param {dataObject} data
+ */
+
+// Utils
+// Methods
+var Popper = function () {
+  /**
+   * Create a new Popper.js instance
+   * @class Popper
+   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
+   * @param {HTMLElement} popper - The HTML element used as popper.
+   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
+   * @return {Object} instance - The generated Popper.js instance
+   */
+  function Popper(reference, popper) {
+    var _this = this;
+
+    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+    classCallCheck(this, Popper);
+
+    this.scheduleUpdate = function () {
+      return requestAnimationFrame(_this.update);
+    };
+
+    // make update() debounced, so that it only runs at most once-per-tick
+    this.update = debounce(this.update.bind(this));
+
+    // with {} we create a new object with the options inside it
+    this.options = _extends$1({}, Popper.Defaults, options);
+
+    // init state
+    this.state = {
+      isDestroyed: false,
+      isCreated: false,
+      scrollParents: []
+    };
+
+    // get reference and popper elements (allow jQuery wrappers)
+    this.reference = reference.jquery ? reference[0] : reference;
+    this.popper = popper.jquery ? popper[0] : popper;
+
+    // Deep merge modifiers options
+    this.options.modifiers = {};
+    Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
+      _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
+    });
+
+    // Refactoring modifiers' list (Object => Array)
+    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
+      return _extends$1({
+        name: name
+      }, _this.options.modifiers[name]);
+    })
+    // sort the modifiers by order
+    .sort(function (a, b) {
+      return a.order - b.order;
+    });
+
+    // modifiers have the ability to execute arbitrary code when Popper.js get inited
+    // such code is executed in the same order of its modifier
+    // they could add new properties to their options configuration
+    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
+    this.modifiers.forEach(function (modifierOptions) {
+      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
+        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
+      }
+    });
+
+    // fire the first update to position the popper in the right place
+    this.update();
+
+    var eventsEnabled = this.options.eventsEnabled;
+    if (eventsEnabled) {
+      // setup event listeners, they will take care of update the position in specific situations
+      this.enableEventListeners();
+    }
+
+    this.state.eventsEnabled = eventsEnabled;
+  }
+
+  // We can't use class properties because they don't get listed in the
+  // class prototype and break stuff like Sinon stubs
+
+
+  createClass$1(Popper, [{
+    key: 'update',
+    value: function update$$1() {
+      return update.call(this);
+    }
+  }, {
+    key: 'destroy',
+    value: function destroy$$1() {
+      return destroy.call(this);
+    }
+  }, {
+    key: 'enableEventListeners',
+    value: function enableEventListeners$$1() {
+      return enableEventListeners.call(this);
+    }
+  }, {
+    key: 'disableEventListeners',
+    value: function disableEventListeners$$1() {
+      return disableEventListeners.call(this);
+    }
+
+    /**
+     * Schedule an update, it will run on the next UI update available
+     * @method scheduleUpdate
+     * @memberof Popper
+     */
+
+
+    /**
+     * Collection of utilities useful when writing custom modifiers.
+     * Starting from version 1.7, this method is available only if you
+     * include `popper-utils.js` before `popper.js`.
+     *
+     * **DEPRECATION**: This way to access PopperUtils is deprecated
+     * and will be removed in v2! Use the PopperUtils module directly instead.
+     * Due to the high instability of the methods contained in Utils, we can't
+     * guarantee them to follow semver. Use them at your own risk!
+     * @static
+     * @private
+     * @type {Object}
+     * @deprecated since version 1.8
+     * @member Utils
+     * @memberof Popper
+     */
+
+  }]);
+  return Popper;
+}();
+
+/**
+ * The `referenceObject` is an object that provides an interface compatible with Popper.js
+ * and lets you use it as replacement of a real DOM node.<br />
+ * You can use this method to position a popper relatively to a set of coordinates
+ * in case you don't have a DOM node to use as reference.
+ *
+ * ```
+ * new Popper(referenceObject, popperNode);
+ * ```
+ *
+ * NB: This feature isn't supported in Internet Explorer 10
+ * @name referenceObject
+ * @property {Function} data.getBoundingClientRect
+ * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
+ * @property {number} data.clientWidth
+ * An ES6 getter that will return the width of the virtual reference element.
+ * @property {number} data.clientHeight
+ * An ES6 getter that will return the height of the virtual reference element.
+ */
+
+
+Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
+Popper.placements = placements;
+Popper.Defaults = Defaults;
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Dropdown = function () {
+  /**
+   * Check for Popper dependency
+   * Popper - https://popper.js.org
+   */
+  if (typeof Popper === 'undefined') {
+    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+  }
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+
+  var NAME = 'dropdown';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.dropdown';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+    KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
+    KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DISABLED: 'disabled',
+    SHOW: 'show',
+    DROPUP: 'dropup',
+    MENURIGHT: 'dropdown-menu-right',
+    MENULEFT: 'dropdown-menu-left'
+  };
+  var Selector = {
+    DATA_TOGGLE: '[data-toggle="dropdown"]',
+    FORM_CHILD: '.dropdown form',
+    MENU: '.dropdown-menu',
+    NAVBAR_NAV: '.navbar-nav',
+    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+  };
+  var AttachmentMap = {
+    TOP: 'top-start',
+    TOPEND: 'top-end',
+    BOTTOM: 'bottom-start',
+    BOTTOMEND: 'bottom-end'
+  };
+  var Default = {
+    offset: 0,
+    flip: true
+  };
+  var DefaultType = {
+    offset: '(number|string|function)',
+    flip: 'boolean'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Dropdown =
+  /*#__PURE__*/
+  function () {
+    function Dropdown(element, config) {
+      this._element = element;
+      this._popper = null;
+      this._config = this._getConfig(config);
+      this._menu = this._getMenuElement();
+      this._inNavbar = this._detectNavbar();
+
+      this._addEventListeners();
+    } // getters
+
+
+    var _proto = Dropdown.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this._element);
+
+      var isActive = $(this._menu).hasClass(ClassName.SHOW);
+
+      Dropdown._clearMenus();
+
+      if (isActive) {
+        return;
+      }
+
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event.SHOW, relatedTarget);
+      $(parent).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      var element = this._element; // for dropup with alignment we use the parent as popper container
+
+      if ($(parent).hasClass(ClassName.DROPUP)) {
+        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+          element = parent;
+        }
+      }
+
+      this._popper = new Popper(element, this._menu, this._getPopperConfig()); // if this is a touch-enabled device we add extra
+      // empty mouseover listeners to the body's immediate children;
+      // only needed because of broken event delegation on iOS
+      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+      if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+        $('body').children().on('mouseover', null, $.noop);
+      }
+
+      this._element.focus();
+
+      this._element.setAttribute('aria-expanded', true);
+
+      $(this._menu).toggleClass(ClassName.SHOW);
+      $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(this._element).off(EVENT_KEY);
+      this._element = null;
+      this._menu = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+      }
+
+      this._popper = null;
+    };
+
+    _proto.update = function update() {
+      this._inNavbar = this._detectNavbar();
+
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    }; // private
+
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this = this;
+
+      $(this._element).on(Event.CLICK, function (event) {
+        event.preventDefault();
+        event.stopPropagation();
+
+        _this.toggle();
+      });
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._getMenuElement = function _getMenuElement() {
+      if (!this._menu) {
+        var parent = Dropdown._getParentFromElement(this._element);
+
+        this._menu = $(parent).find(Selector.MENU)[0];
+      }
+
+      return this._menu;
+    };
+
+    _proto._getPlacement = function _getPlacement() {
+      var $parentDropdown = $(this._element).parent();
+      var placement = AttachmentMap.BOTTOM; // Handle dropup
+
+      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
+        placement = AttachmentMap.TOP;
+
+        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+          placement = AttachmentMap.TOPEND;
+        }
+      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+        placement = AttachmentMap.BOTTOMEND;
+      }
+
+      return placement;
+    };
+
+    _proto._detectNavbar = function _detectNavbar() {
+      return $(this._element).closest('.navbar').length > 0;
+    };
+
+    _proto._getPopperConfig = function _getPopperConfig() {
+      var _this2 = this;
+
+      var offsetConf = {};
+
+      if (typeof this._config.offset === 'function') {
+        offsetConf.fn = function (data) {
+          data.offsets = $.extend({}, data.offsets, _this2._config.offset(data.offsets) || {});
+          return data;
+        };
+      } else {
+        offsetConf.offset = this._config.offset;
+      }
+
+      var popperConfig = {
+        placement: this._getPlacement(),
+        modifiers: {
+          offset: offsetConf,
+          flip: {
+            enabled: this._config.flip
+          }
+        } // Disable Popper.js for Dropdown in Navbar
+
+      };
+
+      if (this._inNavbar) {
+        popperConfig.modifiers.applyStyle = {
+          enabled: !this._inNavbar
+        };
+      }
+
+      return popperConfig;
+    }; // static
+
+
+    Dropdown._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data) {
+          data = new Dropdown(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    Dropdown._clearMenus = function _clearMenus(event) {
+      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+        return;
+      }
+
+      var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+
+      for (var i = 0; i < toggles.length; i++) {
+        var parent = Dropdown._getParentFromElement(toggles[i]);
+
+        var context = $(toggles[i]).data(DATA_KEY);
+        var relatedTarget = {
+          relatedTarget: toggles[i]
+        };
+
+        if (!context) {
+          continue;
+        }
+
+        var dropdownMenu = context._menu;
+
+        if (!$(parent).hasClass(ClassName.SHOW)) {
+          continue;
+        }
+
+        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+          continue;
+        }
+
+        var hideEvent = $.Event(Event.HIDE, relatedTarget);
+        $(parent).trigger(hideEvent);
+
+        if (hideEvent.isDefaultPrevented()) {
+          continue;
+        } // if this is a touch-enabled device we remove the extra
+        // empty mouseover listeners we added for iOS support
+
+
+        if ('ontouchstart' in document.documentElement) {
+          $('body').children().off('mouseover', null, $.noop);
+        }
+
+        toggles[i].setAttribute('aria-expanded', 'false');
+        $(dropdownMenu).removeClass(ClassName.SHOW);
+        $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+      }
+    };
+
+    Dropdown._getParentFromElement = function _getParentFromElement(element) {
+      var parent;
+      var selector = Util.getSelectorFromElement(element);
+
+      if (selector) {
+        parent = $(selector)[0];
+      }
+
+      return parent || element.parentNode;
+    };
+
+    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
+
+      event.preventDefault();
+      event.stopPropagation();
+
+      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this);
+
+      var isActive = $(parent).hasClass(ClassName.SHOW);
+
+      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+        if (event.which === ESCAPE_KEYCODE) {
+          var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
+          $(toggle).trigger('focus');
+        }
+
+        $(this).trigger('click');
+        return;
+      }
+
+      var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+
+      if (!items.length) {
+        return;
+      }
+
+      var index = items.indexOf(event.target);
+
+      if (event.which === ARROW_UP_KEYCODE && index > 0) {
+        // up
+        index--;
+      }
+
+      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+        // down
+        index++;
+      }
+
+      if (index < 0) {
+        index = 0;
+      }
+
+      items[index].focus();
+    };
+
+    createClass(Dropdown, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Dropdown;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    Dropdown._jQueryInterface.call($(this), 'toggle');
+  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+    e.stopPropagation();
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Dropdown._jQueryInterface;
+  $.fn[NAME].Constructor = Dropdown;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Dropdown._jQueryInterface;
+  };
+
+  return Dropdown;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Modal = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'modal';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.modal';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 300;
+  var BACKDROP_TRANSITION_DURATION = 150;
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var Default = {
+    backdrop: true,
+    keyboard: true,
+    focus: true,
+    show: true
+  };
+  var DefaultType = {
+    backdrop: '(boolean|string)',
+    keyboard: 'boolean',
+    focus: 'boolean',
+    show: 'boolean'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    RESIZE: "resize" + EVENT_KEY,
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
+    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
+    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
+    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+    BACKDROP: 'modal-backdrop',
+    OPEN: 'modal-open',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    DIALOG: '.modal-dialog',
+    DATA_TOGGLE: '[data-toggle="modal"]',
+    DATA_DISMISS: '[data-dismiss="modal"]',
+    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+    STICKY_CONTENT: '.sticky-top',
+    NAVBAR_TOGGLER: '.navbar-toggler'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Modal =
+  /*#__PURE__*/
+  function () {
+    function Modal(element, config) {
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._dialog = $(element).find(Selector.DIALOG)[0];
+      this._backdrop = null;
+      this._isShown = false;
+      this._isBodyOverflowing = false;
+      this._ignoreBackdropClick = false;
+      this._originalBodyPadding = 0;
+      this._scrollbarWidth = 0;
+    } // getters
+
+
+    var _proto = Modal.prototype;
+
+    // public
+    _proto.toggle = function toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    };
+
+    _proto.show = function show(relatedTarget) {
+      var _this = this;
+
+      if (this._isTransitioning || this._isShown) {
+        return;
+      }
+
+      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+        this._isTransitioning = true;
+      }
+
+      var showEvent = $.Event(Event.SHOW, {
+        relatedTarget: relatedTarget
+      });
+      $(this._element).trigger(showEvent);
+
+      if (this._isShown || showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = true;
+
+      this._checkScrollbar();
+
+      this._setScrollbar();
+
+      this._adjustDialog();
+
+      $(document.body).addClass(ClassName.OPEN);
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+        return _this.hide(event);
+      });
+      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+        $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+          if ($(event.target).is(_this._element)) {
+            _this._ignoreBackdropClick = true;
+          }
+        });
+      });
+
+      this._showBackdrop(function () {
+        return _this._showElement(relatedTarget);
+      });
+    };
+
+    _proto.hide = function hide(event) {
+      var _this2 = this;
+
+      if (event) {
+        event.preventDefault();
+      }
+
+      if (this._isTransitioning || !this._isShown) {
+        return;
+      }
+
+      var hideEvent = $.Event(Event.HIDE);
+      $(this._element).trigger(hideEvent);
+
+      if (!this._isShown || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = false;
+      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+      if (transition) {
+        this._isTransitioning = true;
+      }
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(document).off(Event.FOCUSIN);
+      $(this._element).removeClass(ClassName.SHOW);
+      $(this._element).off(Event.CLICK_DISMISS);
+      $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
+      if (transition) {
+        $(this._element).one(Util.TRANSITION_END, function (event) {
+          return _this2._hideModal(event);
+        }).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        this._hideModal();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+      this._config = null;
+      this._element = null;
+      this._dialog = null;
+      this._backdrop = null;
+      this._isShown = null;
+      this._isBodyOverflowing = null;
+      this._ignoreBackdropClick = null;
+      this._scrollbarWidth = null;
+    };
+
+    _proto.handleUpdate = function handleUpdate() {
+      this._adjustDialog();
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._showElement = function _showElement(relatedTarget) {
+      var _this3 = this;
+
+      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+        // don't move modals dom position
+        document.body.appendChild(this._element);
+      }
+
+      this._element.style.display = 'block';
+
+      this._element.removeAttribute('aria-hidden');
+
+      this._element.scrollTop = 0;
+
+      if (transition) {
+        Util.reflow(this._element);
+      }
+
+      $(this._element).addClass(ClassName.SHOW);
+
+      if (this._config.focus) {
+        this._enforceFocus();
+      }
+
+      var shownEvent = $.Event(Event.SHOWN, {
+        relatedTarget: relatedTarget
+      });
+
+      var transitionComplete = function transitionComplete() {
+        if (_this3._config.focus) {
+          _this3._element.focus();
+        }
+
+        _this3._isTransitioning = false;
+        $(_this3._element).trigger(shownEvent);
+      };
+
+      if (transition) {
+        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        transitionComplete();
+      }
+    };
+
+    _proto._enforceFocus = function _enforceFocus() {
+      var _this4 = this;
+
+      $(document).off(Event.FOCUSIN) // guard against infinite focus loop
+      .on(Event.FOCUSIN, function (event) {
+        if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) {
+          _this4._element.focus();
+        }
+      });
+    };
+
+    _proto._setEscapeEvent = function _setEscapeEvent() {
+      var _this5 = this;
+
+      if (this._isShown && this._config.keyboard) {
+        $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+          if (event.which === ESCAPE_KEYCODE) {
+            event.preventDefault();
+
+            _this5.hide();
+          }
+        });
+      } else if (!this._isShown) {
+        $(this._element).off(Event.KEYDOWN_DISMISS);
+      }
+    };
+
+    _proto._setResizeEvent = function _setResizeEvent() {
+      var _this6 = this;
+
+      if (this._isShown) {
+        $(window).on(Event.RESIZE, function (event) {
+          return _this6.handleUpdate(event);
+        });
+      } else {
+        $(window).off(Event.RESIZE);
+      }
+    };
+
+    _proto._hideModal = function _hideModal() {
+      var _this7 = this;
+
+      this._element.style.display = 'none';
+
+      this._element.setAttribute('aria-hidden', true);
+
+      this._isTransitioning = false;
+
+      this._showBackdrop(function () {
+        $(document.body).removeClass(ClassName.OPEN);
+
+        _this7._resetAdjustments();
+
+        _this7._resetScrollbar();
+
+        $(_this7._element).trigger(Event.HIDDEN);
+      });
+    };
+
+    _proto._removeBackdrop = function _removeBackdrop() {
+      if (this._backdrop) {
+        $(this._backdrop).remove();
+        this._backdrop = null;
+      }
+    };
+
+    _proto._showBackdrop = function _showBackdrop(callback) {
+      var _this8 = this;
+
+      var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
+      if (this._isShown && this._config.backdrop) {
+        var doAnimate = Util.supportsTransitionEnd() && animate;
+        this._backdrop = document.createElement('div');
+        this._backdrop.className = ClassName.BACKDROP;
+
+        if (animate) {
+          $(this._backdrop).addClass(animate);
+        }
+
+        $(this._backdrop).appendTo(document.body);
+        $(this._element).on(Event.CLICK_DISMISS, function (event) {
+          if (_this8._ignoreBackdropClick) {
+            _this8._ignoreBackdropClick = false;
+            return;
+          }
+
+          if (event.target !== event.currentTarget) {
+            return;
+          }
+
+          if (_this8._config.backdrop === 'static') {
+            _this8._element.focus();
+          } else {
+            _this8.hide();
+          }
+        });
+
+        if (doAnimate) {
+          Util.reflow(this._backdrop);
+        }
+
+        $(this._backdrop).addClass(ClassName.SHOW);
+
+        if (!callback) {
+          return;
+        }
+
+        if (!doAnimate) {
+          callback();
+          return;
+        }
+
+        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+      } else if (!this._isShown && this._backdrop) {
+        $(this._backdrop).removeClass(ClassName.SHOW);
+
+        var callbackRemove = function callbackRemove() {
+          _this8._removeBackdrop();
+
+          if (callback) {
+            callback();
+          }
+        };
+
+        if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+        } else {
+          callbackRemove();
+        }
+      } else if (callback) {
+        callback();
+      }
+    }; // ----------------------------------------------------------------------
+    // the following methods are used to handle overflowing modals
+    // todo (fat): these should probably be refactored out of modal.js
+    // ----------------------------------------------------------------------
+
+
+    _proto._adjustDialog = function _adjustDialog() {
+      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+      if (!this._isBodyOverflowing && isModalOverflowing) {
+        this._element.style.paddingLeft = this._scrollbarWidth + "px";
+      }
+
+      if (this._isBodyOverflowing && !isModalOverflowing) {
+        this._element.style.paddingRight = this._scrollbarWidth + "px";
+      }
+    };
+
+    _proto._resetAdjustments = function _resetAdjustments() {
+      this._element.style.paddingLeft = '';
+      this._element.style.paddingRight = '';
+    };
+
+    _proto._checkScrollbar = function _checkScrollbar() {
+      var rect = document.body.getBoundingClientRect();
+      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+      this._scrollbarWidth = this._getScrollbarWidth();
+    };
+
+    _proto._setScrollbar = function _setScrollbar() {
+      var _this9 = this;
+
+      if (this._isBodyOverflowing) {
+        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+        // Adjust fixed content padding
+        $(Selector.FIXED_CONTENT).each(function (index, element) {
+          var actualPadding = $(element)[0].style.paddingRight;
+          var calculatedPadding = $(element).css('padding-right');
+          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+        }); // Adjust sticky content margin
+
+        $(Selector.STICKY_CONTENT).each(function (index, element) {
+          var actualMargin = $(element)[0].style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+        }); // Adjust navbar-toggler margin
+
+        $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+          var actualMargin = $(element)[0].style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
+        }); // Adjust body padding
+
+        var actualPadding = document.body.style.paddingRight;
+        var calculatedPadding = $('body').css('padding-right');
+        $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+      }
+    };
+
+    _proto._resetScrollbar = function _resetScrollbar() {
+      // Restore fixed content padding
+      $(Selector.FIXED_CONTENT).each(function (index, element) {
+        var padding = $(element).data('padding-right');
+
+        if (typeof padding !== 'undefined') {
+          $(element).css('padding-right', padding).removeData('padding-right');
+        }
+      }); // Restore sticky content and navbar-toggler margin
+
+      $(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+        var margin = $(element).data('margin-right');
+
+        if (typeof margin !== 'undefined') {
+          $(element).css('margin-right', margin).removeData('margin-right');
+        }
+      }); // Restore body padding
+
+      var padding = $('body').data('padding-right');
+
+      if (typeof padding !== 'undefined') {
+        $('body').css('padding-right', padding).removeData('padding-right');
+      }
+    };
+
+    _proto._getScrollbarWidth = function _getScrollbarWidth() {
+      // thx d.walsh
+      var scrollDiv = document.createElement('div');
+      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+      document.body.appendChild(scrollDiv);
+      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+      document.body.removeChild(scrollDiv);
+      return scrollbarWidth;
+    }; // static
+
+
+    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config);
+
+        if (!data) {
+          data = new Modal(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config](relatedTarget);
+        } else if (_config.show) {
+          data.show(relatedTarget);
+        }
+      });
+    };
+
+    createClass(Modal, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Modal;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    var _this10 = this;
+
+    var target;
+    var selector = Util.getSelectorFromElement(this);
+
+    if (selector) {
+      target = $(selector)[0];
+    }
+
+    var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
+
+    if (this.tagName === 'A' || this.tagName === 'AREA') {
+      event.preventDefault();
+    }
+
+    var $target = $(target).one(Event.SHOW, function (showEvent) {
+      if (showEvent.isDefaultPrevented()) {
+        // only register focus restorer if modal will actually get shown
+        return;
+      }
+
+      $target.one(Event.HIDDEN, function () {
+        if ($(_this10).is(':visible')) {
+          _this10.focus();
+        }
+      });
+    });
+
+    Modal._jQueryInterface.call($(target), config, this);
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Modal._jQueryInterface;
+  $.fn[NAME].Constructor = Modal;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Modal._jQueryInterface;
+  };
+
+  return Modal;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tooltip = function () {
+  /**
+   * Check for Popper dependency
+   * Popper - https://popper.js.org
+   */
+  if (typeof Popper === 'undefined') {
+    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+  }
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+
+  var NAME = 'tooltip';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.tooltip';
+  var EVENT_KEY = "." + DATA_KEY;
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var CLASS_PREFIX = 'bs-tooltip';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var DefaultType = {
+    animation: 'boolean',
+    template: 'string',
+    title: '(string|element|function)',
+    trigger: 'string',
+    delay: '(number|object)',
+    html: 'boolean',
+    selector: '(string|boolean)',
+    placement: '(string|function)',
+    offset: '(number|string)',
+    container: '(string|element|boolean)',
+    fallbackPlacement: '(string|array)'
+  };
+  var AttachmentMap = {
+    AUTO: 'auto',
+    TOP: 'top',
+    RIGHT: 'right',
+    BOTTOM: 'bottom',
+    LEFT: 'left'
+  };
+  var Default = {
+    animation: true,
+    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    selector: false,
+    placement: 'top',
+    offset: 0,
+    container: false,
+    fallbackPlacement: 'flip'
+  };
+  var HoverState = {
+    SHOW: 'show',
+    OUT: 'out'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    INSERTED: "inserted" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    FOCUSOUT: "focusout" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY
+  };
+  var ClassName = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    TOOLTIP: '.tooltip',
+    TOOLTIP_INNER: '.tooltip-inner',
+    ARROW: '.arrow'
+  };
+  var Trigger = {
+    HOVER: 'hover',
+    FOCUS: 'focus',
+    CLICK: 'click',
+    MANUAL: 'manual'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tooltip =
+  /*#__PURE__*/
+  function () {
+    function Tooltip(element, config) {
+      // private
+      this._isEnabled = true;
+      this._timeout = 0;
+      this._hoverState = '';
+      this._activeTrigger = {};
+      this._popper = null; // protected
+
+      this.element = element;
+      this.config = this._getConfig(config);
+      this.tip = null;
+
+      this._setListeners();
+    } // getters
+
+
+    var _proto = Tooltip.prototype;
+
+    // public
+    _proto.enable = function enable() {
+      this._isEnabled = true;
+    };
+
+    _proto.disable = function disable() {
+      this._isEnabled = false;
+    };
+
+    _proto.toggleEnabled = function toggleEnabled() {
+      this._isEnabled = !this._isEnabled;
+    };
+
+    _proto.toggle = function toggle(event) {
+      if (!this._isEnabled) {
+        return;
+      }
+
+      if (event) {
+        var dataKey = this.constructor.DATA_KEY;
+        var context = $(event.currentTarget).data(dataKey);
+
+        if (!context) {
+          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+          $(event.currentTarget).data(dataKey, context);
+        }
+
+        context._activeTrigger.click = !context._activeTrigger.click;
+
+        if (context._isWithActiveTrigger()) {
+          context._enter(null, context);
+        } else {
+          context._leave(null, context);
+        }
+      } else {
+        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+          this._leave(null, this);
+
+          return;
+        }
+
+        this._enter(null, this);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      $.removeData(this.element, this.constructor.DATA_KEY);
+      $(this.element).off(this.constructor.EVENT_KEY);
+      $(this.element).closest('.modal').off('hide.bs.modal');
+
+      if (this.tip) {
+        $(this.tip).remove();
+      }
+
+      this._isEnabled = null;
+      this._timeout = null;
+      this._hoverState = null;
+      this._activeTrigger = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+      }
+
+      this._popper = null;
+      this.element = null;
+      this.config = null;
+      this.tip = null;
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if ($(this.element).css('display') === 'none') {
+        throw new Error('Please use show on visible elements');
+      }
+
+      var showEvent = $.Event(this.constructor.Event.SHOW);
+
+      if (this.isWithContent() && this._isEnabled) {
+        $(this.element).trigger(showEvent);
+        var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+
+        if (showEvent.isDefaultPrevented() || !isInTheDom) {
+          return;
+        }
+
+        var tip = this.getTipElement();
+        var tipId = Util.getUID(this.constructor.NAME);
+        tip.setAttribute('id', tipId);
+        this.element.setAttribute('aria-describedby', tipId);
+        this.setContent();
+
+        if (this.config.animation) {
+          $(tip).addClass(ClassName.FADE);
+        }
+
+        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+        var attachment = this._getAttachment(placement);
+
+        this.addAttachmentClass(attachment);
+        var container = this.config.container === false ? document.body : $(this.config.container);
+        $(tip).data(this.constructor.DATA_KEY, this);
+
+        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+          $(tip).appendTo(container);
+        }
+
+        $(this.element).trigger(this.constructor.Event.INSERTED);
+        this._popper = new Popper(this.element, tip, {
+          placement: attachment,
+          modifiers: {
+            offset: {
+              offset: this.config.offset
+            },
+            flip: {
+              behavior: this.config.fallbackPlacement
+            },
+            arrow: {
+              element: Selector.ARROW
+            }
+          },
+          onCreate: function onCreate(data) {
+            if (data.originalPlacement !== data.placement) {
+              _this._handlePopperPlacementChange(data);
+            }
+          },
+          onUpdate: function onUpdate(data) {
+            _this._handlePopperPlacementChange(data);
+          }
+        });
+        $(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
+        // empty mouseover listeners to the body's immediate children;
+        // only needed because of broken event delegation on iOS
+        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+        if ('ontouchstart' in document.documentElement) {
+          $('body').children().on('mouseover', null, $.noop);
+        }
+
+        var complete = function complete() {
+          if (_this.config.animation) {
+            _this._fixTransition();
+          }
+
+          var prevHoverState = _this._hoverState;
+          _this._hoverState = null;
+          $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+          if (prevHoverState === HoverState.OUT) {
+            _this._leave(null, _this);
+          }
+        };
+
+        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+        } else {
+          complete();
+        }
+      }
+    };
+
+    _proto.hide = function hide(callback) {
+      var _this2 = this;
+
+      var tip = this.getTipElement();
+      var hideEvent = $.Event(this.constructor.Event.HIDE);
+
+      var complete = function complete() {
+        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+          tip.parentNode.removeChild(tip);
+        }
+
+        _this2._cleanTipClass();
+
+        _this2.element.removeAttribute('aria-describedby');
+
+        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+
+        if (_this2._popper !== null) {
+          _this2._popper.destroy();
+        }
+
+        if (callback) {
+          callback();
+        }
+      };
+
+      $(this.element).trigger(hideEvent);
+
+      if (hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
+      // empty mouseover listeners we added for iOS support
+
+      if ('ontouchstart' in document.documentElement) {
+        $('body').children().off('mouseover', null, $.noop);
+      }
+
+      this._activeTrigger[Trigger.CLICK] = false;
+      this._activeTrigger[Trigger.FOCUS] = false;
+      this._activeTrigger[Trigger.HOVER] = false;
+
+      if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        complete();
+      }
+
+      this._hoverState = '';
+    };
+
+    _proto.update = function update() {
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    }; // protected
+
+
+    _proto.isWithContent = function isWithContent() {
+      return Boolean(this.getTitle());
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement());
+      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+    };
+
+    _proto.setElementContent = function setElementContent($element, content) {
+      var html = this.config.html;
+
+      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+        // content is a DOM node or a jQuery
+        if (html) {
+          if (!$(content).parent().is($element)) {
+            $element.empty().append(content);
+          }
+        } else {
+          $element.text($(content).text());
+        }
+      } else {
+        $element[html ? 'html' : 'text'](content);
+      }
+    };
+
+    _proto.getTitle = function getTitle() {
+      var title = this.element.getAttribute('data-original-title');
+
+      if (!title) {
+        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+      }
+
+      return title;
+    }; // private
+
+
+    _proto._getAttachment = function _getAttachment(placement) {
+      return AttachmentMap[placement.toUpperCase()];
+    };
+
+    _proto._setListeners = function _setListeners() {
+      var _this3 = this;
+
+      var triggers = this.config.trigger.split(' ');
+      triggers.forEach(function (trigger) {
+        if (trigger === 'click') {
+          $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+            return _this3.toggle(event);
+          });
+        } else if (trigger !== Trigger.MANUAL) {
+          var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+          var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+          $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+            return _this3._enter(event);
+          }).on(eventOut, _this3.config.selector, function (event) {
+            return _this3._leave(event);
+          });
+        }
+
+        $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+          return _this3.hide();
+        });
+      });
+
+      if (this.config.selector) {
+        this.config = $.extend({}, this.config, {
+          trigger: 'manual',
+          selector: ''
+        });
+      } else {
+        this._fixTitle();
+      }
+    };
+
+    _proto._fixTitle = function _fixTitle() {
+      var titleType = typeof this.element.getAttribute('data-original-title');
+
+      if (this.element.getAttribute('title') || titleType !== 'string') {
+        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+        this.element.setAttribute('title', '');
+      }
+    };
+
+    _proto._enter = function _enter(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+      }
+
+      if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+        context._hoverState = HoverState.SHOW;
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.SHOW;
+
+      if (!context.config.delay || !context.config.delay.show) {
+        context.show();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.SHOW) {
+          context.show();
+        }
+      }, context.config.delay.show);
+    };
+
+    _proto._leave = function _leave(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+      }
+
+      if (context._isWithActiveTrigger()) {
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.OUT;
+
+      if (!context.config.delay || !context.config.delay.hide) {
+        context.hide();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.OUT) {
+          context.hide();
+        }
+      }, context.config.delay.hide);
+    };
+
+    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+      for (var trigger in this._activeTrigger) {
+        if (this._activeTrigger[trigger]) {
+          return true;
+        }
+      }
+
+      return false;
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
+      if (typeof config.delay === 'number') {
+        config.delay = {
+          show: config.delay,
+          hide: config.delay
+        };
+      }
+
+      if (typeof config.title === 'number') {
+        config.title = config.title.toString();
+      }
+
+      if (typeof config.content === 'number') {
+        config.content = config.content.toString();
+      }
+
+      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._getDelegateConfig = function _getDelegateConfig() {
+      var config = {};
+
+      if (this.config) {
+        for (var key in this.config) {
+          if (this.constructor.Default[key] !== this.config[key]) {
+            config[key] = this.config[key];
+          }
+        }
+      }
+
+      return config;
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    };
+
+    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+      this._cleanTipClass();
+
+      this.addAttachmentClass(this._getAttachment(data.placement));
+    };
+
+    _proto._fixTransition = function _fixTransition() {
+      var tip = this.getTipElement();
+      var initConfigAnimation = this.config.animation;
+
+      if (tip.getAttribute('x-placement') !== null) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName.FADE);
+      this.config.animation = false;
+      this.hide();
+      this.show();
+      this.config.animation = initConfigAnimation;
+    }; // static
+
+
+    Tooltip._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Tooltip(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Tooltip, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Tooltip;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME] = Tooltip._jQueryInterface;
+  $.fn[NAME].Constructor = Tooltip;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Tooltip._jQueryInterface;
+  };
+
+  return Tooltip;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Popover = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'popover';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.popover';
+  var EVENT_KEY = "." + DATA_KEY;
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var CLASS_PREFIX = 'bs-popover';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var Default = $.extend({}, Tooltip.Default, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+  });
+  var DefaultType = $.extend({}, Tooltip.DefaultType, {
+    content: '(string|element|function)'
+  });
+  var ClassName = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    TITLE: '.popover-header',
+    CONTENT: '.popover-body'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    INSERTED: "inserted" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    FOCUSOUT: "focusout" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Popover =
+  /*#__PURE__*/
+  function (_Tooltip) {
+    inheritsLoose(Popover, _Tooltip);
+
+    function Popover() {
+      return _Tooltip.apply(this, arguments) || this;
+    }
+
+    var _proto = Popover.prototype;
+
+    // overrides
+    _proto.isWithContent = function isWithContent() {
+      return this.getTitle() || this._getContent();
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement()); // we use append for html objects to maintain js events
+
+      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+      this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+    }; // private
+
+
+    _proto._getContent = function _getContent() {
+      return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    }; // static
+
+
+    Popover._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data && /destroy|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Popover(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Popover, null, [{
+      key: "VERSION",
+      // getters
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Popover;
+  }(Tooltip);
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME] = Popover._jQueryInterface;
+  $.fn[NAME].Constructor = Popover;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Popover._jQueryInterface;
+  };
+
+  return Popover;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var ScrollSpy = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'scrollspy';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.scrollspy';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var Default = {
+    offset: 10,
+    method: 'auto',
+    target: ''
+  };
+  var DefaultType = {
+    offset: 'number',
+    method: 'string',
+    target: '(string|element)'
+  };
+  var Event = {
+    ACTIVATE: "activate" + EVENT_KEY,
+    SCROLL: "scroll" + EVENT_KEY,
+    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DROPDOWN_ITEM: 'dropdown-item',
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active'
+  };
+  var Selector = {
+    DATA_SPY: '[data-spy="scroll"]',
+    ACTIVE: '.active',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    NAV_LINKS: '.nav-link',
+    NAV_ITEMS: '.nav-item',
+    LIST_ITEMS: '.list-group-item',
+    DROPDOWN: '.dropdown',
+    DROPDOWN_ITEMS: '.dropdown-item',
+    DROPDOWN_TOGGLE: '.dropdown-toggle'
+  };
+  var OffsetMethod = {
+    OFFSET: 'offset',
+    POSITION: 'position'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var ScrollSpy =
+  /*#__PURE__*/
+  function () {
+    function ScrollSpy(element, config) {
+      var _this = this;
+
+      this._element = element;
+      this._scrollElement = element.tagName === 'BODY' ? window : element;
+      this._config = this._getConfig(config);
+      this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
+      this._offsets = [];
+      this._targets = [];
+      this._activeTarget = null;
+      this._scrollHeight = 0;
+      $(this._scrollElement).on(Event.SCROLL, function (event) {
+        return _this._process(event);
+      });
+      this.refresh();
+
+      this._process();
+    } // getters
+
+
+    var _proto = ScrollSpy.prototype;
+
+    // public
+    _proto.refresh = function refresh() {
+      var _this2 = this;
+
+      var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+      this._offsets = [];
+      this._targets = [];
+      this._scrollHeight = this._getScrollHeight();
+      var targets = $.makeArray($(this._selector));
+      targets.map(function (element) {
+        var target;
+        var targetSelector = Util.getSelectorFromElement(element);
+
+        if (targetSelector) {
+          target = $(targetSelector)[0];
+        }
+
+        if (target) {
+          var targetBCR = target.getBoundingClientRect();
+
+          if (targetBCR.width || targetBCR.height) {
+            // todo (fat): remove sketch reliance on jQuery position/offset
+            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+          }
+        }
+
+        return null;
+      }).filter(function (item) {
+        return item;
+      }).sort(function (a, b) {
+        return a[0] - b[0];
+      }).forEach(function (item) {
+        _this2._offsets.push(item[0]);
+
+        _this2._targets.push(item[1]);
+      });
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(this._scrollElement).off(EVENT_KEY);
+      this._element = null;
+      this._scrollElement = null;
+      this._config = null;
+      this._selector = null;
+      this._offsets = null;
+      this._targets = null;
+      this._activeTarget = null;
+      this._scrollHeight = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+
+      if (typeof config.target !== 'string') {
+        var id = $(config.target).attr('id');
+
+        if (!id) {
+          id = Util.getUID(NAME);
+          $(config.target).attr('id', id);
+        }
+
+        config.target = "#" + id;
+      }
+
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._getScrollTop = function _getScrollTop() {
+      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+    };
+
+    _proto._getScrollHeight = function _getScrollHeight() {
+      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+    };
+
+    _proto._getOffsetHeight = function _getOffsetHeight() {
+      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+    };
+
+    _proto._process = function _process() {
+      var scrollTop = this._getScrollTop() + this._config.offset;
+
+      var scrollHeight = this._getScrollHeight();
+
+      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+      if (this._scrollHeight !== scrollHeight) {
+        this.refresh();
+      }
+
+      if (scrollTop >= maxScroll) {
+        var target = this._targets[this._targets.length - 1];
+
+        if (this._activeTarget !== target) {
+          this._activate(target);
+        }
+
+        return;
+      }
+
+      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+        this._activeTarget = null;
+
+        this._clear();
+
+        return;
+      }
+
+      for (var i = this._offsets.length; i--;) {
+        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+
+        if (isActiveTarget) {
+          this._activate(this._targets[i]);
+        }
+      }
+    };
+
+    _proto._activate = function _activate(target) {
+      this._activeTarget = target;
+
+      this._clear();
+
+      var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
+
+
+      queries = queries.map(function (selector) {
+        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
+      });
+      var $link = $(queries.join(','));
+
+      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+        $link.addClass(ClassName.ACTIVE);
+      } else {
+        // Set triggered link as active
+        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+
+        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+
+        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+      }
+
+      $(this._scrollElement).trigger(Event.ACTIVATE, {
+        relatedTarget: target
+      });
+    };
+
+    _proto._clear = function _clear() {
+      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+    }; // static
+
+
+    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new ScrollSpy(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(ScrollSpy, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return ScrollSpy;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(window).on(Event.LOAD_DATA_API, function () {
+    var scrollSpys = $.makeArray($(Selector.DATA_SPY));
+
+    for (var i = scrollSpys.length; i--;) {
+      var $spy = $(scrollSpys[i]);
+
+      ScrollSpy._jQueryInterface.call($spy, $spy.data());
+    }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = ScrollSpy._jQueryInterface;
+  $.fn[NAME].Constructor = ScrollSpy;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return ScrollSpy._jQueryInterface;
+  };
+
+  return ScrollSpy;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tab = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'tab';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.tab';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active',
+    DISABLED: 'disabled',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    DROPDOWN: '.dropdown',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    ACTIVE: '.active',
+    ACTIVE_UL: '> li > .active',
+    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+    DROPDOWN_TOGGLE: '.dropdown-toggle',
+    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tab =
+  /*#__PURE__*/
+  function () {
+    function Tab(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Tab.prototype;
+
+    // public
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var target;
+      var previous;
+      var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+      var selector = Util.getSelectorFromElement(this._element);
+
+      if (listElement) {
+        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+        previous = $.makeArray($(listElement).find(itemSelector));
+        previous = previous[previous.length - 1];
+      }
+
+      var hideEvent = $.Event(Event.HIDE, {
+        relatedTarget: this._element
+      });
+      var showEvent = $.Event(Event.SHOW, {
+        relatedTarget: previous
+      });
+
+      if (previous) {
+        $(previous).trigger(hideEvent);
+      }
+
+      $(this._element).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (selector) {
+        target = $(selector)[0];
+      }
+
+      this._activate(this._element, listElement);
+
+      var complete = function complete() {
+        var hiddenEvent = $.Event(Event.HIDDEN, {
+          relatedTarget: _this._element
+        });
+        var shownEvent = $.Event(Event.SHOWN, {
+          relatedTarget: previous
+        });
+        $(previous).trigger(hiddenEvent);
+        $(_this._element).trigger(shownEvent);
+      };
+
+      if (target) {
+        this._activate(target, target.parentNode, complete);
+      } else {
+        complete();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // private
+
+
+    _proto._activate = function _activate(element, container, callback) {
+      var _this2 = this;
+
+      var activeElements;
+
+      if (container.nodeName === 'UL') {
+        activeElements = $(container).find(Selector.ACTIVE_UL);
+      } else {
+        activeElements = $(container).children(Selector.ACTIVE);
+      }
+
+      var active = activeElements[0];
+      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+
+      var complete = function complete() {
+        return _this2._transitionComplete(element, active, isTransitioning, callback);
+      };
+
+      if (active && isTransitioning) {
+        $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        complete();
+      }
+
+      if (active) {
+        $(active).removeClass(ClassName.SHOW);
+      }
+    };
+
+    _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
+      if (active) {
+        $(active).removeClass(ClassName.ACTIVE);
+        var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
+        if (dropdownChild) {
+          $(dropdownChild).removeClass(ClassName.ACTIVE);
+        }
+
+        if (active.getAttribute('role') === 'tab') {
+          active.setAttribute('aria-selected', false);
+        }
+      }
+
+      $(element).addClass(ClassName.ACTIVE);
+
+      if (element.getAttribute('role') === 'tab') {
+        element.setAttribute('aria-selected', true);
+      }
+
+      if (isTransitioning) {
+        Util.reflow(element);
+        $(element).addClass(ClassName.SHOW);
+      } else {
+        $(element).removeClass(ClassName.FADE);
+      }
+
+      if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+        var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+
+        if (dropdownElement) {
+          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+        }
+
+        element.setAttribute('aria-expanded', true);
+      }
+
+      if (callback) {
+        callback();
+      }
+    }; // static
+
+
+    Tab._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY);
+
+        if (!data) {
+          data = new Tab(this);
+          $this.data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Tab, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Tab;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+
+    Tab._jQueryInterface.call($(this), 'show');
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Tab._jQueryInterface;
+  $.fn[NAME].Constructor = Tab;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Tab._jQueryInterface;
+  };
+
+  return Tab;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+(function () {
+  if (typeof $ === 'undefined') {
+    throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+  }
+
+  var version = $.fn.jquery.split(' ')[0].split('.');
+  var minMajor = 1;
+  var ltMajor = 2;
+  var minMinor = 9;
+  var minPatch = 1;
+  var maxMajor = 4;
+
+  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+  }
+})($);
+
+exports.Util = Util;
+exports.Alert = Alert;
+exports.Button = Button;
+exports.Carousel = Carousel;
+exports.Collapse = Collapse;
+exports.Dropdown = Dropdown;
+exports.Modal = Modal;
+exports.Popover = Popover;
+exports.Scrollspy = ScrollSpy;
+exports.Tab = Tab;
+exports.Tooltip = Tooltip;
+
+return exports;
+
+}({},$));
+//# sourceMappingURL=bootstrap.bundle.js.map
diff --git a/workspace/public/js/bootstrap.bundle.js.map b/workspace/public/js/bootstrap.bundle.js.map
new file mode 100644
index 0000000..53c66d2
--- /dev/null
+++ b/workspace/public/js/bootstrap.bundle.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Private TransitionEnd Helpers\n   * ------------------------------------------------------------------------\n   */\n\n  let transition = false\n\n  const MAX_UID = 1000000\n\n  const TransitionEndEvent = {\n    WebkitTransition : 'webkitTransitionEnd',\n    MozTransition    : 'transitionend',\n    OTransition      : 'oTransitionEnd otransitionend',\n    transition       : 'transitionend'\n  }\n\n  // shoutout AngusCroll (https://goo.gl/pxwQGp)\n  function toType(obj) {\n    return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n  }\n\n  function getSpecialTransitionEndEvent() {\n    return {\n      bindType: transition.end,\n      delegateType: transition.end,\n      handle(event) {\n        if ($(event.target).is(this)) {\n          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n        }\n        return undefined // eslint-disable-line no-undefined\n      }\n    }\n  }\n\n  function transitionEndTest() {\n    if (window.QUnit) {\n      return false\n    }\n\n    const el = document.createElement('bootstrap')\n\n    for (const name in TransitionEndEvent) {\n      if (typeof el.style[name] !== 'undefined') {\n        return {\n          end: TransitionEndEvent[name]\n        }\n      }\n    }\n\n    return false\n  }\n\n  function transitionEndEmulator(duration) {\n    let called = false\n\n    $(this).one(Util.TRANSITION_END, () => {\n      called = true\n    })\n\n    setTimeout(() => {\n      if (!called) {\n        Util.triggerTransitionEnd(this)\n      }\n    }, duration)\n\n    return this\n  }\n\n  function setTransitionEndSupport() {\n    transition = transitionEndTest()\n\n    $.fn.emulateTransitionEnd = transitionEndEmulator\n\n    if (Util.supportsTransitionEnd()) {\n      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n    }\n  }\n\n\n  /**\n   * --------------------------------------------------------------------------\n   * Public Util Api\n   * --------------------------------------------------------------------------\n   */\n\n  const Util = {\n\n    TRANSITION_END: 'bsTransitionEnd',\n\n    getUID(prefix) {\n      do {\n        // eslint-disable-next-line no-bitwise\n        prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n      } while (document.getElementById(prefix))\n      return prefix\n    },\n\n    getSelectorFromElement(element) {\n      let selector = element.getAttribute('data-target')\n      if (!selector || selector === '#') {\n        selector = element.getAttribute('href') || ''\n      }\n\n      try {\n        const $selector = $(document).find(selector)\n        return $selector.length > 0 ? selector : null\n      } catch (error) {\n        return null\n      }\n    },\n\n    reflow(element) {\n      return element.offsetHeight\n    },\n\n    triggerTransitionEnd(element) {\n      $(element).trigger(transition.end)\n    },\n\n    supportsTransitionEnd() {\n      return Boolean(transition)\n    },\n\n    isElement(obj) {\n      return (obj[0] || obj).nodeType\n    },\n\n    typeCheckConfig(componentName, config, configTypes) {\n      for (const property in configTypes) {\n        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n          const expectedTypes = configTypes[property]\n          const value         = config[property]\n          const valueType     = value && Util.isElement(value) ?\n                                'element' : toType(value)\n\n          if (!new RegExp(expectedTypes).test(valueType)) {\n            throw new Error(\n              `${componentName.toUpperCase()}: ` +\n              `Option \"${property}\" provided type \"${valueType}\" ` +\n              `but expected type \"${expectedTypes}\".`)\n          }\n        }\n      }\n    }\n  }\n\n  setTransitionEndSupport()\n\n  return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'alert'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.alert'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Selector = {\n    DISMISS : '[data-dismiss=\"alert\"]'\n  }\n\n  const Event = {\n    CLOSE          : `close${EVENT_KEY}`,\n    CLOSED         : `closed${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    ALERT : 'alert',\n    FADE  : 'fade',\n    SHOW  : 'show'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Alert {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    close(element) {\n      element = element || this._element\n\n      const rootElement = this._getRootElement(element)\n      const customEvent = this._triggerCloseEvent(rootElement)\n\n      if (customEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._removeElement(rootElement)\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _getRootElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      let parent     = false\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      if (!parent) {\n        parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n      }\n\n      return parent\n    }\n\n    _triggerCloseEvent(element) {\n      const closeEvent = $.Event(Event.CLOSE)\n\n      $(element).trigger(closeEvent)\n      return closeEvent\n    }\n\n    _removeElement(element) {\n      $(element).removeClass(ClassName.SHOW)\n\n      if (!Util.supportsTransitionEnd() ||\n          !$(element).hasClass(ClassName.FADE)) {\n        this._destroyElement(element)\n        return\n      }\n\n      $(element)\n        .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    _destroyElement(element) {\n      $(element)\n        .detach()\n        .trigger(Event.CLOSED)\n        .remove()\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $element = $(this)\n        let data       = $element.data(DATA_KEY)\n\n        if (!data) {\n          data = new Alert(this)\n          $element.data(DATA_KEY, data)\n        }\n\n        if (config === 'close') {\n          data[config](this)\n        }\n      })\n    }\n\n    static _handleDismiss(alertInstance) {\n      return function (event) {\n        if (event) {\n          event.preventDefault()\n        }\n\n        alertInstance.close(this)\n      }\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(\n    Event.CLICK_DATA_API,\n    Selector.DISMISS,\n    Alert._handleDismiss(new Alert())\n  )\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Alert._jQueryInterface\n  $.fn[NAME].Constructor = Alert\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Alert._jQueryInterface\n  }\n\n  return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'button'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.button'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n\n  const ClassName = {\n    ACTIVE : 'active',\n    BUTTON : 'btn',\n    FOCUS  : 'focus'\n  }\n\n  const Selector = {\n    DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n    DATA_TOGGLE        : '[data-toggle=\"buttons\"]',\n    INPUT              : 'input',\n    ACTIVE             : '.active',\n    BUTTON             : '.btn'\n  }\n\n  const Event = {\n    CLICK_DATA_API      : `click${EVENT_KEY}${DATA_API_KEY}`,\n    FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n                        + `blur${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Button {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    toggle() {\n      let triggerChangeEvent = true\n      let addAriaPressed = true\n      const rootElement      = $(this._element).closest(\n        Selector.DATA_TOGGLE\n      )[0]\n\n      if (rootElement) {\n        const input = $(this._element).find(Selector.INPUT)[0]\n\n        if (input) {\n          if (input.type === 'radio') {\n            if (input.checked &&\n              $(this._element).hasClass(ClassName.ACTIVE)) {\n              triggerChangeEvent = false\n\n            } else {\n              const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n              if (activeElement) {\n                $(activeElement).removeClass(ClassName.ACTIVE)\n              }\n            }\n          }\n\n          if (triggerChangeEvent) {\n            if (input.hasAttribute('disabled') ||\n              rootElement.hasAttribute('disabled') ||\n              input.classList.contains('disabled') ||\n              rootElement.classList.contains('disabled')) {\n              return\n            }\n            input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n            $(input).trigger('change')\n          }\n\n          input.focus()\n          addAriaPressed = false\n        }\n\n      }\n\n      if (addAriaPressed) {\n        this._element.setAttribute('aria-pressed',\n          !$(this._element).hasClass(ClassName.ACTIVE))\n      }\n\n      if (triggerChangeEvent) {\n        $(this._element).toggleClass(ClassName.ACTIVE)\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n\n        if (!data) {\n          data = new Button(this)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (config === 'toggle') {\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      event.preventDefault()\n\n      let button = event.target\n\n      if (!$(button).hasClass(ClassName.BUTTON)) {\n        button = $(button).closest(Selector.BUTTON)\n      }\n\n      Button._jQueryInterface.call($(button), 'toggle')\n    })\n    .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      const button = $(event.target).closest(Selector.BUTTON)[0]\n      $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Button._jQueryInterface\n  $.fn[NAME].Constructor = Button\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Button._jQueryInterface\n  }\n\n  return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                   = 'carousel'\n  const VERSION                = '4.0.0-beta.2'\n  const DATA_KEY               = 'bs.carousel'\n  const EVENT_KEY              = `.${DATA_KEY}`\n  const DATA_API_KEY           = '.data-api'\n  const JQUERY_NO_CONFLICT     = $.fn[NAME]\n  const TRANSITION_DURATION    = 600\n  const ARROW_LEFT_KEYCODE     = 37 // KeyboardEvent.which value for left arrow key\n  const ARROW_RIGHT_KEYCODE    = 39 // KeyboardEvent.which value for right arrow key\n  const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n  const Default = {\n    interval : 5000,\n    keyboard : true,\n    slide    : false,\n    pause    : 'hover',\n    wrap     : true\n  }\n\n  const DefaultType = {\n    interval : '(number|boolean)',\n    keyboard : 'boolean',\n    slide    : '(boolean|string)',\n    pause    : '(string|boolean)',\n    wrap     : 'boolean'\n  }\n\n  const Direction = {\n    NEXT     : 'next',\n    PREV     : 'prev',\n    LEFT     : 'left',\n    RIGHT    : 'right'\n  }\n\n  const Event = {\n    SLIDE          : `slide${EVENT_KEY}`,\n    SLID           : `slid${EVENT_KEY}`,\n    KEYDOWN        : `keydown${EVENT_KEY}`,\n    MOUSEENTER     : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE     : `mouseleave${EVENT_KEY}`,\n    TOUCHEND       : `touchend${EVENT_KEY}`,\n    LOAD_DATA_API  : `load${EVENT_KEY}${DATA_API_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    CAROUSEL : 'carousel',\n    ACTIVE   : 'active',\n    SLIDE    : 'slide',\n    RIGHT    : 'carousel-item-right',\n    LEFT     : 'carousel-item-left',\n    NEXT     : 'carousel-item-next',\n    PREV     : 'carousel-item-prev',\n    ITEM     : 'carousel-item'\n  }\n\n  const Selector = {\n    ACTIVE      : '.active',\n    ACTIVE_ITEM : '.active.carousel-item',\n    ITEM        : '.carousel-item',\n    NEXT_PREV   : '.carousel-item-next, .carousel-item-prev',\n    INDICATORS  : '.carousel-indicators',\n    DATA_SLIDE  : '[data-slide], [data-slide-to]',\n    DATA_RIDE   : '[data-ride=\"carousel\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Carousel {\n\n    constructor(element, config) {\n      this._items             = null\n      this._interval          = null\n      this._activeElement     = null\n\n      this._isPaused          = false\n      this._isSliding         = false\n\n      this.touchTimeout       = null\n\n      this._config            = this._getConfig(config)\n      this._element           = $(element)[0]\n      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    next() {\n      if (!this._isSliding) {\n        this._slide(Direction.NEXT)\n      }\n    }\n\n    nextWhenVisible() {\n      // Don't call next when the page isn't visible\n      // or the carousel or its parent isn't visible\n      if (!document.hidden &&\n        ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n        this.next()\n      }\n    }\n\n    prev() {\n      if (!this._isSliding) {\n        this._slide(Direction.PREV)\n      }\n    }\n\n    pause(event) {\n      if (!event) {\n        this._isPaused = true\n      }\n\n      if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n        Util.supportsTransitionEnd()) {\n        Util.triggerTransitionEnd(this._element)\n        this.cycle(true)\n      }\n\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    cycle(event) {\n      if (!event) {\n        this._isPaused = false\n      }\n\n      if (this._interval) {\n        clearInterval(this._interval)\n        this._interval = null\n      }\n\n      if (this._config.interval && !this._isPaused) {\n        this._interval = setInterval(\n          (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n          this._config.interval\n        )\n      }\n    }\n\n    to(index) {\n      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n      const activeIndex = this._getItemIndex(this._activeElement)\n\n      if (index > this._items.length - 1 || index < 0) {\n        return\n      }\n\n      if (this._isSliding) {\n        $(this._element).one(Event.SLID, () => this.to(index))\n        return\n      }\n\n      if (activeIndex === index) {\n        this.pause()\n        this.cycle()\n        return\n      }\n\n      const direction = index > activeIndex ?\n        Direction.NEXT :\n        Direction.PREV\n\n      this._slide(direction, this._items[index])\n    }\n\n    dispose() {\n      $(this._element).off(EVENT_KEY)\n      $.removeData(this._element, DATA_KEY)\n\n      this._items             = null\n      this._config            = null\n      this._element           = null\n      this._interval          = null\n      this._isPaused          = null\n      this._isSliding         = null\n      this._activeElement     = null\n      this._indicatorsElement = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _addEventListeners() {\n      if (this._config.keyboard) {\n        $(this._element)\n          .on(Event.KEYDOWN, (event) => this._keydown(event))\n      }\n\n      if (this._config.pause === 'hover') {\n        $(this._element)\n          .on(Event.MOUSEENTER, (event) => this.pause(event))\n          .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n        if ('ontouchstart' in document.documentElement) {\n          // if it's a touch-enabled device, mouseenter/leave are fired as\n          // part of the mouse compatibility events on first tap - the carousel\n          // would stop cycling until user tapped out of it;\n          // here, we listen for touchend, explicitly pause the carousel\n          // (as if it's the second time we tap on it, mouseenter compat event\n          // is NOT fired) and after a timeout (to allow for mouse compatibility\n          // events to fire) we explicitly restart cycling\n          $(this._element).on(Event.TOUCHEND, () => {\n            this.pause()\n            if (this.touchTimeout) {\n              clearTimeout(this.touchTimeout)\n            }\n            this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n          })\n        }\n      }\n    }\n\n    _keydown(event) {\n      if (/input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      switch (event.which) {\n        case ARROW_LEFT_KEYCODE:\n          event.preventDefault()\n          this.prev()\n          break\n        case ARROW_RIGHT_KEYCODE:\n          event.preventDefault()\n          this.next()\n          break\n        default:\n          return\n      }\n    }\n\n    _getItemIndex(element) {\n      this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n      return this._items.indexOf(element)\n    }\n\n    _getItemByDirection(direction, activeElement) {\n      const isNextDirection = direction === Direction.NEXT\n      const isPrevDirection = direction === Direction.PREV\n      const activeIndex     = this._getItemIndex(activeElement)\n      const lastItemIndex   = this._items.length - 1\n      const isGoingToWrap   = isPrevDirection && activeIndex === 0 ||\n                              isNextDirection && activeIndex === lastItemIndex\n\n      if (isGoingToWrap && !this._config.wrap) {\n        return activeElement\n      }\n\n      const delta     = direction === Direction.PREV ? -1 : 1\n      const itemIndex = (activeIndex + delta) % this._items.length\n\n      return itemIndex === -1 ?\n        this._items[this._items.length - 1] : this._items[itemIndex]\n    }\n\n\n    _triggerSlideEvent(relatedTarget, eventDirectionName) {\n      const targetIndex = this._getItemIndex(relatedTarget)\n      const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n      const slideEvent = $.Event(Event.SLIDE, {\n        relatedTarget,\n        direction: eventDirectionName,\n        from: fromIndex,\n        to: targetIndex\n      })\n\n      $(this._element).trigger(slideEvent)\n\n      return slideEvent\n    }\n\n    _setActiveIndicatorElement(element) {\n      if (this._indicatorsElement) {\n        $(this._indicatorsElement)\n          .find(Selector.ACTIVE)\n          .removeClass(ClassName.ACTIVE)\n\n        const nextIndicator = this._indicatorsElement.children[\n          this._getItemIndex(element)\n        ]\n\n        if (nextIndicator) {\n          $(nextIndicator).addClass(ClassName.ACTIVE)\n        }\n      }\n    }\n\n    _slide(direction, element) {\n      const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n      const activeElementIndex = this._getItemIndex(activeElement)\n      const nextElement   = element || activeElement &&\n        this._getItemByDirection(direction, activeElement)\n      const nextElementIndex = this._getItemIndex(nextElement)\n      const isCycling = Boolean(this._interval)\n\n      let directionalClassName\n      let orderClassName\n      let eventDirectionName\n\n      if (direction === Direction.NEXT) {\n        directionalClassName = ClassName.LEFT\n        orderClassName = ClassName.NEXT\n        eventDirectionName = Direction.LEFT\n      } else {\n        directionalClassName = ClassName.RIGHT\n        orderClassName = ClassName.PREV\n        eventDirectionName = Direction.RIGHT\n      }\n\n      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n        this._isSliding = false\n        return\n      }\n\n      const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n      if (slideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (!activeElement || !nextElement) {\n        // some weirdness is happening, so we bail\n        return\n      }\n\n      this._isSliding = true\n\n      if (isCycling) {\n        this.pause()\n      }\n\n      this._setActiveIndicatorElement(nextElement)\n\n      const slidEvent = $.Event(Event.SLID, {\n        relatedTarget: nextElement,\n        direction: eventDirectionName,\n        from: activeElementIndex,\n        to: nextElementIndex\n      })\n\n      if (Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.SLIDE)) {\n\n        $(nextElement).addClass(orderClassName)\n\n        Util.reflow(nextElement)\n\n        $(activeElement).addClass(directionalClassName)\n        $(nextElement).addClass(directionalClassName)\n\n        $(activeElement)\n          .one(Util.TRANSITION_END, () => {\n            $(nextElement)\n              .removeClass(`${directionalClassName} ${orderClassName}`)\n              .addClass(ClassName.ACTIVE)\n\n            $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n            this._isSliding = false\n\n            setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n          })\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        $(activeElement).removeClass(ClassName.ACTIVE)\n        $(nextElement).addClass(ClassName.ACTIVE)\n\n        this._isSliding = false\n        $(this._element).trigger(slidEvent)\n      }\n\n      if (isCycling) {\n        this.cycle()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend({}, Default, $(this).data())\n\n        if (typeof config === 'object') {\n          $.extend(_config, config)\n        }\n\n        const action = typeof config === 'string' ? config : _config.slide\n\n        if (!data) {\n          data = new Carousel(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'number') {\n          data.to(config)\n        } else if (typeof action === 'string') {\n          if (typeof data[action] === 'undefined') {\n            throw new Error(`No method named \"${action}\"`)\n          }\n          data[action]()\n        } else if (_config.interval) {\n          data.pause()\n          data.cycle()\n        }\n      })\n    }\n\n    static _dataApiClickHandler(event) {\n      const selector = Util.getSelectorFromElement(this)\n\n      if (!selector) {\n        return\n      }\n\n      const target = $(selector)[0]\n\n      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n        return\n      }\n\n      const config     = $.extend({}, $(target).data(), $(this).data())\n      const slideIndex = this.getAttribute('data-slide-to')\n\n      if (slideIndex) {\n        config.interval = false\n      }\n\n      Carousel._jQueryInterface.call($(target), config)\n\n      if (slideIndex) {\n        $(target).data(DATA_KEY).to(slideIndex)\n      }\n\n      event.preventDefault()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    $(Selector.DATA_RIDE).each(function () {\n      const $carousel = $(this)\n      Carousel._jQueryInterface.call($carousel, $carousel.data())\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Carousel._jQueryInterface\n  $.fn[NAME].Constructor = Carousel\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Carousel._jQueryInterface\n  }\n\n  return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'collapse'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.collapse'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 600\n\n  const Default = {\n    toggle : true,\n    parent : ''\n  }\n\n  const DefaultType = {\n    toggle : 'boolean',\n    parent : '(string|element)'\n  }\n\n  const Event = {\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SHOW       : 'show',\n    COLLAPSE   : 'collapse',\n    COLLAPSING : 'collapsing',\n    COLLAPSED  : 'collapsed'\n  }\n\n  const Dimension = {\n    WIDTH  : 'width',\n    HEIGHT : 'height'\n  }\n\n  const Selector = {\n    ACTIVES     : '.show, .collapsing',\n    DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Collapse {\n\n    constructor(element, config) {\n      this._isTransitioning = false\n      this._element         = element\n      this._config          = this._getConfig(config)\n      this._triggerArray    = $.makeArray($(\n        `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n        `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n      ))\n      const tabToggles = $(Selector.DATA_TOGGLE)\n      for (let i = 0; i < tabToggles.length; i++) {\n        const elem = tabToggles[i]\n        const selector = Util.getSelectorFromElement(elem)\n        if (selector !== null && $(selector).filter(element).length > 0) {\n          this._triggerArray.push(elem)\n        }\n      }\n\n      this._parent = this._config.parent ? this._getParent() : null\n\n      if (!this._config.parent) {\n        this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n      }\n\n      if (this._config.toggle) {\n        this.toggle()\n      }\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle() {\n      if ($(this._element).hasClass(ClassName.SHOW)) {\n        this.hide()\n      } else {\n        this.show()\n      }\n    }\n\n    show() {\n      if (this._isTransitioning ||\n        $(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      let actives\n      let activesData\n\n      if (this._parent) {\n        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n        if (!actives.length) {\n          actives = null\n        }\n      }\n\n      if (actives) {\n        activesData = $(actives).data(DATA_KEY)\n        if (activesData && activesData._isTransitioning) {\n          return\n        }\n      }\n\n      const startEvent = $.Event(Event.SHOW)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (actives) {\n        Collapse._jQueryInterface.call($(actives), 'hide')\n        if (!activesData) {\n          $(actives).data(DATA_KEY, null)\n        }\n      }\n\n      const dimension = this._getDimension()\n\n      $(this._element)\n        .removeClass(ClassName.COLLAPSE)\n        .addClass(ClassName.COLLAPSING)\n\n      this._element.style[dimension] = 0\n\n      if (this._triggerArray.length) {\n        $(this._triggerArray)\n          .removeClass(ClassName.COLLAPSED)\n          .attr('aria-expanded', true)\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .addClass(ClassName.SHOW)\n\n        this._element.style[dimension] = ''\n\n        this.setTransitioning(false)\n\n        $(this._element).trigger(Event.SHOWN)\n      }\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n      const scrollSize           = `scroll${capitalizedDimension}`\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n\n      this._element.style[dimension] = `${this._element[scrollSize]}px`\n    }\n\n    hide() {\n      if (this._isTransitioning ||\n        !$(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      const startEvent = $.Event(Event.HIDE)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      const dimension       = this._getDimension()\n\n      this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n      Util.reflow(this._element)\n\n      $(this._element)\n        .addClass(ClassName.COLLAPSING)\n        .removeClass(ClassName.COLLAPSE)\n        .removeClass(ClassName.SHOW)\n\n      if (this._triggerArray.length) {\n        for (let i = 0; i < this._triggerArray.length; i++) {\n          const trigger = this._triggerArray[i]\n          const selector = Util.getSelectorFromElement(trigger)\n          if (selector !== null) {\n            const $elem = $(selector)\n            if (!$elem.hasClass(ClassName.SHOW)) {\n              $(trigger).addClass(ClassName.COLLAPSED)\n                   .attr('aria-expanded', false)\n            }\n          }\n        }\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        this.setTransitioning(false)\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .trigger(Event.HIDDEN)\n      }\n\n      this._element.style[dimension] = ''\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    setTransitioning(isTransitioning) {\n      this._isTransitioning = isTransitioning\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      this._config          = null\n      this._parent          = null\n      this._element         = null\n      this._triggerArray    = null\n      this._isTransitioning = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      config.toggle = Boolean(config.toggle) // coerce string values\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _getDimension() {\n      const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n    }\n\n    _getParent() {\n      let parent = null\n      if (Util.isElement(this._config.parent)) {\n        parent = this._config.parent\n\n        // it's a jQuery object\n        if (typeof this._config.parent.jquery !== 'undefined') {\n          parent = this._config.parent[0]\n        }\n      } else {\n        parent = $(this._config.parent)[0]\n      }\n\n      const selector =\n        `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n      $(parent).find(selector).each((i, element) => {\n        this._addAriaAndCollapsedClass(\n          Collapse._getTargetFromElement(element),\n          [element]\n        )\n      })\n\n      return parent\n    }\n\n    _addAriaAndCollapsedClass(element, triggerArray) {\n      if (element) {\n        const isOpen = $(element).hasClass(ClassName.SHOW)\n\n        if (triggerArray.length) {\n          $(triggerArray)\n            .toggleClass(ClassName.COLLAPSED, !isOpen)\n            .attr('aria-expanded', isOpen)\n        }\n      }\n    }\n\n\n    // static\n\n    static _getTargetFromElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      return selector ? $(selector)[0] : null\n    }\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this   = $(this)\n        let data      = $this.data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Default,\n          $this.data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data && _config.toggle && /show|hide/.test(config)) {\n          _config.toggle = false\n        }\n\n        if (!data) {\n          data = new Collapse(this, _config)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n    if (event.currentTarget.tagName === 'A') {\n      event.preventDefault()\n    }\n\n    const $trigger = $(this)\n    const selector = Util.getSelectorFromElement(this)\n    $(selector).each(function () {\n      const $target = $(this)\n      const data    = $target.data(DATA_KEY)\n      const config  = data ? 'toggle' : $trigger.data()\n      Collapse._jQueryInterface.call($target, config)\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Collapse._jQueryInterface\n  $.fn[NAME].Constructor = Collapse\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Collapse._jQueryInterface\n  }\n\n  return Collapse\n\n})($)\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar nativeHints = ['native code', '[object MutationObserverConstructor]'];\n\n/**\n * Determine if a function is implemented natively (as opposed to a polyfill).\n * @method\n * @memberof Popper.Utils\n * @argument {Function | undefined} fn the function to check\n * @returns {Boolean}\n */\nvar isNative = (function (fn) {\n  return nativeHints.some(function (hint) {\n    return (fn || '').toString().indexOf(hint) > -1;\n  });\n});\n\nvar isBrowser = typeof window !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n  if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n    timeoutDuration = 1;\n    break;\n  }\n}\n\nfunction microtaskDebounce(fn) {\n  var scheduled = false;\n  var i = 0;\n  var elem = document.createElement('span');\n\n  // MutationObserver provides a mechanism for scheduling microtasks, which\n  // are scheduled *before* the next task. This gives us a way to debounce\n  // a function but ensure it's called *before* the next paint.\n  var observer = new MutationObserver(function () {\n    fn();\n    scheduled = false;\n  });\n\n  observer.observe(elem, { attributes: true });\n\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      elem.setAttribute('x-index', i);\n      i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8\n    }\n  };\n}\n\nfunction taskDebounce(fn) {\n  var scheduled = false;\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      setTimeout(function () {\n        scheduled = false;\n        fn();\n      }, timeoutDuration);\n    }\n  };\n}\n\n// It's common for MutationObserver polyfills to be seen in the wild, however\n// these rely on Mutation Events which only occur when an element is connected\n// to the DOM. The algorithm used in this module does not use a connected element,\n// and so we must ensure that a *native* MutationObserver is available.\nvar supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n  if (element.nodeType !== 1) {\n    return [];\n  }\n  // NOTE: 1 DOM access here\n  var css = window.getComputedStyle(element, null);\n  return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n  if (element.nodeName === 'HTML') {\n    return element;\n  }\n  return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {\n    return window.document.body;\n  }\n\n  // Firefox want us to check `-x` and `-y` variations as well\n\n  var _getStyleComputedProp = getStyleComputedProperty(element),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n    return element;\n  }\n\n  return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n  // NOTE: 1 DOM access here\n  var offsetParent = element && element.offsetParent;\n  var nodeName = offsetParent && offsetParent.nodeName;\n\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n    return window.document.documentElement;\n  }\n\n  // .offsetParent will return the closest TD or TABLE in case\n  // no offsetParent is present, I hate this job...\n  if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n    return getOffsetParent(offsetParent);\n  }\n\n  return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY') {\n    return false;\n  }\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n  if (node.parentNode !== null) {\n    return getRoot(node.parentNode);\n  }\n\n  return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n    return window.document.documentElement;\n  }\n\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n  var start = order ? element1 : element2;\n  var end = order ? element2 : element1;\n\n  // Get common ancestor container\n  var range = document.createRange();\n  range.setStart(start, 0);\n  range.setEnd(end, 0);\n  var commonAncestorContainer = range.commonAncestorContainer;\n\n  // Both nodes are inside #document\n\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n    if (isOffsetContainer(commonAncestorContainer)) {\n      return commonAncestorContainer;\n    }\n\n    return getOffsetParent(commonAncestorContainer);\n  }\n\n  // one of the nodes is inside shadowDOM, find which one\n  var element1root = getRoot(element1);\n  if (element1root.host) {\n    return findCommonOffsetParent(element1root.host, element2);\n  } else {\n    return findCommonOffsetParent(element1, getRoot(element2).host);\n  }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    var html = window.document.documentElement;\n    var scrollingElement = window.document.scrollingElement || html;\n    return scrollingElement[upperSide];\n  }\n\n  return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var scrollTop = getScroll(element, 'top');\n  var scrollLeft = getScroll(element, 'left');\n  var modifier = subtract ? -1 : 1;\n  rect.top += scrollTop * modifier;\n  rect.bottom += scrollTop * modifier;\n  rect.left += scrollLeft * modifier;\n  rect.right += scrollLeft * modifier;\n  return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n  var sideA = axis === 'x' ? 'Left' : 'Top';\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n  return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n  if (isIE10 === undefined) {\n    isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n  }\n  return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n  var body = window.document.body;\n  var html = window.document.documentElement;\n  var computedStyle = isIE10$1() && window.getComputedStyle(html);\n\n  return {\n    height: getSize('Height', body, html, computedStyle),\n    width: getSize('Width', body, html, computedStyle)\n  };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n  return _extends({}, offsets, {\n    right: offsets.left + offsets.width,\n    bottom: offsets.top + offsets.height\n  });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n  var rect = {};\n\n  // IE10 10 FIX: Please, don't ask, the element isn't\n  // considered in DOM in some circumstances...\n  // This isn't reproducible in IE10 compatibility mode of IE11\n  if (isIE10$1()) {\n    try {\n      rect = element.getBoundingClientRect();\n      var scrollTop = getScroll(element, 'top');\n      var scrollLeft = getScroll(element, 'left');\n      rect.top += scrollTop;\n      rect.left += scrollLeft;\n      rect.bottom += scrollTop;\n      rect.right += scrollLeft;\n    } catch (err) {}\n  } else {\n    rect = element.getBoundingClientRect();\n  }\n\n  var result = {\n    left: rect.left,\n    top: rect.top,\n    width: rect.right - rect.left,\n    height: rect.bottom - rect.top\n  };\n\n  // subtract scrollbar size from sizes\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n  var width = sizes.width || element.clientWidth || result.right - result.left;\n  var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n  var horizScrollbar = element.offsetWidth - width;\n  var vertScrollbar = element.offsetHeight - height;\n\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n  // we make this check conditional for performance reasons\n  if (horizScrollbar || vertScrollbar) {\n    var styles = getStyleComputedProperty(element);\n    horizScrollbar -= getBordersSize(styles, 'x');\n    vertScrollbar -= getBordersSize(styles, 'y');\n\n    result.width -= horizScrollbar;\n    result.height -= vertScrollbar;\n  }\n\n  return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n  var isIE10 = isIE10$1();\n  var isHTML = parent.nodeName === 'HTML';\n  var childrenRect = getBoundingClientRect(children);\n  var parentRect = getBoundingClientRect(parent);\n  var scrollParent = getScrollParent(children);\n\n  var styles = getStyleComputedProperty(parent);\n  var borderTopWidth = +styles.borderTopWidth.split('px')[0];\n  var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];\n\n  var offsets = getClientRect({\n    top: childrenRect.top - parentRect.top - borderTopWidth,\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\n    width: childrenRect.width,\n    height: childrenRect.height\n  });\n  offsets.marginTop = 0;\n  offsets.marginLeft = 0;\n\n  // Subtract margins of documentElement in case it's being used as parent\n  // we do this only on HTML because it's the only element that behaves\n  // differently when margins are applied to it. The margins are included in\n  // the box of the documentElement, in the other cases not.\n  if (!isIE10 && isHTML) {\n    var marginTop = +styles.marginTop.split('px')[0];\n    var marginLeft = +styles.marginLeft.split('px')[0];\n\n    offsets.top -= borderTopWidth - marginTop;\n    offsets.bottom -= borderTopWidth - marginTop;\n    offsets.left -= borderLeftWidth - marginLeft;\n    offsets.right -= borderLeftWidth - marginLeft;\n\n    // Attach marginTop and marginLeft because in some circumstances we may need them\n    offsets.marginTop = marginTop;\n    offsets.marginLeft = marginLeft;\n  }\n\n  if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n    offsets = includeScroll(offsets, parent);\n  }\n\n  return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n  var html = window.document.documentElement;\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n  var scrollTop = getScroll(html);\n  var scrollLeft = getScroll(html, 'left');\n\n  var offset = {\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n    width: width,\n    height: height\n  };\n\n  return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n  var nodeName = element.nodeName;\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    return false;\n  }\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\n    return true;\n  }\n  return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n  // NOTE: 1 DOM access here\n  var boundaries = { top: 0, left: 0 };\n  var offsetParent = findCommonOffsetParent(popper, reference);\n\n  // Handle viewport case\n  if (boundariesElement === 'viewport') {\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n  } else {\n    // Handle other cases based on DOM element used as boundaries\n    var boundariesNode = void 0;\n    if (boundariesElement === 'scrollParent') {\n      boundariesNode = getScrollParent(getParentNode(popper));\n      if (boundariesNode.nodeName === 'BODY') {\n        boundariesNode = window.document.documentElement;\n      }\n    } else if (boundariesElement === 'window') {\n      boundariesNode = window.document.documentElement;\n    } else {\n      boundariesNode = boundariesElement;\n    }\n\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n    // In case of HTML, we need a different computation\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n      var _getWindowSizes = getWindowSizes(),\n          height = _getWindowSizes.height,\n          width = _getWindowSizes.width;\n\n      boundaries.top += offsets.top - offsets.marginTop;\n      boundaries.bottom = height + offsets.top;\n      boundaries.left += offsets.left - offsets.marginLeft;\n      boundaries.right = width + offsets.left;\n    } else {\n      // for all the other DOM elements, this one is good\n      boundaries = offsets;\n    }\n  }\n\n  // Add paddings\n  boundaries.left += padding;\n  boundaries.top += padding;\n  boundaries.right -= padding;\n  boundaries.bottom -= padding;\n\n  return boundaries;\n}\n\nfunction getArea(_ref) {\n  var width = _ref.width,\n      height = _ref.height;\n\n  return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n  if (placement.indexOf('auto') === -1) {\n    return placement;\n  }\n\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n  var rects = {\n    top: {\n      width: boundaries.width,\n      height: refRect.top - boundaries.top\n    },\n    right: {\n      width: boundaries.right - refRect.right,\n      height: boundaries.height\n    },\n    bottom: {\n      width: boundaries.width,\n      height: boundaries.bottom - refRect.bottom\n    },\n    left: {\n      width: refRect.left - boundaries.left,\n      height: boundaries.height\n    }\n  };\n\n  var sortedAreas = Object.keys(rects).map(function (key) {\n    return _extends({\n      key: key\n    }, rects[key], {\n      area: getArea(rects[key])\n    });\n  }).sort(function (a, b) {\n    return b.area - a.area;\n  });\n\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\n    var width = _ref2.width,\n        height = _ref2.height;\n    return width >= popper.clientWidth && height >= popper.clientHeight;\n  });\n\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n  var variation = placement.split('-')[1];\n\n  return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n  var commonOffsetParent = findCommonOffsetParent(popper, reference);\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n  var styles = window.getComputedStyle(element);\n  var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n  var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n  var result = {\n    width: element.offsetWidth + y,\n    height: element.offsetHeight + x\n  };\n  return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n  placement = placement.split('-')[0];\n\n  // Get popper node sizes\n  var popperRect = getOuterSizes(popper);\n\n  // Add position, width and height to our offsets object\n  var popperOffsets = {\n    width: popperRect.width,\n    height: popperRect.height\n  };\n\n  // depending by the popper placement we have to compute its offsets slightly differently\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n  var mainSide = isHoriz ? 'top' : 'left';\n  var secondarySide = isHoriz ? 'left' : 'top';\n  var measurement = isHoriz ? 'height' : 'width';\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n  if (placement === secondarySide) {\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n  } else {\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n  }\n\n  return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n  // use native find if supported\n  if (Array.prototype.find) {\n    return arr.find(check);\n  }\n\n  // use `filter` to obtain the same behavior of `find`\n  return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n  // use native findIndex if supported\n  if (Array.prototype.findIndex) {\n    return arr.findIndex(function (cur) {\n      return cur[prop] === value;\n    });\n  }\n\n  // use `find` + `indexOf` if `findIndex` isn't supported\n  var match = find(arr, function (obj) {\n    return obj[prop] === value;\n  });\n  return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n  modifiersToRun.forEach(function (modifier) {\n    if (modifier.function) {\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n    }\n    var fn = modifier.function || modifier.fn;\n    if (modifier.enabled && isFunction(fn)) {\n      // Add properties to offsets to make them a complete clientRect object\n      // we do this before each modifier to make sure the previous one doesn't\n      // mess with these values\n      data.offsets.popper = getClientRect(data.offsets.popper);\n      data.offsets.reference = getClientRect(data.offsets.reference);\n\n      data = fn(data, modifier);\n    }\n  });\n\n  return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n  // if popper is destroyed, don't perform any further update\n  if (this.state.isDestroyed) {\n    return;\n  }\n\n  var data = {\n    instance: this,\n    styles: {},\n    arrowStyles: {},\n    attributes: {},\n    flipped: false,\n    offsets: {}\n  };\n\n  // compute reference element offsets\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n  // store the computed placement inside `originalPlacement`\n  data.originalPlacement = data.placement;\n\n  // compute the popper offsets\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n  data.offsets.popper.position = 'absolute';\n\n  // run the modifiers\n  data = runModifiers(this.modifiers, data);\n\n  // the first `update` will call `onCreate` callback\n  // the other ones will call `onUpdate` callback\n  if (!this.state.isCreated) {\n    this.state.isCreated = true;\n    this.options.onCreate(data);\n  } else {\n    this.options.onUpdate(data);\n  }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n  return modifiers.some(function (_ref) {\n    var name = _ref.name,\n        enabled = _ref.enabled;\n    return enabled && name === modifierName;\n  });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length - 1; i++) {\n    var prefix = prefixes[i];\n    var toCheck = prefix ? '' + prefix + upperProp : property;\n    if (typeof window.document.body.style[toCheck] !== 'undefined') {\n      return toCheck;\n    }\n  }\n  return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n  this.state.isDestroyed = true;\n\n  // touch DOM only if `applyStyle` modifier is enabled\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n    this.popper.removeAttribute('x-placement');\n    this.popper.style.left = '';\n    this.popper.style.position = '';\n    this.popper.style.top = '';\n    this.popper.style[getSupportedPropertyName('transform')] = '';\n  }\n\n  this.disableEventListeners();\n\n  // remove the popper if user explicity asked for the deletion on destroy\n  // do not use `remove` because IE11 doesn't support it\n  if (this.options.removeOnDestroy) {\n    this.popper.parentNode.removeChild(this.popper);\n  }\n  return this;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n  var isBody = scrollParent.nodeName === 'BODY';\n  var target = isBody ? window : scrollParent;\n  target.addEventListener(event, callback, { passive: true });\n\n  if (!isBody) {\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n  }\n  scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n  // Resize event listener on window\n  state.updateBound = updateBound;\n  window.addEventListener('resize', state.updateBound, { passive: true });\n\n  // Scroll event listener on scroll parents\n  var scrollElement = getScrollParent(reference);\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n  state.scrollElement = scrollElement;\n  state.eventsEnabled = true;\n\n  return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n  if (!this.state.eventsEnabled) {\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n  }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n  // Remove resize event listener on window\n  window.removeEventListener('resize', state.updateBound);\n\n  // Remove scroll event listener on scroll parents\n  state.scrollParents.forEach(function (target) {\n    target.removeEventListener('scroll', state.updateBound);\n  });\n\n  // Reset state\n  state.updateBound = null;\n  state.scrollParents = [];\n  state.scrollElement = null;\n  state.eventsEnabled = false;\n  return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n  if (this.state.eventsEnabled) {\n    window.cancelAnimationFrame(this.scheduleUpdate);\n    this.state = removeEventListeners(this.reference, this.state);\n  }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n  Object.keys(styles).forEach(function (prop) {\n    var unit = '';\n    // add unit if the value is numeric and is one of the following\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n      unit = 'px';\n    }\n    element.style[prop] = styles[prop] + unit;\n  });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n  Object.keys(attributes).forEach(function (prop) {\n    var value = attributes[prop];\n    if (value !== false) {\n      element.setAttribute(prop, attributes[prop]);\n    } else {\n      element.removeAttribute(prop);\n    }\n  });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n  // any property present in `data.styles` will be applied to the popper,\n  // in this way we can make the 3rd party modifiers add custom styles to it\n  // Be aware, modifiers could override the properties defined in the previous\n  // lines of this modifier!\n  setStyles(data.instance.popper, data.styles);\n\n  // any property present in `data.attributes` will be applied to the popper,\n  // they will be set as HTML attributes of the element\n  setAttributes(data.instance.popper, data.attributes);\n\n  // if arrowElement is defined and arrowStyles has some properties\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n    setStyles(data.arrowElement, data.arrowStyles);\n  }\n\n  return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n  // compute reference element offsets\n  var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n  popper.setAttribute('x-placement', placement);\n\n  // Apply `position` to popper before anything else because\n  // without the position applied we can't guarantee correct computations\n  setStyles(popper, { position: 'absolute' });\n\n  return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n  var x = options.x,\n      y = options.y;\n  var popper = data.offsets.popper;\n\n  // Remove this legacy support in Popper.js v2\n\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'applyStyle';\n  }).gpuAcceleration;\n  if (legacyGpuAccelerationOption !== undefined) {\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n  }\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n  var offsetParent = getOffsetParent(data.instance.popper);\n  var offsetParentRect = getBoundingClientRect(offsetParent);\n\n  // Styles\n  var styles = {\n    position: popper.position\n  };\n\n  // floor sides to avoid blurry text\n  var offsets = {\n    left: Math.floor(popper.left),\n    top: Math.floor(popper.top),\n    bottom: Math.floor(popper.bottom),\n    right: Math.floor(popper.right)\n  };\n\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\n  var sideB = y === 'right' ? 'left' : 'right';\n\n  // if gpuAcceleration is set to `true` and transform is supported,\n  //  we use `translate3d` to apply the position to the popper we\n  // automatically use the supported prefixed version if needed\n  var prefixedProperty = getSupportedPropertyName('transform');\n\n  // now, let's make a step back and look at this code closely (wtf?)\n  // If the content of the popper grows once it's been positioned, it\n  // may happen that the popper gets misplaced because of the new content\n  // overflowing its reference element\n  // To avoid this problem, we provide two options (x and y), which allow\n  // the consumer to define the offset origin.\n  // If we position a popper on top of a reference element, we can set\n  // `x` to `top` to make the popper grow towards its top instead of\n  // its bottom.\n  var left = void 0,\n      top = void 0;\n  if (sideA === 'bottom') {\n    top = -offsetParentRect.height + offsets.bottom;\n  } else {\n    top = offsets.top;\n  }\n  if (sideB === 'right') {\n    left = -offsetParentRect.width + offsets.right;\n  } else {\n    left = offsets.left;\n  }\n  if (gpuAcceleration && prefixedProperty) {\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n    styles[sideA] = 0;\n    styles[sideB] = 0;\n    styles.willChange = 'transform';\n  } else {\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n    var invertTop = sideA === 'bottom' ? -1 : 1;\n    var invertLeft = sideB === 'right' ? -1 : 1;\n    styles[sideA] = top * invertTop;\n    styles[sideB] = left * invertLeft;\n    styles.willChange = sideA + ', ' + sideB;\n  }\n\n  // Attributes\n  var attributes = {\n    'x-placement': data.placement\n  };\n\n  // Update `data` attributes, styles and arrowStyles\n  data.attributes = _extends({}, attributes, data.attributes);\n  data.styles = _extends({}, styles, data.styles);\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n  return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n  var requesting = find(modifiers, function (_ref) {\n    var name = _ref.name;\n    return name === requestingName;\n  });\n\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n  });\n\n  if (!isRequired) {\n    var _requesting = '`' + requestingName + '`';\n    var requested = '`' + requestedName + '`';\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n  }\n  return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n  // arrow depends on keepTogether in order to work\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n    return data;\n  }\n\n  var arrowElement = options.element;\n\n  // if arrowElement is a string, suppose it's a CSS selector\n  if (typeof arrowElement === 'string') {\n    arrowElement = data.instance.popper.querySelector(arrowElement);\n\n    // if arrowElement is not found, don't run the modifier\n    if (!arrowElement) {\n      return data;\n    }\n  } else {\n    // if the arrowElement isn't a query selector we must check that the\n    // provided DOM node is child of its popper node\n    if (!data.instance.popper.contains(arrowElement)) {\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\n      return data;\n    }\n  }\n\n  var placement = data.placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n  var len = isVertical ? 'height' : 'width';\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\n  var side = sideCapitalized.toLowerCase();\n  var altSide = isVertical ? 'left' : 'top';\n  var opSide = isVertical ? 'bottom' : 'right';\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n  //\n  // extends keepTogether behavior making sure the popper and its\n  // reference have enough pixels in conjuction\n  //\n\n  // top/left side\n  if (reference[opSide] - arrowElementSize < popper[side]) {\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n  }\n  // bottom/right side\n  if (reference[side] + arrowElementSize > popper[opSide]) {\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n  }\n\n  // compute center of the popper\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n  // Compute the sideValue using the updated popper offsets\n  // take popper margin in account because we don't have this info available\n  var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');\n  var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;\n\n  // prevent arrowElement from being placed not contiguously to its popper\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n  data.arrowElement = arrowElement;\n  data.offsets.arrow = {};\n  data.offsets.arrow[side] = Math.round(sideValue);\n  data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node\n\n  return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n  if (variation === 'end') {\n    return 'start';\n  } else if (variation === 'start') {\n    return 'end';\n  }\n  return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var index = validPlacements.indexOf(placement);\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n  return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n  FLIP: 'flip',\n  CLOCKWISE: 'clockwise',\n  COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n    return data;\n  }\n\n  if (data.flipped && data.placement === data.originalPlacement) {\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n    return data;\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n  var placement = data.placement.split('-')[0];\n  var placementOpposite = getOppositePlacement(placement);\n  var variation = data.placement.split('-')[1] || '';\n\n  var flipOrder = [];\n\n  switch (options.behavior) {\n    case BEHAVIORS.FLIP:\n      flipOrder = [placement, placementOpposite];\n      break;\n    case BEHAVIORS.CLOCKWISE:\n      flipOrder = clockwise(placement);\n      break;\n    case BEHAVIORS.COUNTERCLOCKWISE:\n      flipOrder = clockwise(placement, true);\n      break;\n    default:\n      flipOrder = options.behavior;\n  }\n\n  flipOrder.forEach(function (step, index) {\n    if (placement !== step || flipOrder.length === index + 1) {\n      return data;\n    }\n\n    placement = data.placement.split('-')[0];\n    placementOpposite = getOppositePlacement(placement);\n\n    var popperOffsets = data.offsets.popper;\n    var refOffsets = data.offsets.reference;\n\n    // using floor because the reference offsets may contain decimals we are not going to consider here\n    var floor = Math.floor;\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n    // flip the variation if required\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\n      // this boolean to detect any flip loop\n      data.flipped = true;\n\n      if (overlapsRef || overflowsBoundaries) {\n        placement = flipOrder[index + 1];\n      }\n\n      if (flippedVariation) {\n        variation = getOppositeVariation(variation);\n      }\n\n      data.placement = placement + (variation ? '-' + variation : '');\n\n      // this object contains `position`, we want to preserve it along with\n      // any additional property we may add in the future\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n      data = runModifiers(data.instance.modifiers, data, 'flip');\n    }\n  });\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var placement = data.placement.split('-')[0];\n  var floor = Math.floor;\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n  var side = isVertical ? 'right' : 'bottom';\n  var opSide = isVertical ? 'left' : 'top';\n  var measurement = isVertical ? 'width' : 'height';\n\n  if (popper[side] < floor(reference[opSide])) {\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n  }\n  if (popper[opSide] > floor(reference[side])) {\n    data.offsets.popper[opSide] = floor(reference[side]);\n  }\n\n  return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n  // separate value from unit\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n  var value = +split[1];\n  var unit = split[2];\n\n  // If it's not a number it's an operator, I guess\n  if (!value) {\n    return str;\n  }\n\n  if (unit.indexOf('%') === 0) {\n    var element = void 0;\n    switch (unit) {\n      case '%p':\n        element = popperOffsets;\n        break;\n      case '%':\n      case '%r':\n      default:\n        element = referenceOffsets;\n    }\n\n    var rect = getClientRect(element);\n    return rect[measurement] / 100 * value;\n  } else if (unit === 'vh' || unit === 'vw') {\n    // if is a vh or vw, we calculate the size based on the viewport\n    var size = void 0;\n    if (unit === 'vh') {\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n    } else {\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    }\n    return size / 100 * value;\n  } else {\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\n    // if is an implicit unit, it's px, and we return just the value\n    return value;\n  }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n  var offsets = [0, 0];\n\n  // Use height if placement is left or right and index is 0 otherwise use width\n  // in this way the first offset will use an axis and the second one\n  // will use the other one\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n  // Split the offset string to obtain a list of values and operands\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n    return frag.trim();\n  });\n\n  // Detect if the offset string contains a pair of values or a single one\n  // they could be separated by comma or space\n  var divider = fragments.indexOf(find(fragments, function (frag) {\n    return frag.search(/,|\\s/) !== -1;\n  }));\n\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n  }\n\n  // If divider is found, we divide the list of values and operands to divide\n  // them by ofset X and Y.\n  var splitRegex = /\\s*,\\s*|\\s+/;\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n  // Convert the values with units to absolute pixels to allow our computations\n  ops = ops.map(function (op, index) {\n    // Most of the units rely on the orientation of the popper\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n    var mergeWithPrevious = false;\n    return op\n    // This aggregates any `+` or `-` sign that aren't considered operators\n    // e.g.: 10 + +5 => [10, +, +5]\n    .reduce(function (a, b) {\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n        a[a.length - 1] = b;\n        mergeWithPrevious = true;\n        return a;\n      } else if (mergeWithPrevious) {\n        a[a.length - 1] += b;\n        mergeWithPrevious = false;\n        return a;\n      } else {\n        return a.concat(b);\n      }\n    }, [])\n    // Here we convert the string values into number values (in px)\n    .map(function (str) {\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\n    });\n  });\n\n  // Loop trough the offsets arrays and execute the operations\n  ops.forEach(function (op, index) {\n    op.forEach(function (frag, index2) {\n      if (isNumeric(frag)) {\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n      }\n    });\n  });\n  return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n  var offset = _ref.offset;\n  var placement = data.placement,\n      _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var basePlacement = placement.split('-')[0];\n\n  var offsets = void 0;\n  if (isNumeric(+offset)) {\n    offsets = [+offset, 0];\n  } else {\n    offsets = parseOffset(offset, popper, reference, basePlacement);\n  }\n\n  if (basePlacement === 'left') {\n    popper.top += offsets[0];\n    popper.left -= offsets[1];\n  } else if (basePlacement === 'right') {\n    popper.top += offsets[0];\n    popper.left += offsets[1];\n  } else if (basePlacement === 'top') {\n    popper.left += offsets[0];\n    popper.top -= offsets[1];\n  } else if (basePlacement === 'bottom') {\n    popper.left += offsets[0];\n    popper.top += offsets[1];\n  }\n\n  data.popper = popper;\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n  // If offsetParent is the reference element, we really want to\n  // go one step up and use the next offsetParent as reference to\n  // avoid to make this modifier completely useless and look like broken\n  if (data.instance.reference === boundariesElement) {\n    boundariesElement = getOffsetParent(boundariesElement);\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n  options.boundaries = boundaries;\n\n  var order = options.priority;\n  var popper = data.offsets.popper;\n\n  var check = {\n    primary: function primary(placement) {\n      var value = popper[placement];\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n        value = Math.max(popper[placement], boundaries[placement]);\n      }\n      return defineProperty({}, placement, value);\n    },\n    secondary: function secondary(placement) {\n      var mainSide = placement === 'right' ? 'left' : 'top';\n      var value = popper[mainSide];\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n      }\n      return defineProperty({}, mainSide, value);\n    }\n  };\n\n  order.forEach(function (placement) {\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n    popper = _extends({}, popper, check[side](placement));\n  });\n\n  data.offsets.popper = popper;\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var shiftvariation = placement.split('-')[1];\n\n  // if shift shiftvariation is specified, run the modifier\n  if (shiftvariation) {\n    var _data$offsets = data.offsets,\n        reference = _data$offsets.reference,\n        popper = _data$offsets.popper;\n\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n    var side = isVertical ? 'left' : 'top';\n    var measurement = isVertical ? 'width' : 'height';\n\n    var shiftOffsets = {\n      start: defineProperty({}, side, reference[side]),\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n    };\n\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n    return data;\n  }\n\n  var refRect = data.offsets.reference;\n  var bound = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'preventOverflow';\n  }).boundaries;\n\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === true) {\n      return data;\n    }\n\n    data.hide = true;\n    data.attributes['x-out-of-boundaries'] = '';\n  } else {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === false) {\n      return data;\n    }\n\n    data.hide = false;\n    data.attributes['x-out-of-boundaries'] = false;\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n  data.placement = getOppositePlacement(placement);\n  data.offsets.popper = getClientRect(popper);\n\n  return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n  /**\n   * Modifier used to shift the popper on the start or end of its reference\n   * element.<br />\n   * It will read the variation of the `placement` property.<br />\n   * It can be one either `-end` or `-start`.\n   * @memberof modifiers\n   * @inner\n   */\n  shift: {\n    /** @prop {number} order=100 - Index used to define the order of execution */\n    order: 100,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: shift\n  },\n\n  /**\n   * The `offset` modifier can shift your popper on both its axis.\n   *\n   * It accepts the following units:\n   * - `px` or unitless, interpreted as pixels\n   * - `%` or `%r`, percentage relative to the length of the reference element\n   * - `%p`, percentage relative to the length of the popper element\n   * - `vw`, CSS viewport width unit\n   * - `vh`, CSS viewport height unit\n   *\n   * For length is intended the main axis relative to the placement of the popper.<br />\n   * This means that if the placement is `top` or `bottom`, the length will be the\n   * `width`. In case of `left` or `right`, it will be the height.\n   *\n   * You can provide a single value (as `Number` or `String`), or a pair of values\n   * as `String` divided by a comma or one (or more) white spaces.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\n   * Additionally, it accepts additions and subtractions between different units.\n   * Note that multiplications and divisions aren't supported.\n   *\n   * Valid examples are:\n   * ```\n   * 10\n   * '10%'\n   * '10, 10'\n   * '10%, 10'\n   * '10 + 10%'\n   * '10 - 5vh + 3%'\n   * '-10px + 5vh, 5px - 6%'\n   * ```\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  offset: {\n    /** @prop {number} order=200 - Index used to define the order of execution */\n    order: 200,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: offset,\n    /** @prop {Number|String} offset=0\n     * The offset value as described in the modifier description\n     */\n    offset: 0\n  },\n\n  /**\n   * Modifier used to prevent the popper from being positioned outside the boundary.\n   *\n   * An scenario exists where the reference itself is not within the boundaries.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n   * In this case we need to decide whether the popper should either:\n   *\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\n   * - if it should ignore the boundary and \"escape with its reference\"\n   *\n   * When `escapeWithReference` is set to`true` and reference is completely\n   * outside its boundaries, the popper will overflow (or completely leave)\n   * the boundaries in order to remain attached to the edge of the reference.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  preventOverflow: {\n    /** @prop {number} order=300 - Index used to define the order of execution */\n    order: 300,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: preventOverflow,\n    /**\n     * @prop {Array} [priority=['left','right','top','bottom']]\n     * Popper will try to prevent overflow following these priorities by default,\n     * then, it could overflow on the left and on top of the `boundariesElement`\n     */\n    priority: ['left', 'right', 'top', 'bottom'],\n    /**\n     * @prop {number} padding=5\n     * Amount of pixel used to define a minimum distance between the boundaries\n     * and the popper this makes sure the popper has always a little padding\n     * between the edges of its container\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\n     * Boundaries used by the modifier, can be `scrollParent`, `window`,\n     * `viewport` or any DOM element.\n     */\n    boundariesElement: 'scrollParent'\n  },\n\n  /**\n   * Modifier used to make sure the reference and its popper stay near eachothers\n   * without leaving any gap between the two. Expecially useful when the arrow is\n   * enabled and you want to assure it to point to its reference element.\n   * It cares only about the first axis, you can still have poppers with margin\n   * between the popper and its reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  keepTogether: {\n    /** @prop {number} order=400 - Index used to define the order of execution */\n    order: 400,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: keepTogether\n  },\n\n  /**\n   * This modifier is used to move the `arrowElement` of the popper to make\n   * sure it is positioned between the reference element and its popper element.\n   * It will read the outer size of the `arrowElement` node to detect how many\n   * pixels of conjuction are needed.\n   *\n   * It has no effect if no `arrowElement` is provided.\n   * @memberof modifiers\n   * @inner\n   */\n  arrow: {\n    /** @prop {number} order=500 - Index used to define the order of execution */\n    order: 500,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: arrow,\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n    element: '[x-arrow]'\n  },\n\n  /**\n   * Modifier used to flip the popper's placement when it starts to overlap its\n   * reference element.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   *\n   * **NOTE:** this modifier will interrupt the current update cycle and will\n   * restart it if it detects the need to flip the placement.\n   * @memberof modifiers\n   * @inner\n   */\n  flip: {\n    /** @prop {number} order=600 - Index used to define the order of execution */\n    order: 600,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: flip,\n    /**\n     * @prop {String|Array} behavior='flip'\n     * The behavior used to change the popper's placement. It can be one of\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n     * placements (with optional variations).\n     */\n    behavior: 'flip',\n    /**\n     * @prop {number} padding=5\n     * The popper will flip if it hits the edges of the `boundariesElement`\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='viewport'\n     * The element which will define the boundaries of the popper position,\n     * the popper will never be placed outside of the defined boundaries\n     * (except if keepTogether is enabled)\n     */\n    boundariesElement: 'viewport'\n  },\n\n  /**\n   * Modifier used to make the popper flow toward the inner of the reference element.\n   * By default, when this modifier is disabled, the popper will be placed outside\n   * the reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  inner: {\n    /** @prop {number} order=700 - Index used to define the order of execution */\n    order: 700,\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n    enabled: false,\n    /** @prop {ModifierFn} */\n    fn: inner\n  },\n\n  /**\n   * Modifier used to hide the popper when its reference element is outside of the\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n   * be used to hide with a CSS selector the popper when its reference is\n   * out of boundaries.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * @memberof modifiers\n   * @inner\n   */\n  hide: {\n    /** @prop {number} order=800 - Index used to define the order of execution */\n    order: 800,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: hide\n  },\n\n  /**\n   * Computes the style that will be applied to the popper element to gets\n   * properly positioned.\n   *\n   * Note that this modifier will not touch the DOM, it just prepares the styles\n   * so that `applyStyle` modifier can apply it. This separation is useful\n   * in case you need to replace `applyStyle` with a custom implementation.\n   *\n   * This modifier has `850` as `order` value to maintain backward compatibility\n   * with previous versions of Popper.js. Expect the modifiers ordering method\n   * to change in future major versions of the library.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  computeStyle: {\n    /** @prop {number} order=850 - Index used to define the order of execution */\n    order: 850,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: computeStyle,\n    /**\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: true,\n    /**\n     * @prop {string} [x='bottom']\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n     * Change this if your popper should grow in a direction different from `bottom`\n     */\n    x: 'bottom',\n    /**\n     * @prop {string} [x='left']\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n     * Change this if your popper should grow in a direction different from `right`\n     */\n    y: 'right'\n  },\n\n  /**\n   * Applies the computed styles to the popper element.\n   *\n   * All the DOM manipulations are limited to this modifier. This is useful in case\n   * you want to integrate Popper.js inside a framework or view library and you\n   * want to delegate all the DOM manipulations to it.\n   *\n   * Note that if you disable this modifier, you must make sure the popper element\n   * has its position set to `absolute` before Popper.js can do its work!\n   *\n   * Just disable this modifier and define you own to achieve the desired effect.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  applyStyle: {\n    /** @prop {number} order=900 - Index used to define the order of execution */\n    order: 900,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: applyStyle,\n    /** @prop {Function} */\n    onLoad: applyStyleOnLoad,\n    /**\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: undefined\n  }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n *   modifiers: {\n *     preventOverflow: { enabled: false }\n *   }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n  /**\n   * Popper's placement\n   * @prop {Popper.placements} placement='bottom'\n   */\n  placement: 'bottom',\n\n  /**\n   * Whether events (resize, scroll) are initially enabled\n   * @prop {Boolean} eventsEnabled=true\n   */\n  eventsEnabled: true,\n\n  /**\n   * Set to true if you want to automatically remove the popper when\n   * you call the `destroy` method.\n   * @prop {Boolean} removeOnDestroy=false\n   */\n  removeOnDestroy: false,\n\n  /**\n   * Callback called when the popper is created.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onCreate}\n   */\n  onCreate: function onCreate() {},\n\n  /**\n   * Callback called when the popper is updated, this callback is not called\n   * on the initialization/creation of the popper, but only on subsequent\n   * updates.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onUpdate}\n   */\n  onUpdate: function onUpdate() {},\n\n  /**\n   * List of modifiers used to modify the offsets before they are applied to the popper.\n   * They provide most of the functionalities of Popper.js\n   * @prop {modifiers}\n   */\n  modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n  /**\n   * Create a new Popper.js instance\n   * @class Popper\n   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML element used as popper.\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n   * @return {Object} instance - The generated Popper.js instance\n   */\n  function Popper(reference, popper) {\n    var _this = this;\n\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    classCallCheck(this, Popper);\n\n    this.scheduleUpdate = function () {\n      return requestAnimationFrame(_this.update);\n    };\n\n    // make update() debounced, so that it only runs at most once-per-tick\n    this.update = debounce(this.update.bind(this));\n\n    // with {} we create a new object with the options inside it\n    this.options = _extends({}, Popper.Defaults, options);\n\n    // init state\n    this.state = {\n      isDestroyed: false,\n      isCreated: false,\n      scrollParents: []\n    };\n\n    // get reference and popper elements (allow jQuery wrappers)\n    this.reference = reference.jquery ? reference[0] : reference;\n    this.popper = popper.jquery ? popper[0] : popper;\n\n    // Deep merge modifiers options\n    this.options.modifiers = {};\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n    });\n\n    // Refactoring modifiers' list (Object => Array)\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n      return _extends({\n        name: name\n      }, _this.options.modifiers[name]);\n    })\n    // sort the modifiers by order\n    .sort(function (a, b) {\n      return a.order - b.order;\n    });\n\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\n    // such code is executed in the same order of its modifier\n    // they could add new properties to their options configuration\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n    this.modifiers.forEach(function (modifierOptions) {\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n      }\n    });\n\n    // fire the first update to position the popper in the right place\n    this.update();\n\n    var eventsEnabled = this.options.eventsEnabled;\n    if (eventsEnabled) {\n      // setup event listeners, they will take care of update the position in specific situations\n      this.enableEventListeners();\n    }\n\n    this.state.eventsEnabled = eventsEnabled;\n  }\n\n  // We can't use class properties because they don't get listed in the\n  // class prototype and break stuff like Sinon stubs\n\n\n  createClass(Popper, [{\n    key: 'update',\n    value: function update$$1() {\n      return update.call(this);\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy$$1() {\n      return destroy.call(this);\n    }\n  }, {\n    key: 'enableEventListeners',\n    value: function enableEventListeners$$1() {\n      return enableEventListeners.call(this);\n    }\n  }, {\n    key: 'disableEventListeners',\n    value: function disableEventListeners$$1() {\n      return disableEventListeners.call(this);\n    }\n\n    /**\n     * Schedule an update, it will run on the next UI update available\n     * @method scheduleUpdate\n     * @memberof Popper\n     */\n\n\n    /**\n     * Collection of utilities useful when writing custom modifiers.\n     * Starting from version 1.7, this method is available only if you\n     * include `popper-utils.js` before `popper.js`.\n     *\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\n     * and will be removed in v2! Use the PopperUtils module directly instead.\n     * Due to the high instability of the methods contained in Utils, we can't\n     * guarantee them to follow semver. Use them at your own risk!\n     * @static\n     * @private\n     * @type {Object}\n     * @deprecated since version 1.8\n     * @member Utils\n     * @memberof Popper\n     */\n\n  }]);\n  return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                     = 'dropdown'\n  const VERSION                  = '4.0.0-beta.2'\n  const DATA_KEY                 = 'bs.dropdown'\n  const EVENT_KEY                = `.${DATA_KEY}`\n  const DATA_API_KEY             = '.data-api'\n  const JQUERY_NO_CONFLICT       = $.fn[NAME]\n  const ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\n  const SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\n  const TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\n  const ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\n  const ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\n  const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n  const REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n  const Event = {\n    HIDE             : `hide${EVENT_KEY}`,\n    HIDDEN           : `hidden${EVENT_KEY}`,\n    SHOW             : `show${EVENT_KEY}`,\n    SHOWN            : `shown${EVENT_KEY}`,\n    CLICK            : `click${EVENT_KEY}`,\n    CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,\n    KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n    KEYUP_DATA_API   : `keyup${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DISABLED  : 'disabled',\n    SHOW      : 'show',\n    DROPUP    : 'dropup',\n    MENURIGHT : 'dropdown-menu-right',\n    MENULEFT  : 'dropdown-menu-left'\n  }\n\n  const Selector = {\n    DATA_TOGGLE   : '[data-toggle=\"dropdown\"]',\n    FORM_CHILD    : '.dropdown form',\n    MENU          : '.dropdown-menu',\n    NAVBAR_NAV    : '.navbar-nav',\n    VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n  }\n\n  const AttachmentMap = {\n    TOP       : 'top-start',\n    TOPEND    : 'top-end',\n    BOTTOM    : 'bottom-start',\n    BOTTOMEND : 'bottom-end'\n  }\n\n  const Default = {\n    offset      : 0,\n    flip        : true\n  }\n\n  const DefaultType = {\n    offset      : '(number|string|function)',\n    flip        : 'boolean'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Dropdown {\n\n    constructor(element, config) {\n      this._element  = element\n      this._popper   = null\n      this._config   = this._getConfig(config)\n      this._menu     = this._getMenuElement()\n      this._inNavbar = this._detectNavbar()\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n    // public\n\n    toggle() {\n      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this._element)\n      const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n      Dropdown._clearMenus()\n\n      if (isActive) {\n        return\n      }\n\n      const relatedTarget = {\n        relatedTarget : this._element\n      }\n      const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n      $(parent).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      let element = this._element\n      // for dropup with alignment we use the parent as popper container\n      if ($(parent).hasClass(ClassName.DROPUP)) {\n        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n          element = parent\n        }\n      }\n      this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n      // if this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement &&\n         !$(parent).closest(Selector.NAVBAR_NAV).length) {\n        $('body').children().on('mouseover', null, $.noop)\n      }\n\n      this._element.focus()\n      this._element.setAttribute('aria-expanded', true)\n\n      $(this._menu).toggleClass(ClassName.SHOW)\n      $(parent)\n        .toggleClass(ClassName.SHOW)\n        .trigger($.Event(Event.SHOWN, relatedTarget))\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._element).off(EVENT_KEY)\n      this._element = null\n      this._menu = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n      this._popper = null\n    }\n\n    update() {\n      this._inNavbar = this._detectNavbar()\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // private\n\n    _addEventListeners() {\n      $(this._element).on(Event.CLICK, (event) => {\n        event.preventDefault()\n        event.stopPropagation()\n        this.toggle()\n      })\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this._element).data(),\n        config\n      )\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getMenuElement() {\n      if (!this._menu) {\n        const parent = Dropdown._getParentFromElement(this._element)\n        this._menu = $(parent).find(Selector.MENU)[0]\n      }\n      return this._menu\n    }\n\n    _getPlacement() {\n      const $parentDropdown = $(this._element).parent()\n      let placement = AttachmentMap.BOTTOM\n\n      // Handle dropup\n      if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n        placement = AttachmentMap.TOP\n        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n          placement = AttachmentMap.TOPEND\n        }\n      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.BOTTOMEND\n      }\n      return placement\n    }\n\n    _detectNavbar() {\n      return $(this._element).closest('.navbar').length > 0\n    }\n\n    _getPopperConfig() {\n      const offsetConf = {}\n      if (typeof this._config.offset === 'function') {\n        offsetConf.fn = (data) => {\n          data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n          return data\n        }\n      } else {\n        offsetConf.offset = this._config.offset\n      }\n      const popperConfig = {\n        placement : this._getPlacement(),\n        modifiers : {\n          offset : offsetConf,\n          flip : {\n            enabled : this._config.flip\n          }\n        }\n      }\n\n      // Disable Popper.js for Dropdown in Navbar\n      if (this._inNavbar) {\n        popperConfig.modifiers.applyStyle = {\n          enabled: !this._inNavbar\n        }\n      }\n      return popperConfig\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data) {\n          data = new Dropdown(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n    static _clearMenus(event) {\n      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n        event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n        return\n      }\n\n      const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n      for (let i = 0; i < toggles.length; i++) {\n        const parent        = Dropdown._getParentFromElement(toggles[i])\n        const context       = $(toggles[i]).data(DATA_KEY)\n        const relatedTarget = {\n          relatedTarget : toggles[i]\n        }\n\n        if (!context) {\n          continue\n        }\n\n        const dropdownMenu = context._menu\n        if (!$(parent).hasClass(ClassName.SHOW)) {\n          continue\n        }\n\n        if (event && (event.type === 'click' &&\n            /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n            && $.contains(parent, event.target)) {\n          continue\n        }\n\n        const hideEvent = $.Event(Event.HIDE, relatedTarget)\n        $(parent).trigger(hideEvent)\n        if (hideEvent.isDefaultPrevented()) {\n          continue\n        }\n\n        // if this is a touch-enabled device we remove the extra\n        // empty mouseover listeners we added for iOS support\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().off('mouseover', null, $.noop)\n        }\n\n        toggles[i].setAttribute('aria-expanded', 'false')\n\n        $(dropdownMenu).removeClass(ClassName.SHOW)\n        $(parent)\n          .removeClass(ClassName.SHOW)\n          .trigger($.Event(Event.HIDDEN, relatedTarget))\n      }\n    }\n\n    static _getParentFromElement(element) {\n      let parent\n      const selector = Util.getSelectorFromElement(element)\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      return parent || element.parentNode\n    }\n\n    static _dataApiKeydownHandler(event) {\n      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n         /input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n\n      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this)\n      const isActive = $(parent).hasClass(ClassName.SHOW)\n\n      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n           isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n        if (event.which === ESCAPE_KEYCODE) {\n          const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n          $(toggle).trigger('focus')\n        }\n\n        $(this).trigger('click')\n        return\n      }\n\n      const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n      if (!items.length) {\n        return\n      }\n\n      let index = items.indexOf(event.target)\n\n      if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n        index--\n      }\n\n      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n        index++\n      }\n\n      if (index < 0) {\n        index = 0\n      }\n\n      items[index].focus()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE,  Dropdown._dataApiKeydownHandler)\n    .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n    .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      event.stopPropagation()\n      Dropdown._jQueryInterface.call($(this), 'toggle')\n    })\n    .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n      e.stopPropagation()\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Dropdown._jQueryInterface\n  $.fn[NAME].Constructor = Dropdown\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Dropdown._jQueryInterface\n  }\n\n  return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                         = 'modal'\n  const VERSION                      = '4.0.0-beta.2'\n  const DATA_KEY                     = 'bs.modal'\n  const EVENT_KEY                    = `.${DATA_KEY}`\n  const DATA_API_KEY                 = '.data-api'\n  const JQUERY_NO_CONFLICT           = $.fn[NAME]\n  const TRANSITION_DURATION          = 300\n  const BACKDROP_TRANSITION_DURATION = 150\n  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n  const Default = {\n    backdrop : true,\n    keyboard : true,\n    focus    : true,\n    show     : true\n  }\n\n  const DefaultType = {\n    backdrop : '(boolean|string)',\n    keyboard : 'boolean',\n    focus    : 'boolean',\n    show     : 'boolean'\n  }\n\n  const Event = {\n    HIDE              : `hide${EVENT_KEY}`,\n    HIDDEN            : `hidden${EVENT_KEY}`,\n    SHOW              : `show${EVENT_KEY}`,\n    SHOWN             : `shown${EVENT_KEY}`,\n    FOCUSIN           : `focusin${EVENT_KEY}`,\n    RESIZE            : `resize${EVENT_KEY}`,\n    CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n    KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n    MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n    MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n    CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n    BACKDROP           : 'modal-backdrop',\n    OPEN               : 'modal-open',\n    FADE               : 'fade',\n    SHOW               : 'show'\n  }\n\n  const Selector = {\n    DIALOG             : '.modal-dialog',\n    DATA_TOGGLE        : '[data-toggle=\"modal\"]',\n    DATA_DISMISS       : '[data-dismiss=\"modal\"]',\n    FIXED_CONTENT      : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n    STICKY_CONTENT     : '.sticky-top',\n    NAVBAR_TOGGLER     : '.navbar-toggler'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Modal {\n\n    constructor(element, config) {\n      this._config              = this._getConfig(config)\n      this._element             = element\n      this._dialog              = $(element).find(Selector.DIALOG)[0]\n      this._backdrop            = null\n      this._isShown             = false\n      this._isBodyOverflowing   = false\n      this._ignoreBackdropClick = false\n      this._originalBodyPadding = 0\n      this._scrollbarWidth      = 0\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle(relatedTarget) {\n      return this._isShown ? this.hide() : this.show(relatedTarget)\n    }\n\n    show(relatedTarget) {\n      if (this._isTransitioning || this._isShown) {\n        return\n      }\n\n      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n        this._isTransitioning = true\n      }\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget\n      })\n\n      $(this._element).trigger(showEvent)\n\n      if (this._isShown || showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = true\n\n      this._checkScrollbar()\n      this._setScrollbar()\n\n      this._adjustDialog()\n\n      $(document.body).addClass(ClassName.OPEN)\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(this._element).on(\n        Event.CLICK_DISMISS,\n        Selector.DATA_DISMISS,\n        (event) => this.hide(event)\n      )\n\n      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n        $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n          if ($(event.target).is(this._element)) {\n            this._ignoreBackdropClick = true\n          }\n        })\n      })\n\n      this._showBackdrop(() => this._showElement(relatedTarget))\n    }\n\n    hide(event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      if (this._isTransitioning || !this._isShown) {\n        return\n      }\n\n      const hideEvent = $.Event(Event.HIDE)\n\n      $(this._element).trigger(hideEvent)\n\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = false\n\n      const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n      if (transition) {\n        this._isTransitioning = true\n      }\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(document).off(Event.FOCUSIN)\n\n      $(this._element).removeClass(ClassName.SHOW)\n\n      $(this._element).off(Event.CLICK_DISMISS)\n      $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n      if (transition) {\n\n        $(this._element)\n          .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        this._hideModal()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n      this._config              = null\n      this._element             = null\n      this._dialog              = null\n      this._backdrop            = null\n      this._isShown             = null\n      this._isBodyOverflowing   = null\n      this._ignoreBackdropClick = null\n      this._scrollbarWidth      = null\n    }\n\n    handleUpdate() {\n      this._adjustDialog()\n    }\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _showElement(relatedTarget) {\n      const transition = Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.FADE)\n\n      if (!this._element.parentNode ||\n         this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n        // don't move modals dom position\n        document.body.appendChild(this._element)\n      }\n\n      this._element.style.display = 'block'\n      this._element.removeAttribute('aria-hidden')\n      this._element.scrollTop = 0\n\n      if (transition) {\n        Util.reflow(this._element)\n      }\n\n      $(this._element).addClass(ClassName.SHOW)\n\n      if (this._config.focus) {\n        this._enforceFocus()\n      }\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget\n      })\n\n      const transitionComplete = () => {\n        if (this._config.focus) {\n          this._element.focus()\n        }\n        this._isTransitioning = false\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (transition) {\n        $(this._dialog)\n          .one(Util.TRANSITION_END, transitionComplete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        transitionComplete()\n      }\n    }\n\n    _enforceFocus() {\n      $(document)\n        .off(Event.FOCUSIN) // guard against infinite focus loop\n        .on(Event.FOCUSIN, (event) => {\n          if (document !== event.target &&\n              this._element !== event.target &&\n              !$(this._element).has(event.target).length) {\n            this._element.focus()\n          }\n        })\n    }\n\n    _setEscapeEvent() {\n      if (this._isShown && this._config.keyboard) {\n        $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n          if (event.which === ESCAPE_KEYCODE) {\n            event.preventDefault()\n            this.hide()\n          }\n        })\n\n      } else if (!this._isShown) {\n        $(this._element).off(Event.KEYDOWN_DISMISS)\n      }\n    }\n\n    _setResizeEvent() {\n      if (this._isShown) {\n        $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n      } else {\n        $(window).off(Event.RESIZE)\n      }\n    }\n\n    _hideModal() {\n      this._element.style.display = 'none'\n      this._element.setAttribute('aria-hidden', true)\n      this._isTransitioning = false\n      this._showBackdrop(() => {\n        $(document.body).removeClass(ClassName.OPEN)\n        this._resetAdjustments()\n        this._resetScrollbar()\n        $(this._element).trigger(Event.HIDDEN)\n      })\n    }\n\n    _removeBackdrop() {\n      if (this._backdrop) {\n        $(this._backdrop).remove()\n        this._backdrop = null\n      }\n    }\n\n    _showBackdrop(callback) {\n      const animate = $(this._element).hasClass(ClassName.FADE) ?\n        ClassName.FADE : ''\n\n      if (this._isShown && this._config.backdrop) {\n        const doAnimate = Util.supportsTransitionEnd() && animate\n\n        this._backdrop = document.createElement('div')\n        this._backdrop.className = ClassName.BACKDROP\n\n        if (animate) {\n          $(this._backdrop).addClass(animate)\n        }\n\n        $(this._backdrop).appendTo(document.body)\n\n        $(this._element).on(Event.CLICK_DISMISS, (event) => {\n          if (this._ignoreBackdropClick) {\n            this._ignoreBackdropClick = false\n            return\n          }\n          if (event.target !== event.currentTarget) {\n            return\n          }\n          if (this._config.backdrop === 'static') {\n            this._element.focus()\n          } else {\n            this.hide()\n          }\n        })\n\n        if (doAnimate) {\n          Util.reflow(this._backdrop)\n        }\n\n        $(this._backdrop).addClass(ClassName.SHOW)\n\n        if (!callback) {\n          return\n        }\n\n        if (!doAnimate) {\n          callback()\n          return\n        }\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callback)\n          .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n      } else if (!this._isShown && this._backdrop) {\n        $(this._backdrop).removeClass(ClassName.SHOW)\n\n        const callbackRemove = () => {\n          this._removeBackdrop()\n          if (callback) {\n            callback()\n          }\n        }\n\n        if (Util.supportsTransitionEnd() &&\n           $(this._element).hasClass(ClassName.FADE)) {\n          $(this._backdrop)\n            .one(Util.TRANSITION_END, callbackRemove)\n            .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n        } else {\n          callbackRemove()\n        }\n\n      } else if (callback) {\n        callback()\n      }\n    }\n\n\n    // ----------------------------------------------------------------------\n    // the following methods are used to handle overflowing modals\n    // todo (fat): these should probably be refactored out of modal.js\n    // ----------------------------------------------------------------------\n\n    _adjustDialog() {\n      const isModalOverflowing =\n        this._element.scrollHeight > document.documentElement.clientHeight\n\n      if (!this._isBodyOverflowing && isModalOverflowing) {\n        this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n      }\n\n      if (this._isBodyOverflowing && !isModalOverflowing) {\n        this._element.style.paddingRight = `${this._scrollbarWidth}px`\n      }\n    }\n\n    _resetAdjustments() {\n      this._element.style.paddingLeft = ''\n      this._element.style.paddingRight = ''\n    }\n\n    _checkScrollbar() {\n      const rect = document.body.getBoundingClientRect()\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n      this._scrollbarWidth = this._getScrollbarWidth()\n    }\n\n    _setScrollbar() {\n      if (this._isBodyOverflowing) {\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n        // Adjust fixed content padding\n        $(Selector.FIXED_CONTENT).each((index, element) => {\n          const actualPadding = $(element)[0].style.paddingRight\n          const calculatedPadding = $(element).css('padding-right')\n          $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust sticky content margin\n        $(Selector.STICKY_CONTENT).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n        })\n\n        // Adjust navbar-toggler margin\n        $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust body padding\n        const actualPadding = document.body.style.paddingRight\n        const calculatedPadding = $('body').css('padding-right')\n        $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      }\n    }\n\n    _resetScrollbar() {\n      // Restore fixed content padding\n      $(Selector.FIXED_CONTENT).each((index, element) => {\n        const padding = $(element).data('padding-right')\n        if (typeof padding !== 'undefined') {\n          $(element).css('padding-right', padding).removeData('padding-right')\n        }\n      })\n\n      // Restore sticky content and navbar-toggler margin\n      $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n        const margin = $(element).data('margin-right')\n        if (typeof margin !== 'undefined') {\n          $(element).css('margin-right', margin).removeData('margin-right')\n        }\n      })\n\n      // Restore body padding\n      const padding = $('body').data('padding-right')\n      if (typeof padding !== 'undefined') {\n        $('body').css('padding-right', padding).removeData('padding-right')\n      }\n    }\n\n    _getScrollbarWidth() { // thx d.walsh\n      const scrollDiv = document.createElement('div')\n      scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n      document.body.appendChild(scrollDiv)\n      const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n      document.body.removeChild(scrollDiv)\n      return scrollbarWidth\n    }\n\n\n    // static\n\n    static _jQueryInterface(config, relatedTarget) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Modal.Default,\n          $(this).data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data) {\n          data = new Modal(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config](relatedTarget)\n        } else if (_config.show) {\n          data.show(relatedTarget)\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    let target\n    const selector = Util.getSelectorFromElement(this)\n\n    if (selector) {\n      target = $(selector)[0]\n    }\n\n    const config = $(target).data(DATA_KEY) ?\n      'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\n      event.preventDefault()\n    }\n\n    const $target = $(target).one(Event.SHOW, (showEvent) => {\n      if (showEvent.isDefaultPrevented()) {\n        // only register focus restorer if modal will actually get shown\n        return\n      }\n\n      $target.one(Event.HIDDEN, () => {\n        if ($(this).is(':visible')) {\n          this.focus()\n        }\n      })\n    })\n\n    Modal._jQueryInterface.call($(target), config, this)\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Modal._jQueryInterface\n  $.fn[NAME].Constructor = Modal\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Modal._jQueryInterface\n  }\n\n  return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tooltip'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tooltip'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n  const CLASS_PREFIX        = 'bs-tooltip'\n  const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const DefaultType = {\n    animation           : 'boolean',\n    template            : 'string',\n    title               : '(string|element|function)',\n    trigger             : 'string',\n    delay               : '(number|object)',\n    html                : 'boolean',\n    selector            : '(string|boolean)',\n    placement           : '(string|function)',\n    offset              : '(number|string)',\n    container           : '(string|element|boolean)',\n    fallbackPlacement   : '(string|array)'\n  }\n\n  const AttachmentMap = {\n    AUTO   : 'auto',\n    TOP    : 'top',\n    RIGHT  : 'right',\n    BOTTOM : 'bottom',\n    LEFT   : 'left'\n  }\n\n  const Default = {\n    animation           : true,\n    template            : '<div class=\"tooltip\" role=\"tooltip\">'\n                        + '<div class=\"arrow\"></div>'\n                        + '<div class=\"tooltip-inner\"></div></div>',\n    trigger             : 'hover focus',\n    title               : '',\n    delay               : 0,\n    html                : false,\n    selector            : false,\n    placement           : 'top',\n    offset              : 0,\n    container           : false,\n    fallbackPlacement   : 'flip'\n  }\n\n  const HoverState = {\n    SHOW : 'show',\n    OUT  : 'out'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TOOLTIP       : '.tooltip',\n    TOOLTIP_INNER : '.tooltip-inner',\n    ARROW         : '.arrow'\n  }\n\n  const Trigger = {\n    HOVER  : 'hover',\n    FOCUS  : 'focus',\n    CLICK  : 'click',\n    MANUAL : 'manual'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tooltip {\n\n    constructor(element, config) {\n\n      // private\n      this._isEnabled     = true\n      this._timeout       = 0\n      this._hoverState    = ''\n      this._activeTrigger = {}\n      this._popper        = null\n\n      // protected\n      this.element = element\n      this.config  = this._getConfig(config)\n      this.tip     = null\n\n      this._setListeners()\n\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // public\n\n    enable() {\n      this._isEnabled = true\n    }\n\n    disable() {\n      this._isEnabled = false\n    }\n\n    toggleEnabled() {\n      this._isEnabled = !this._isEnabled\n    }\n\n    toggle(event) {\n      if (!this._isEnabled) {\n        return\n      }\n\n      if (event) {\n        const dataKey = this.constructor.DATA_KEY\n        let context = $(event.currentTarget).data(dataKey)\n\n        if (!context) {\n          context = new this.constructor(\n            event.currentTarget,\n            this._getDelegateConfig()\n          )\n          $(event.currentTarget).data(dataKey, context)\n        }\n\n        context._activeTrigger.click = !context._activeTrigger.click\n\n        if (context._isWithActiveTrigger()) {\n          context._enter(null, context)\n        } else {\n          context._leave(null, context)\n        }\n\n      } else {\n\n        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n          this._leave(null, this)\n          return\n        }\n\n        this._enter(null, this)\n      }\n    }\n\n    dispose() {\n      clearTimeout(this._timeout)\n\n      $.removeData(this.element, this.constructor.DATA_KEY)\n\n      $(this.element).off(this.constructor.EVENT_KEY)\n      $(this.element).closest('.modal').off('hide.bs.modal')\n\n      if (this.tip) {\n        $(this.tip).remove()\n      }\n\n      this._isEnabled     = null\n      this._timeout       = null\n      this._hoverState    = null\n      this._activeTrigger = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      this._popper = null\n      this.element = null\n      this.config  = null\n      this.tip     = null\n    }\n\n    show() {\n      if ($(this.element).css('display') === 'none') {\n        throw new Error('Please use show on visible elements')\n      }\n\n      const showEvent = $.Event(this.constructor.Event.SHOW)\n      if (this.isWithContent() && this._isEnabled) {\n        $(this.element).trigger(showEvent)\n\n        const isInTheDom = $.contains(\n          this.element.ownerDocument.documentElement,\n          this.element\n        )\n\n        if (showEvent.isDefaultPrevented() || !isInTheDom) {\n          return\n        }\n\n        const tip   = this.getTipElement()\n        const tipId = Util.getUID(this.constructor.NAME)\n\n        tip.setAttribute('id', tipId)\n        this.element.setAttribute('aria-describedby', tipId)\n\n        this.setContent()\n\n        if (this.config.animation) {\n          $(tip).addClass(ClassName.FADE)\n        }\n\n        const placement  = typeof this.config.placement === 'function' ?\n          this.config.placement.call(this, tip, this.element) :\n          this.config.placement\n\n        const attachment = this._getAttachment(placement)\n        this.addAttachmentClass(attachment)\n\n        const container = this.config.container === false ? document.body : $(this.config.container)\n\n        $(tip).data(this.constructor.DATA_KEY, this)\n\n        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n          $(tip).appendTo(container)\n        }\n\n        $(this.element).trigger(this.constructor.Event.INSERTED)\n\n        this._popper = new Popper(this.element, tip, {\n          placement: attachment,\n          modifiers: {\n            offset: {\n              offset: this.config.offset\n            },\n            flip: {\n              behavior: this.config.fallbackPlacement\n            },\n            arrow: {\n              element: Selector.ARROW\n            }\n          },\n          onCreate: (data) => {\n            if (data.originalPlacement !== data.placement) {\n              this._handlePopperPlacementChange(data)\n            }\n          },\n          onUpdate : (data) => {\n            this._handlePopperPlacementChange(data)\n          }\n        })\n\n        $(tip).addClass(ClassName.SHOW)\n\n        // if this is a touch-enabled device we add extra\n        // empty mouseover listeners to the body's immediate children;\n        // only needed because of broken event delegation on iOS\n        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().on('mouseover', null, $.noop)\n        }\n\n        const complete = () => {\n          if (this.config.animation) {\n            this._fixTransition()\n          }\n          const prevHoverState = this._hoverState\n          this._hoverState     = null\n\n          $(this.element).trigger(this.constructor.Event.SHOWN)\n\n          if (prevHoverState === HoverState.OUT) {\n            this._leave(null, this)\n          }\n        }\n\n        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n          $(this.tip)\n            .one(Util.TRANSITION_END, complete)\n            .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n        } else {\n          complete()\n        }\n      }\n    }\n\n    hide(callback) {\n      const tip       = this.getTipElement()\n      const hideEvent = $.Event(this.constructor.Event.HIDE)\n      const complete  = () => {\n        if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n          tip.parentNode.removeChild(tip)\n        }\n\n        this._cleanTipClass()\n        this.element.removeAttribute('aria-describedby')\n        $(this.element).trigger(this.constructor.Event.HIDDEN)\n        if (this._popper !== null) {\n          this._popper.destroy()\n        }\n\n        if (callback) {\n          callback()\n        }\n      }\n\n      $(this.element).trigger(hideEvent)\n\n      if (hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      $(tip).removeClass(ClassName.SHOW)\n\n      // if this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $('body').children().off('mouseover', null, $.noop)\n      }\n\n      this._activeTrigger[Trigger.CLICK] = false\n      this._activeTrigger[Trigger.FOCUS] = false\n      this._activeTrigger[Trigger.HOVER] = false\n\n      if (Util.supportsTransitionEnd() &&\n          $(this.tip).hasClass(ClassName.FADE)) {\n\n        $(tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      this._hoverState = ''\n\n    }\n\n    update() {\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // protected\n\n    isWithContent() {\n      return Boolean(this.getTitle())\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    setElementContent($element, content) {\n      const html = this.config.html\n      if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n        // content is a DOM node or a jQuery\n        if (html) {\n          if (!$(content).parent().is($element)) {\n            $element.empty().append(content)\n          }\n        } else {\n          $element.text($(content).text())\n        }\n      } else {\n        $element[html ? 'html' : 'text'](content)\n      }\n    }\n\n    getTitle() {\n      let title = this.element.getAttribute('data-original-title')\n\n      if (!title) {\n        title = typeof this.config.title === 'function' ?\n          this.config.title.call(this.element) :\n          this.config.title\n      }\n\n      return title\n    }\n\n\n    // private\n\n    _getAttachment(placement) {\n      return AttachmentMap[placement.toUpperCase()]\n    }\n\n    _setListeners() {\n      const triggers = this.config.trigger.split(' ')\n\n      triggers.forEach((trigger) => {\n        if (trigger === 'click') {\n          $(this.element).on(\n            this.constructor.Event.CLICK,\n            this.config.selector,\n            (event) => this.toggle(event)\n          )\n\n        } else if (trigger !== Trigger.MANUAL) {\n          const eventIn  = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSEENTER :\n            this.constructor.Event.FOCUSIN\n          const eventOut = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSELEAVE :\n            this.constructor.Event.FOCUSOUT\n\n          $(this.element)\n            .on(\n              eventIn,\n              this.config.selector,\n              (event) => this._enter(event)\n            )\n            .on(\n              eventOut,\n              this.config.selector,\n              (event) => this._leave(event)\n            )\n        }\n\n        $(this.element).closest('.modal').on(\n          'hide.bs.modal',\n          () => this.hide()\n        )\n      })\n\n      if (this.config.selector) {\n        this.config = $.extend({}, this.config, {\n          trigger  : 'manual',\n          selector : ''\n        })\n      } else {\n        this._fixTitle()\n      }\n    }\n\n    _fixTitle() {\n      const titleType = typeof this.element.getAttribute('data-original-title')\n      if (this.element.getAttribute('title') ||\n         titleType !== 'string') {\n        this.element.setAttribute(\n          'data-original-title',\n          this.element.getAttribute('title') || ''\n        )\n        this.element.setAttribute('title', '')\n      }\n    }\n\n    _enter(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n        ] = true\n      }\n\n      if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n         context._hoverState === HoverState.SHOW) {\n        context._hoverState = HoverState.SHOW\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.SHOW\n\n      if (!context.config.delay || !context.config.delay.show) {\n        context.show()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.SHOW) {\n          context.show()\n        }\n      }, context.config.delay.show)\n    }\n\n    _leave(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n        ] = false\n      }\n\n      if (context._isWithActiveTrigger()) {\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.OUT\n\n      if (!context.config.delay || !context.config.delay.hide) {\n        context.hide()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.OUT) {\n          context.hide()\n        }\n      }, context.config.delay.hide)\n    }\n\n    _isWithActiveTrigger() {\n      for (const trigger in this._activeTrigger) {\n        if (this._activeTrigger[trigger]) {\n          return true\n        }\n      }\n\n      return false\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this.element).data(),\n        config\n      )\n\n      if (typeof config.delay === 'number') {\n        config.delay = {\n          show : config.delay,\n          hide : config.delay\n        }\n      }\n\n      if (typeof config.title === 'number') {\n        config.title = config.title.toString()\n      }\n\n      if (typeof config.content === 'number') {\n        config.content = config.content.toString()\n      }\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getDelegateConfig() {\n      const config = {}\n\n      if (this.config) {\n        for (const key in this.config) {\n          if (this.constructor.Default[key] !== this.config[key]) {\n            config[key] = this.config[key]\n          }\n        }\n      }\n\n      return config\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n    _handlePopperPlacementChange(data) {\n      this._cleanTipClass()\n      this.addAttachmentClass(this._getAttachment(data.placement))\n    }\n\n    _fixTransition() {\n      const tip                 = this.getTipElement()\n      const initConfigAnimation = this.config.animation\n      if (tip.getAttribute('x-placement') !== null) {\n        return\n      }\n      $(tip).removeClass(ClassName.FADE)\n      this.config.animation = false\n      this.hide()\n      this.show()\n      this.config.animation = initConfigAnimation\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data && /dispose|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Tooltip(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tooltip._jQueryInterface\n  $.fn[NAME].Constructor = Tooltip\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tooltip._jQueryInterface\n  }\n\n  return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'popover'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.popover'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const CLASS_PREFIX        = 'bs-popover'\n  const BSCLS_PREFIX_REGEX  = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const Default = $.extend({}, Tooltip.Default, {\n    placement : 'right',\n    trigger   : 'click',\n    content   : '',\n    template  : '<div class=\"popover\" role=\"tooltip\">'\n              + '<div class=\"arrow\"></div>'\n              + '<h3 class=\"popover-header\"></h3>'\n              + '<div class=\"popover-body\"></div></div>'\n  })\n\n  const DefaultType = $.extend({}, Tooltip.DefaultType, {\n    content : '(string|element|function)'\n  })\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TITLE   : '.popover-header',\n    CONTENT : '.popover-body'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Popover extends Tooltip {\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // overrides\n\n    isWithContent() {\n      return this.getTitle() || this._getContent()\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n\n      // we use append for html objects to maintain js events\n      this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n      this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    // private\n\n    _getContent() {\n      return this.element.getAttribute('data-content')\n        || (typeof this.config.content === 'function' ?\n              this.config.content.call(this.element) :\n              this.config.content)\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data && /destroy|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Popover(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Popover._jQueryInterface\n  $.fn[NAME].Constructor = Popover\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Popover._jQueryInterface\n  }\n\n  return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME               = 'scrollspy'\n  const VERSION            = '4.0.0-beta.2'\n  const DATA_KEY           = 'bs.scrollspy'\n  const EVENT_KEY          = `.${DATA_KEY}`\n  const DATA_API_KEY       = '.data-api'\n  const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n  const Default = {\n    offset : 10,\n    method : 'auto',\n    target : ''\n  }\n\n  const DefaultType = {\n    offset : 'number',\n    method : 'string',\n    target : '(string|element)'\n  }\n\n  const Event = {\n    ACTIVATE      : `activate${EVENT_KEY}`,\n    SCROLL        : `scroll${EVENT_KEY}`,\n    LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_ITEM : 'dropdown-item',\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active'\n  }\n\n  const Selector = {\n    DATA_SPY        : '[data-spy=\"scroll\"]',\n    ACTIVE          : '.active',\n    NAV_LIST_GROUP  : '.nav, .list-group',\n    NAV_LINKS       : '.nav-link',\n    NAV_ITEMS       : '.nav-item',\n    LIST_ITEMS      : '.list-group-item',\n    DROPDOWN        : '.dropdown',\n    DROPDOWN_ITEMS  : '.dropdown-item',\n    DROPDOWN_TOGGLE : '.dropdown-toggle'\n  }\n\n  const OffsetMethod = {\n    OFFSET   : 'offset',\n    POSITION : 'position'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class ScrollSpy {\n\n    constructor(element, config) {\n      this._element       = element\n      this._scrollElement = element.tagName === 'BODY' ? window : element\n      this._config        = this._getConfig(config)\n      this._selector      = `${this._config.target} ${Selector.NAV_LINKS},`\n                          + `${this._config.target} ${Selector.LIST_ITEMS},`\n                          + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n      this._offsets       = []\n      this._targets       = []\n      this._activeTarget  = null\n      this._scrollHeight  = 0\n\n      $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n      this.refresh()\n      this._process()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    refresh() {\n      const autoMethod = this._scrollElement !== this._scrollElement.window ?\n        OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n      const offsetMethod = this._config.method === 'auto' ?\n        autoMethod : this._config.method\n\n      const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n        this._getScrollTop() : 0\n\n      this._offsets = []\n      this._targets = []\n\n      this._scrollHeight = this._getScrollHeight()\n\n      const targets = $.makeArray($(this._selector))\n\n      targets\n        .map((element) => {\n          let target\n          const targetSelector = Util.getSelectorFromElement(element)\n\n          if (targetSelector) {\n            target = $(targetSelector)[0]\n          }\n\n          if (target) {\n            const targetBCR = target.getBoundingClientRect()\n            if (targetBCR.width || targetBCR.height) {\n              // todo (fat): remove sketch reliance on jQuery position/offset\n              return [\n                $(target)[offsetMethod]().top + offsetBase,\n                targetSelector\n              ]\n            }\n          }\n          return null\n        })\n        .filter((item)  => item)\n        .sort((a, b)    => a[0] - b[0])\n        .forEach((item) => {\n          this._offsets.push(item[0])\n          this._targets.push(item[1])\n        })\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._scrollElement).off(EVENT_KEY)\n\n      this._element       = null\n      this._scrollElement = null\n      this._config        = null\n      this._selector      = null\n      this._offsets       = null\n      this._targets       = null\n      this._activeTarget  = null\n      this._scrollHeight  = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n\n      if (typeof config.target !== 'string') {\n        let id = $(config.target).attr('id')\n        if (!id) {\n          id = Util.getUID(NAME)\n          $(config.target).attr('id', id)\n        }\n        config.target = `#${id}`\n      }\n\n      Util.typeCheckConfig(NAME, config, DefaultType)\n\n      return config\n    }\n\n    _getScrollTop() {\n      return this._scrollElement === window ?\n          this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n    }\n\n    _getScrollHeight() {\n      return this._scrollElement.scrollHeight || Math.max(\n        document.body.scrollHeight,\n        document.documentElement.scrollHeight\n      )\n    }\n\n    _getOffsetHeight() {\n      return this._scrollElement === window ?\n          window.innerHeight : this._scrollElement.getBoundingClientRect().height\n    }\n\n    _process() {\n      const scrollTop    = this._getScrollTop() + this._config.offset\n      const scrollHeight = this._getScrollHeight()\n      const maxScroll    = this._config.offset\n        + scrollHeight\n        - this._getOffsetHeight()\n\n      if (this._scrollHeight !== scrollHeight) {\n        this.refresh()\n      }\n\n      if (scrollTop >= maxScroll) {\n        const target = this._targets[this._targets.length - 1]\n\n        if (this._activeTarget !== target) {\n          this._activate(target)\n        }\n        return\n      }\n\n      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n        this._activeTarget = null\n        this._clear()\n        return\n      }\n\n      for (let i = this._offsets.length; i--;) {\n        const isActiveTarget = this._activeTarget !== this._targets[i]\n            && scrollTop >= this._offsets[i]\n            && (typeof this._offsets[i + 1] === 'undefined' ||\n                scrollTop < this._offsets[i + 1])\n\n        if (isActiveTarget) {\n          this._activate(this._targets[i])\n        }\n      }\n    }\n\n    _activate(target) {\n      this._activeTarget = target\n\n      this._clear()\n\n      let queries = this._selector.split(',')\n      // eslint-disable-next-line arrow-body-style\n      queries     = queries.map((selector) => {\n        return `${selector}[data-target=\"${target}\"],` +\n               `${selector}[href=\"${target}\"]`\n      })\n\n      const $link = $(queries.join(','))\n\n      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        $link.addClass(ClassName.ACTIVE)\n      } else {\n        // Set triggered link as active\n        $link.addClass(ClassName.ACTIVE)\n        // Set triggered links parents as active\n        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n        $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n        // Handle special case when .nav-link is inside .nav-item\n        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n      }\n\n      $(this._scrollElement).trigger(Event.ACTIVATE, {\n        relatedTarget: target\n      })\n    }\n\n    _clear() {\n      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data) {\n          data = new ScrollSpy(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n    for (let i = scrollSpys.length; i--;) {\n      const $spy = $(scrollSpys[i])\n      ScrollSpy._jQueryInterface.call($spy, $spy.data())\n    }\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = ScrollSpy._jQueryInterface\n  $.fn[NAME].Constructor = ScrollSpy\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return ScrollSpy._jQueryInterface\n  }\n\n  return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tab'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tab'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Event = {\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active',\n    DISABLED      : 'disabled',\n    FADE          : 'fade',\n    SHOW          : 'show'\n  }\n\n  const Selector = {\n    DROPDOWN              : '.dropdown',\n    NAV_LIST_GROUP        : '.nav, .list-group',\n    ACTIVE                : '.active',\n    ACTIVE_UL             : '> li > .active',\n    DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n    DROPDOWN_TOGGLE       : '.dropdown-toggle',\n    DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tab {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    show() {\n      if (this._element.parentNode &&\n          this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n          $(this._element).hasClass(ClassName.ACTIVE) ||\n          $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      let target\n      let previous\n      const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n      const selector    = Util.getSelectorFromElement(this._element)\n\n      if (listElement) {\n        const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n        previous = $.makeArray($(listElement).find(itemSelector))\n        previous = previous[previous.length - 1]\n      }\n\n      const hideEvent = $.Event(Event.HIDE, {\n        relatedTarget: this._element\n      })\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget: previous\n      })\n\n      if (previous) {\n        $(previous).trigger(hideEvent)\n      }\n\n      $(this._element).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented() ||\n         hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (selector) {\n        target = $(selector)[0]\n      }\n\n      this._activate(\n        this._element,\n        listElement\n      )\n\n      const complete = () => {\n        const hiddenEvent = $.Event(Event.HIDDEN, {\n          relatedTarget: this._element\n        })\n\n        const shownEvent = $.Event(Event.SHOWN, {\n          relatedTarget: previous\n        })\n\n        $(previous).trigger(hiddenEvent)\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (target) {\n        this._activate(target, target.parentNode, complete)\n      } else {\n        complete()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _activate(element, container, callback) {\n      let activeElements\n      if (container.nodeName === 'UL') {\n        activeElements = $(container).find(Selector.ACTIVE_UL)\n      } else {\n        activeElements = $(container).children(Selector.ACTIVE)\n      }\n\n      const active          = activeElements[0]\n      const isTransitioning = callback\n        && Util.supportsTransitionEnd()\n        && (active && $(active).hasClass(ClassName.FADE))\n\n      const complete = () => this._transitionComplete(\n        element,\n        active,\n        isTransitioning,\n        callback\n      )\n\n      if (active && isTransitioning) {\n        $(active)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      if (active) {\n        $(active).removeClass(ClassName.SHOW)\n      }\n    }\n\n    _transitionComplete(element, active, isTransitioning, callback) {\n      if (active) {\n        $(active).removeClass(ClassName.ACTIVE)\n\n        const dropdownChild = $(active.parentNode).find(\n          Selector.DROPDOWN_ACTIVE_CHILD\n        )[0]\n\n        if (dropdownChild) {\n          $(dropdownChild).removeClass(ClassName.ACTIVE)\n        }\n\n        if (active.getAttribute('role') === 'tab') {\n          active.setAttribute('aria-selected', false)\n        }\n      }\n\n      $(element).addClass(ClassName.ACTIVE)\n      if (element.getAttribute('role') === 'tab') {\n        element.setAttribute('aria-selected', true)\n      }\n\n      if (isTransitioning) {\n        Util.reflow(element)\n        $(element).addClass(ClassName.SHOW)\n      } else {\n        $(element).removeClass(ClassName.FADE)\n      }\n\n      if (element.parentNode &&\n          $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n        const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n        if (dropdownElement) {\n          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        }\n\n        element.setAttribute('aria-expanded', true)\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this = $(this)\n        let data    = $this.data(DATA_KEY)\n\n        if (!data) {\n          data = new Tab(this)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      Tab._jQueryInterface.call($(this), 'show')\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tab._jQueryInterface\n  $.fn[NAME].Constructor = Tab\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tab._jQueryInterface\n  }\n\n  return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor  = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})($)\n\nexport {\n  Util,\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Popover,\n  Scrollspy,\n  Tab,\n  Tooltip\n}\n"],"names":["Util","transition","MAX_UID","TransitionEndEvent","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","prefix","Math","random","getElementById","element","selector","getAttribute","$selector","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","createClass","_extends","Dropdown","Popper","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"}
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.bundle.min.js b/workspace/public/js/bootstrap.bundle.min.js
new file mode 100644
index 0000000..6342466
--- /dev/null
+++ b/workspace/public/js/bootstrap.bundle.min.js
@@ -0,0 +1,7 @@
+/*!
+  * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+var bootstrap=function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t){return t&&"[object Function]"==={}.toString.call(t)}function r(t,e){if(1!==t.nodeType)return[];var n=window.getComputedStyle(t,null);return e?n[e]:n}function o(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function s(t){if(!t||-1!==["HTML","BODY","#document"].indexOf(t.nodeName))return window.document.body;var e=r(t),n=e.overflow,i=e.overflowX;return/(auto|scroll)/.test(n+e.overflowY+i)?t:s(o(t))}function a(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===r(e,"position")?a(e):e:window.document.documentElement}function l(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||a(t.firstElementChild)===t)}function c(t){return null!==t.parentNode?c(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return window.document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s=o.commonAncestorContainer;if(t!==s&&e!==s||i.contains(r))return l(s)?s:a(s);var h=c(t);return h.host?f(h.host,e):f(t,c(e).host)}function h(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=window.document.documentElement;return(window.document.scrollingElement||i)[e]}return t[e]}function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=h(e,"top"),r=h(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}function d(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return+t["border"+n+"Width"].split("px")[0]+ +t["border"+i+"Width"].split("px")[0]}function p(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],lt()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function g(){var t=window.document.body,e=window.document.documentElement,n=lt()&&window.getComputedStyle(e);return{height:p("Height",t,e,n),width:p("Width",t,e,n)}}function m(t){return ut({},t,{right:t.left+t.width,bottom:t.top+t.height})}function _(t){var e={};if(lt())try{e=t.getBoundingClientRect();var n=h(t,"top"),i=h(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}catch(t){}else e=t.getBoundingClientRect();var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},s="HTML"===t.nodeName?g():{},a=s.width||t.clientWidth||o.right-o.left,l=s.height||t.clientHeight||o.bottom-o.top,c=t.offsetWidth-a,f=t.offsetHeight-l;if(c||f){var u=r(t);c-=d(u,"x"),f-=d(u,"y"),o.width-=c,o.height-=f}return m(o)}function v(t,e){var n=lt(),i="HTML"===e.nodeName,o=_(t),a=_(e),l=s(t),c=r(e),f=+c.borderTopWidth.split("px")[0],h=+c.borderLeftWidth.split("px")[0],d=m({top:o.top-a.top-f,left:o.left-a.left-h,width:o.width,height:o.height});if(d.marginTop=0,d.marginLeft=0,!n&&i){var p=+c.marginTop.split("px")[0],g=+c.marginLeft.split("px")[0];d.top-=f-p,d.bottom-=f-p,d.left-=h-g,d.right-=h-g,d.marginTop=p,d.marginLeft=g}return(n?e.contains(l):e===l&&"BODY"!==l.nodeName)&&(d=u(d,e)),d}function E(t){var e=window.document.documentElement,n=v(t,e),i=Math.max(e.clientWidth,window.innerWidth||0),r=Math.max(e.clientHeight,window.innerHeight||0),o=h(e),s=h(e,"left");return m({top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r})}function T(t){var e=t.nodeName;return"BODY"!==e&&"HTML"!==e&&("fixed"===r(t,"position")||T(o(t)))}function b(t,e,n,i){var r={top:0,left:0},a=f(t,e);if("viewport"===i)r=E(a);else{var l=void 0;"scrollParent"===i?"BODY"===(l=s(o(t))).nodeName&&(l=window.document.documentElement):l="window"===i?window.document.documentElement:i;var c=v(l,a);if("HTML"!==l.nodeName||T(a))r=c;else{var h=g(),u=h.height,d=h.width;r.top+=c.top-c.marginTop,r.bottom=u+c.top,r.left+=c.left-c.marginLeft,r.right=d+c.left}}return r.left+=n,r.top+=n,r.right-=n,r.bottom-=n,r}function C(t){return t.width*t.height}function A(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=b(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return ut({key:t},a[t],{area:C(a[t])})}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return f+(h?"-"+h:"")}function I(t,e,n){return v(n,f(e,n))}function O(t){var e=window.getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function y(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function D(t,e,n){n=n.split("-")[0];var i=O(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[y(a)],r}function S(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function w(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=S(t,function(t){return t[e]===n});return t.indexOf(i)}function N(t,e,n){return(void 0===n?t:t.slice(0,w(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&i(n)&&(e.offsets.popper=m(e.offsets.popper),e.offsets.reference=m(e.offsets.reference),e=n(e,t))}),e}function L(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=I(this.state,this.popper,this.reference),t.placement=A(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=D(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=N(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function P(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function R(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length-1;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof window.document.body.style[o])return o}return null}function H(){return this.state.isDestroyed=!0,P(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[R("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function k(t,e,n,i){var r="BODY"===t.nodeName,o=r?window:t;o.addEventListener(e,n,{passive:!0}),r||k(s(o.parentNode),e,n,i),i.push(o)}function W(t,e,n,i){n.updateBound=i,window.addEventListener("resize",n.updateBound,{passive:!0});var r=s(t);return k(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function x(){this.state.eventsEnabled||(this.state=W(this.reference,this.options,this.state,this.scheduleUpdate))}function M(t,e){return window.removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function U(){this.state.eventsEnabled&&(window.cancelAnimationFrame(this.scheduleUpdate),this.state=M(this.reference,this.state))}function V(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function F(t,e){Object.keys(e).forEach(function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&V(e[n])&&(i="px"),t.style[n]=e[n]+i})}function j(t,e){Object.keys(e).forEach(function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)})}function B(t,e,n){var i=S(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}function G(t){return"end"===t?"start":"start"===t?"end":t}function K(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=pt.indexOf(t),i=pt.slice(n+1).concat(pt.slice(0,n));return e?i.reverse():i}function Q(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return m(a)[e]/100*o}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o}return o}function Y(t,e,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(S(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var r=(1===i?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return Q(t,r,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){V(n)&&(r[e]+=n*("-"===t[i-1]?-1:1))})}),r}e=e&&e.hasOwnProperty("default")?e.default:e;for(var X=function(){function t(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(){return{bindType:o.end,delegateType:o.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}}}function i(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in s)if("undefined"!=typeof t.style[e])return{end:s[e]};return!1}function r(t){var n=this,i=!1;return e(this).one(a.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||a.triggerTransitionEnd(n)},t),this}var o=!1,s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},a={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var n=t.getAttribute("data-target");n&&"#"!==n||(n=t.getAttribute("href")||"");try{return e(document).find(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(o.end)},supportsTransitionEnd:function(){return Boolean(o)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(e,n,i){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var o=i[r],s=n[r],l=s&&a.isElement(s)?"element":t(s);if(!new RegExp(o).test(l))throw new Error(e.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+o+'".')}}};return o=i(),e.fn.emulateTransitionEnd=r,a.supportsTransitionEnd()&&(e.event.special[a.TRANSITION_END]=n()),a}(),q=function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t},z=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e},Z=function(){var t="alert",n=e.fn[t],i={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},r={ALERT:"alert",FADE:"fade",SHOW:"show"},o=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=X.getSelectorFromElement(t),i=!1;return n&&(i=e(n)[0]),i||(i=e(t).closest("."+r.ALERT)[0]),i},n._triggerCloseEvent=function(t){var n=e.Event(i.CLOSE);return e(t).trigger(n),n},n._removeElement=function(t){var n=this;e(t).removeClass(r.SHOW),X.supportsTransitionEnd()&&e(t).hasClass(r.FADE)?e(t).one(X.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(150):this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger(i.CLOSED).remove()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),r=i.data("bs.alert");r||(r=new t(this),i.data("bs.alert",r)),"close"===n&&r[n](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(i.CLICK_DATA_API,{DISMISS:'[data-dismiss="alert"]'}.DISMISS,o._handleDismiss(new o)),e.fn[t]=o._jQueryInterface,e.fn[t].Constructor=o,e.fn[t].noConflict=function(){return e.fn[t]=n,o._jQueryInterface},o}(),J=function(){var t="button",n=e.fn[t],i={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},r={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},o={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},s=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,o=e(this._element).closest(r.DATA_TOGGLE)[0];if(o){var s=e(this._element).find(r.INPUT)[0];if(s){if("radio"===s.type)if(s.checked&&e(this._element).hasClass(i.ACTIVE))t=!1;else{var a=e(o).find(r.ACTIVE)[0];a&&e(a).removeClass(i.ACTIVE)}if(t){if(s.hasAttribute("disabled")||o.hasAttribute("disabled")||s.classList.contains("disabled")||o.classList.contains("disabled"))return;s.checked=!e(this._element).hasClass(i.ACTIVE),e(s).trigger("change")}s.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!e(this._element).hasClass(i.ACTIVE)),t&&e(this._element).toggleClass(i.ACTIVE)},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each(function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()})},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(o.CLICK_DATA_API,r.DATA_TOGGLE_CARROT,function(t){t.preventDefault();var n=t.target;e(n).hasClass(i.BUTTON)||(n=e(n).closest(r.BUTTON)),s._jQueryInterface.call(e(n),"toggle")}).on(o.FOCUS_BLUR_DATA_API,r.DATA_TOGGLE_CARROT,function(t){var n=e(t.target).closest(r.BUTTON)[0];e(n).toggleClass(i.FOCUS,/^focus(in)?$/.test(t.type))}),e.fn[t]=s._jQueryInterface,e.fn[t].Constructor=s,e.fn[t].noConflict=function(){return e.fn[t]=n,s._jQueryInterface},s}(),$=function(){var t="carousel",n="bs.carousel",i="."+n,r=e.fn[t],o={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},s={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},a={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},l={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},c={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},f={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},h=function(){function r(t,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=e(t)[0],this._indicatorsElement=e(this._element).find(f.INDICATORS)[0],this._addEventListeners()}var h=r.prototype;return h.next=function(){this._isSliding||this._slide(a.NEXT)},h.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},h.prev=function(){this._isSliding||this._slide(a.PREV)},h.pause=function(t){t||(this._isPaused=!0),e(this._element).find(f.NEXT_PREV)[0]&&X.supportsTransitionEnd()&&(X.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.to=function(t){var n=this;this._activeElement=e(this._element).find(f.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one(l.SLID,function(){return n.to(t)});else{if(i===t)return this.pause(),void this.cycle();var r=t>i?a.NEXT:a.PREV;this._slide(r,this._items[t])}},h.dispose=function(){e(this._element).off(i),e.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h._getConfig=function(n){return n=e.extend({},o,n),X.typeCheckConfig(t,n,s),n},h._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on(l.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(e(this._element).on(l.MOUSEENTER,function(e){return t.pause(e)}).on(l.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&e(this._element).on(l.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},h._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},h._getItemIndex=function(t){return this._items=e.makeArray(e(t).parent().find(f.ITEM)),this._items.indexOf(t)},h._getItemByDirection=function(t,e){var n=t===a.NEXT,i=t===a.PREV,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===a.PREV?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},h._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),r=this._getItemIndex(e(this._element).find(f.ACTIVE_ITEM)[0]),o=e.Event(l.SLIDE,{relatedTarget:t,direction:n,from:r,to:i});return e(this._element).trigger(o),o},h._setActiveIndicatorElement=function(t){if(this._indicatorsElement){e(this._indicatorsElement).find(f.ACTIVE).removeClass(c.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&e(n).addClass(c.ACTIVE)}},h._slide=function(t,n){var i,r,o,s=this,h=e(this._element).find(f.ACTIVE_ITEM)[0],u=this._getItemIndex(h),d=n||h&&this._getItemByDirection(t,h),p=this._getItemIndex(d),g=Boolean(this._interval);if(t===a.NEXT?(i=c.LEFT,r=c.NEXT,o=a.LEFT):(i=c.RIGHT,r=c.PREV,o=a.RIGHT),d&&e(d).hasClass(c.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(d,o).isDefaultPrevented()&&h&&d){this._isSliding=!0,g&&this.pause(),this._setActiveIndicatorElement(d);var m=e.Event(l.SLID,{relatedTarget:d,direction:o,from:u,to:p});X.supportsTransitionEnd()&&e(this._element).hasClass(c.SLIDE)?(e(d).addClass(r),X.reflow(d),e(h).addClass(i),e(d).addClass(i),e(h).one(X.TRANSITION_END,function(){e(d).removeClass(i+" "+r).addClass(c.ACTIVE),e(h).removeClass(c.ACTIVE+" "+r+" "+i),s._isSliding=!1,setTimeout(function(){return e(s._element).trigger(m)},0)}).emulateTransitionEnd(600)):(e(h).removeClass(c.ACTIVE),e(d).addClass(c.ACTIVE),this._isSliding=!1,e(this._element).trigger(m)),g&&this.cycle()}},r._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),s=e.extend({},o,e(this).data());"object"==typeof t&&e.extend(s,t);var a="string"==typeof t?t:s.slide;if(i||(i=new r(this,s),e(this).data(n,i)),"number"==typeof t)i.to(t);else if("string"==typeof a){if("undefined"==typeof i[a])throw new Error('No method named "'+a+'"');i[a]()}else s.interval&&(i.pause(),i.cycle())})},r._dataApiClickHandler=function(t){var i=X.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass(c.CAROUSEL)){var s=e.extend({},e(o).data(),e(this).data()),a=this.getAttribute("data-slide-to");a&&(s.interval=!1),r._jQueryInterface.call(e(o),s),a&&e(o).data(n).to(a),t.preventDefault()}}},q(r,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),r}();return e(document).on(l.CLICK_DATA_API,f.DATA_SLIDE,h._dataApiClickHandler),e(window).on(l.LOAD_DATA_API,function(){e(f.DATA_RIDE).each(function(){var t=e(this);h._jQueryInterface.call(t,t.data())})}),e.fn[t]=h._jQueryInterface,e.fn[t].Constructor=h,e.fn[t].noConflict=function(){return e.fn[t]=r,h._jQueryInterface},h}(),tt=function(){var t="collapse",n="bs.collapse",i=e.fn[t],r={toggle:!0,parent:""},o={toggle:"boolean",parent:"(string|element)"},s={SHOW:"show.bs.collapse",SHOWN:"shown.bs.collapse",HIDE:"hide.bs.collapse",HIDDEN:"hidden.bs.collapse",CLICK_DATA_API:"click.bs.collapse.data-api"},a={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},l={WIDTH:"width",HEIGHT:"height"},c={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},f=function(){function i(t,n){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(n),this._triggerArray=e.makeArray(e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var i=e(c.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],s=X.getSelectorFromElement(o);null!==s&&e(s).filter(t).length>0&&this._triggerArray.push(o)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var f=i.prototype;return f.toggle=function(){e(this._element).hasClass(a.SHOW)?this.hide():this.show()},f.show=function(){var t=this;if(!this._isTransitioning&&!e(this._element).hasClass(a.SHOW)){var r,o;if(this._parent&&((r=e.makeArray(e(this._parent).children().children(c.ACTIVES))).length||(r=null)),!(r&&(o=e(r).data(n))&&o._isTransitioning)){var l=e.Event(s.SHOW);if(e(this._element).trigger(l),!l.isDefaultPrevented()){r&&(i._jQueryInterface.call(e(r),"hide"),o||e(r).data(n,null));var f=this._getDimension();e(this._element).removeClass(a.COLLAPSE).addClass(a.COLLAPSING),this._element.style[f]=0,this._triggerArray.length&&e(this._triggerArray).removeClass(a.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){e(t._element).removeClass(a.COLLAPSING).addClass(a.COLLAPSE).addClass(a.SHOW),t._element.style[f]="",t.setTransitioning(!1),e(t._element).trigger(s.SHOWN)};if(X.supportsTransitionEnd()){var u="scroll"+(f[0].toUpperCase()+f.slice(1));e(this._element).one(X.TRANSITION_END,h).emulateTransitionEnd(600),this._element.style[f]=this._element[u]+"px"}else h()}}}},f.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass(a.SHOW)){var n=e.Event(s.HIDE);if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",X.reflow(this._element),e(this._element).addClass(a.COLLAPSING).removeClass(a.COLLAPSE).removeClass(a.SHOW),this._triggerArray.length)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],l=X.getSelectorFromElement(o);null!==l&&(e(l).hasClass(a.SHOW)||e(o).addClass(a.COLLAPSED).attr("aria-expanded",!1))}this.setTransitioning(!0);var c=function(){t.setTransitioning(!1),e(t._element).removeClass(a.COLLAPSING).addClass(a.COLLAPSE).trigger(s.HIDDEN)};this._element.style[i]="",X.supportsTransitionEnd()?e(this._element).one(X.TRANSITION_END,c).emulateTransitionEnd(600):c()}}},f.setTransitioning=function(t){this._isTransitioning=t},f.dispose=function(){e.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},f._getConfig=function(n){return n=e.extend({},r,n),n.toggle=Boolean(n.toggle),X.typeCheckConfig(t,n,o),n},f._getDimension=function(){return e(this._element).hasClass(l.WIDTH)?l.WIDTH:l.HEIGHT},f._getParent=function(){var t=this,n=null;X.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=e(this._config.parent)[0];var r='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return e(n).find(r).each(function(e,n){t._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},f._addAriaAndCollapsedClass=function(t,n){if(t){var i=e(t).hasClass(a.SHOW);n.length&&e(n).toggleClass(a.COLLAPSED,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(t){var n=X.getSelectorFromElement(t);return n?e(n)[0]:null},i._jQueryInterface=function(t){return this.each(function(){var o=e(this),s=o.data(n),a=e.extend({},r,o.data(),"object"==typeof t&&t);if(!s&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),s||(s=new i(this,a),o.data(n,s)),"string"==typeof t){if("undefined"==typeof s[t])throw new Error('No method named "'+t+'"');s[t]()}})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return r}}]),i}();return e(document).on(s.CLICK_DATA_API,c.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var i=e(this),r=X.getSelectorFromElement(this);e(r).each(function(){var t=e(this),r=t.data(n)?"toggle":i.data();f._jQueryInterface.call(t,r)})}),e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=i,f._jQueryInterface},f}(),et=["native code","[object MutationObserverConstructor]"],nt="undefined"!=typeof window,it=["Edge","Trident","Firefox"],rt=0,ot=0;ot<it.length;ot+=1)if(nt&&navigator.userAgent.indexOf(it[ot])>=0){rt=1;break}var st=nt&&function(t){return et.some(function(e){return(t||"").toString().indexOf(e)>-1})}(window.MutationObserver)?function(t){var e=!1,n=0,i=document.createElement("span");return new MutationObserver(function(){t(),e=!1}).observe(i,{attributes:!0}),function(){e||(e=!0,i.setAttribute("x-index",n),n+=1)}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},rt))}},at=void 0,lt=function(){return void 0===at&&(at=-1!==navigator.appVersion.indexOf("MSIE 10")),at},ct=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},ft=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),ht=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},ut=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},dt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],pt=dt.slice(3),gt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},mt={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:ht({},l,o[l]),end:ht({},l,o[l]+o[c]-s[c])};t.offsets.popper=ut({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=V(+n)?[+n,0]:Y(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||a(t.instance.popper);t.instance.reference===n&&(n=a(n));var i=b(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=i;var r=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<i[t]&&!e.escapeWithReference&&(n=Math.max(o[t],i[t])),ht({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=o[n];return o[t]>i[t]&&!e.escapeWithReference&&(r=Math.min(o[n],i[t]-("right"===t?o.width:o.height))),ht({},n,r)}};return r.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=ut({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){if(!B(t.instance.modifiers,"arrow","keepTogether"))return t;var n=e.element;if("string"==typeof n){if(!(n=t.instance.popper.querySelector(n)))return t}else if(!t.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",f=l?"Top":"Left",h=f.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=O(n)[c];a[d]-p<s[h]&&(t.offsets.popper[h]-=s[h]-(a[d]-p)),a[h]+p>s[d]&&(t.offsets.popper[h]+=a[h]+p-s[d]);var g=a[h]+a[c]/2-p/2,_=r(t.instance.popper,"margin"+f).replace("px",""),v=g-m(t.offsets.popper)[h]-_;return v=Math.max(Math.min(s[c]-p,v),0),t.arrowElement=n,t.offsets.arrow={},t.offsets.arrow[h]=Math.round(v),t.offsets.arrow[u]="",t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(P(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=b(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),i=t.placement.split("-")[0],r=y(i),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case gt.FLIP:s=[i,r];break;case gt.CLOCKWISE:s=K(i);break;case gt.COUNTERCLOCKWISE:s=K(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],r=y(i);var c=t.offsets.popper,f=t.offsets.reference,h=Math.floor,u="left"===i&&h(c.right)>h(f.left)||"right"===i&&h(c.left)<h(f.right)||"top"===i&&h(c.bottom)>h(f.top)||"bottom"===i&&h(c.top)<h(f.bottom),d=h(c.left)<h(n.left),p=h(c.right)>h(n.right),g=h(c.top)<h(n.top),m=h(c.bottom)>h(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),E=!!e.flipVariations&&(v&&"start"===o&&d||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m);(u||_||E)&&(t.flipped=!0,(u||_)&&(i=s[l+1]),E&&(o=G(o)),t.placement=i+(o?"-"+o:""),t.offsets.popper=ut({},t.offsets.popper,D(t.instance.popper,t.offsets.reference,t.placement)),t=N(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=y(e),t.offsets.popper=m(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!B(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=S(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=S(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,l=_(a(t.instance.popper)),c={position:r.position},f={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},h="bottom"===n?"top":"bottom",u="right"===i?"left":"right",d=R("transform"),p=void 0,g=void 0;if(g="bottom"===h?-l.height+f.bottom:f.top,p="right"===u?-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[h]=0,c[u]=0,c.willChange="transform";else{var m="bottom"===h?-1:1,v="right"===u?-1:1;c[h]=g*m,c[u]=p*v,c.willChange=h+", "+u}var E={"x-placement":t.placement};return t.attributes=ut({},E,t.attributes),t.styles=ut({},c,t.styles),t.arrowStyles=ut({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return F(t.instance.popper,t.styles),j(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&F(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=I(r,e,t),s=A(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),F(e,{position:"absolute"}),n},gpuAcceleration:void 0}}},_t=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};ct(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=st(this.update.bind(this)),this.options=ut({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e.jquery?e[0]:e,this.popper=n.jquery?n[0]:n,this.options.modifiers={},Object.keys(ut({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){r.options.modifiers[e]=ut({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return ut({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&i(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var s=this.options.eventsEnabled;s&&this.enableEventListeners(),this.state.eventsEnabled=s}return ft(t,[{key:"update",value:function(){return L.call(this)}},{key:"destroy",value:function(){return H.call(this)}},{key:"enableEventListeners",value:function(){return x.call(this)}},{key:"disableEventListeners",value:function(){return U.call(this)}}]),t}();_t.Utils=("undefined"!=typeof window?window:global).PopperUtils,_t.placements=dt,_t.Defaults=mt;var vt=function(){if("undefined"==typeof _t)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var t="dropdown",n="bs.dropdown",i="."+n,r=e.fn[t],o=new RegExp("38|40|27"),s={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,CLICK:"click"+i,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},a={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},l={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},c={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},f={offset:0,flip:!0},h={offset:"(number|string|function)",flip:"boolean"},u=function(){function r(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var u=r.prototype;return u.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass(a.DISABLED)){var t=r._getParentFromElement(this._element),n=e(this._menu).hasClass(a.SHOW);if(r._clearMenus(),!n){var i={relatedTarget:this._element},o=e.Event(s.SHOW,i);if(e(t).trigger(o),!o.isDefaultPrevented()){var c=this._element;e(t).hasClass(a.DROPUP)&&(e(this._menu).hasClass(a.MENULEFT)||e(this._menu).hasClass(a.MENURIGHT))&&(c=t),this._popper=new _t(c,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!e(t).closest(l.NAVBAR_NAV).length&&e("body").children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass(a.SHOW),e(t).toggleClass(a.SHOW).trigger(e.Event(s.SHOWN,i))}}}},u.dispose=function(){e.removeData(this._element,n),e(this._element).off(i),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},u.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},u._addEventListeners=function(){var t=this;e(this._element).on(s.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},u._getConfig=function(n){return n=e.extend({},this.constructor.Default,e(this._element).data(),n),X.typeCheckConfig(t,n,this.constructor.DefaultType),n},u._getMenuElement=function(){if(!this._menu){var t=r._getParentFromElement(this._element);this._menu=e(t).find(l.MENU)[0]}return this._menu},u._getPlacement=function(){var t=e(this._element).parent(),n=c.BOTTOM;return t.hasClass(a.DROPUP)?(n=c.TOP,e(this._menu).hasClass(a.MENURIGHT)&&(n=c.TOPEND)):e(this._menu).hasClass(a.MENURIGHT)&&(n=c.BOTTOMEND),n},u._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},u._getPopperConfig=function(){var t=this,n={};"function"==typeof this._config.offset?n.fn=function(n){return n.offsets=e.extend({},n.offsets,t._config.offset(n.offsets)||{}),n}:n.offset=this._config.offset;var i={placement:this._getPlacement(),modifiers:{offset:n,flip:{enabled:this._config.flip}}};return this._inNavbar&&(i.modifiers.applyStyle={enabled:!this._inNavbar}),i},r._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),o="object"==typeof t?t:null;if(i||(i=new r(this,o),e(this).data(n,i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},r._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var i=e.makeArray(e(l.DATA_TOGGLE)),o=0;o<i.length;o++){var c=r._getParentFromElement(i[o]),f=e(i[o]).data(n),h={relatedTarget:i[o]};if(f){var u=f._menu;if(e(c).hasClass(a.SHOW)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&e.contains(c,t.target))){var d=e.Event(s.HIDE,h);e(c).trigger(d),d.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),i[o].setAttribute("aria-expanded","false"),e(u).removeClass(a.SHOW),e(c).removeClass(a.SHOW).trigger(e.Event(s.HIDDEN,h)))}}}},r._getParentFromElement=function(t){var n,i=X.getSelectorFromElement(t);return i&&(n=e(i)[0]),n||t.parentNode},r._dataApiKeydownHandler=function(t){if(!(!o.test(t.which)||/button/i.test(t.target.tagName)&&32===t.which||/input|textarea/i.test(t.target.tagName)||(t.preventDefault(),t.stopPropagation(),this.disabled||e(this).hasClass(a.DISABLED)))){var n=r._getParentFromElement(this),i=e(n).hasClass(a.SHOW);if((i||27===t.which&&32===t.which)&&(!i||27!==t.which&&32!==t.which)){var s=e(n).find(l.VISIBLE_ITEMS).get();if(s.length){var c=s.indexOf(t.target);38===t.which&&c>0&&c--,40===t.which&&c<s.length-1&&c++,c<0&&(c=0),s[c].focus()}}else{if(27===t.which){var f=e(n).find(l.DATA_TOGGLE)[0];e(f).trigger("focus")}e(this).trigger("click")}}},q(r,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return f}},{key:"DefaultType",get:function(){return h}}]),r}();return e(document).on(s.KEYDOWN_DATA_API,l.DATA_TOGGLE,u._dataApiKeydownHandler).on(s.KEYDOWN_DATA_API,l.MENU,u._dataApiKeydownHandler).on(s.CLICK_DATA_API+" "+s.KEYUP_DATA_API,u._clearMenus).on(s.CLICK_DATA_API,l.DATA_TOGGLE,function(t){t.preventDefault(),t.stopPropagation(),u._jQueryInterface.call(e(this),"toggle")}).on(s.CLICK_DATA_API,l.FORM_CHILD,function(t){t.stopPropagation()}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=r,u._jQueryInterface},u}(),Et=function(){var t="modal",n=".bs.modal",i=e.fn[t],r={backdrop:!0,keyboard:!0,focus:!0,show:!0},o={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},s={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},a={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},l={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},c=function(){function i(t,n){this._config=this._getConfig(n),this._element=t,this._dialog=e(t).find(l.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var c=i.prototype;return c.toggle=function(t){return this._isShown?this.hide():this.show(t)},c.show=function(t){var n=this;if(!this._isTransitioning&&!this._isShown){X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE)&&(this._isTransitioning=!0);var i=e.Event(s.SHOW,{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),e(document.body).addClass(a.OPEN),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on(s.CLICK_DISMISS,l.DATA_DISMISS,function(t){return n.hide(t)}),e(this._dialog).on(s.MOUSEDOWN_DISMISS,function(){e(n._element).one(s.MOUSEUP_DISMISS,function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(t)}))}},c.hide=function(t){var n=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var i=e.Event(s.HIDE);if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off(s.FOCUSIN),e(this._element).removeClass(a.SHOW),e(this._element).off(s.CLICK_DISMISS),e(this._dialog).off(s.MOUSEDOWN_DISMISS),r?e(this._element).one(X.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},c.dispose=function(){e.removeData(this._element,"bs.modal"),e(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},c.handleUpdate=function(){this._adjustDialog()},c._getConfig=function(n){return n=e.extend({},r,n),X.typeCheckConfig(t,n,o),n},c._showElement=function(t){var n=this,i=X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&X.reflow(this._element),e(this._element).addClass(a.SHOW),this._config.focus&&this._enforceFocus();var r=e.Event(s.SHOWN,{relatedTarget:t}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(r)};i?e(this._dialog).one(X.TRANSITION_END,o).emulateTransitionEnd(300):o()},c._enforceFocus=function(){var t=this;e(document).off(s.FOCUSIN).on(s.FOCUSIN,function(n){document===n.target||t._element===n.target||e(t._element).has(n.target).length||t._element.focus()})},c._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?e(this._element).on(s.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||e(this._element).off(s.KEYDOWN_DISMISS)},c._setResizeEvent=function(){var t=this;this._isShown?e(window).on(s.RESIZE,function(e){return t.handleUpdate(e)}):e(window).off(s.RESIZE)},c._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){e(document.body).removeClass(a.OPEN),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger(s.HIDDEN)})},c._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},c._showBackdrop=function(t){var n=this,i=e(this._element).hasClass(a.FADE)?a.FADE:"";if(this._isShown&&this._config.backdrop){var r=X.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=a.BACKDROP,i&&e(this._backdrop).addClass(i),e(this._backdrop).appendTo(document.body),e(this._element).on(s.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&X.reflow(this._backdrop),e(this._backdrop).addClass(a.SHOW),!t)return;if(!r)return void t();e(this._backdrop).one(X.TRANSITION_END,t).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass(a.SHOW);var o=function(){n._removeBackdrop(),t&&t()};X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE)?e(this._backdrop).one(X.TRANSITION_END,o).emulateTransitionEnd(150):o()}else t&&t()},c._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},c._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},c._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},c._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){e(l.FIXED_CONTENT).each(function(n,i){var r=e(i)[0].style.paddingRight,o=e(i).css("padding-right");e(i).data("padding-right",r).css("padding-right",parseFloat(o)+t._scrollbarWidth+"px")}),e(l.STICKY_CONTENT).each(function(n,i){var r=e(i)[0].style.marginRight,o=e(i).css("margin-right");e(i).data("margin-right",r).css("margin-right",parseFloat(o)-t._scrollbarWidth+"px")}),e(l.NAVBAR_TOGGLER).each(function(n,i){var r=e(i)[0].style.marginRight,o=e(i).css("margin-right");e(i).data("margin-right",r).css("margin-right",parseFloat(o)+t._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=e("body").css("padding-right");e("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},c._resetScrollbar=function(){e(l.FIXED_CONTENT).each(function(t,n){var i=e(n).data("padding-right");"undefined"!=typeof i&&e(n).css("padding-right",i).removeData("padding-right")}),e(l.STICKY_CONTENT+", "+l.NAVBAR_TOGGLER).each(function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")});var t=e("body").data("padding-right");"undefined"!=typeof t&&e("body").css("padding-right",t).removeData("padding-right")},c._getScrollbarWidth=function(){var t=document.createElement("div");t.className=a.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},i._jQueryInterface=function(t,n){return this.each(function(){var r=e(this).data("bs.modal"),o=e.extend({},i.Default,e(this).data(),"object"==typeof t&&t);if(r||(r=new i(this,o),e(this).data("bs.modal",r)),"string"==typeof t){if("undefined"==typeof r[t])throw new Error('No method named "'+t+'"');r[t](n)}else o.show&&r.show(n)})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return r}}]),i}();return e(document).on(s.CLICK_DATA_API,l.DATA_TOGGLE,function(t){var n,i=this,r=X.getSelectorFromElement(this);r&&(n=e(r)[0]);var o=e(n).data("bs.modal")?"toggle":e.extend({},e(n).data(),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var a=e(n).one(s.SHOW,function(t){t.isDefaultPrevented()||a.one(s.HIDDEN,function(){e(i).is(":visible")&&i.focus()})});c._jQueryInterface.call(e(n),o,this)}),e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=i,c._jQueryInterface},c}(),Tt=function(){if("undefined"==typeof _t)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var t="tooltip",n=".bs.tooltip",i=e.fn[t],r=new RegExp("(^|\\s)bs-tooltip\\S+","g"),o={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},s={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},a={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},l={SHOW:"show",OUT:"out"},c={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},f={FADE:"fade",SHOW:"show"},h={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},u={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},d=function(){function i(t,e){this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var d=i.prototype;return d.enable=function(){this._isEnabled=!0},d.disable=function(){this._isEnabled=!1},d.toggleEnabled=function(){this._isEnabled=!this._isEnabled},d.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},d.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},d.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var n=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(n);var r=e.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!r)return;var o=this.getTipElement(),s=X.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&e(o).addClass(f.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,c=this._getAttachment(a);this.addAttachmentClass(c);var u=!1===this.config.container?document.body:e(this.config.container);e(o).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(o).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new _t(this.element,o,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:h.ARROW}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),e(o).addClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().on("mouseover",null,e.noop);var d=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),n===l.OUT&&t._leave(null,t)};X.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(this.tip).one(X.TRANSITION_END,d).emulateTransitionEnd(i._TRANSITION_DURATION):d()}},d.hide=function(t){var n=this,i=this.getTipElement(),r=e.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==l.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};e(this.element).trigger(r),r.isDefaultPrevented()||(e(i).removeClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),this._activeTrigger[u.CLICK]=!1,this._activeTrigger[u.FOCUS]=!1,this._activeTrigger[u.HOVER]=!1,X.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(i).one(X.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},d.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},d.isWithContent=function(){return Boolean(this.getTitle())},d.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},d.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},d.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(h.TOOLTIP_INNER),this.getTitle()),t.removeClass(f.FADE+" "+f.SHOW)},d.setElementContent=function(t,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},d.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},d._getAttachment=function(t){return s[t.toUpperCase()]},d._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==u.MANUAL){var i=n===u.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,r=n===u.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(r,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},d._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},d._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?u.FOCUS:u.HOVER]=!0),e(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===l.SHOW?n._hoverState=l.SHOW:(clearTimeout(n._timeout),n._hoverState=l.SHOW,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===l.SHOW&&n.show()},n.config.delay.show):n.show())},d._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?u.FOCUS:u.HOVER]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=l.OUT,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===l.OUT&&n.hide()},n.config.delay.hide):n.hide())},d._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},d._getConfig=function(n){return"number"==typeof(n=e.extend({},this.constructor.Default,e(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),X.typeCheckConfig(t,n,this.constructor.DefaultType),n},d._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},d._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(r);null!==n&&n.length>0&&t.removeClass(n.join(""))},d._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},d._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass(f.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},i._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.tooltip"),r="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new i(this,r),e(this).data("bs.tooltip",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return c}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return o}}]),i}();return e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),bt=function(){var t="popover",n=".bs.popover",i=e.fn[t],r=new RegExp("(^|\\s)bs-popover\\S+","g"),o=e.extend({},Tt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),s=e.extend({},Tt.DefaultType,{content:"(string|element|function)"}),a={FADE:"fade",SHOW:"show"},l={TITLE:".popover-header",CONTENT:".popover-body"},c={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},f=function(i){function f(){return i.apply(this,arguments)||this}z(f,i);var h=f.prototype;return h.isWithContent=function(){return this.getTitle()||this._getContent()},h.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},h.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},h.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(l.TITLE),this.getTitle()),this.setElementContent(t.find(l.CONTENT),this._getContent()),t.removeClass(a.FADE+" "+a.SHOW)},h._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},h._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(r);null!==n&&n.length>0&&t.removeClass(n.join(""))},f._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/destroy|hide/.test(t))&&(n||(n=new f(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},q(f,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return c}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return s}}]),f}(Tt);return e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=i,f._jQueryInterface},f}(),Ct=function(){var t="scrollspy",n=e.fn[t],i={offset:10,method:"auto",target:""},r={offset:"number",method:"string",target:"(string|element)"},o={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},s={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},a={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},l={OFFSET:"offset",POSITION:"position"},c=function(){function n(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" "+a.NAV_LINKS+","+this._config.target+" "+a.LIST_ITEMS+","+this._config.target+" "+a.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(o.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var c=n.prototype;return c.refresh=function(){var t=this,n=this._scrollElement!==this._scrollElement.window?l.POSITION:l.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===l.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),e.makeArray(e(this._selector)).map(function(t){var n,o=X.getSelectorFromElement(t);if(o&&(n=e(o)[0]),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[e(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},c.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},c._getConfig=function(n){if("string"!=typeof(n=e.extend({},i,n)).target){var o=e(n.target).attr("id");o||(o=X.getUID(t),e(n.target).attr("id",o)),n.target="#"+o}return X.typeCheckConfig(t,n,r),n},c._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},c._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},c._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},c._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;)this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}},c._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",");n=n.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var i=e(n.join(","));i.hasClass(s.DROPDOWN_ITEM)?(i.closest(a.DROPDOWN).find(a.DROPDOWN_TOGGLE).addClass(s.ACTIVE),i.addClass(s.ACTIVE)):(i.addClass(s.ACTIVE),i.parents(a.NAV_LIST_GROUP).prev(a.NAV_LINKS+", "+a.LIST_ITEMS).addClass(s.ACTIVE),i.parents(a.NAV_LIST_GROUP).prev(a.NAV_ITEMS).children(a.NAV_LINKS).addClass(s.ACTIVE)),e(this._scrollElement).trigger(o.ACTIVATE,{relatedTarget:t})},c._clear=function(){e(this._selector).filter(a.ACTIVE).removeClass(s.ACTIVE)},n._jQueryInterface=function(t){return this.each(function(){var i=e(this).data("bs.scrollspy"),r="object"==typeof t&&t;if(i||(i=new n(this,r),e(this).data("bs.scrollspy",i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},q(n,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return i}}]),n}();return e(window).on(o.LOAD_DATA_API,function(){for(var t=e.makeArray(e(a.DATA_SPY)),n=t.length;n--;){var i=e(t[n]);c._jQueryInterface.call(i,i.data())}}),e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=n,c._jQueryInterface},c}(),At=function(){var t=e.fn.tab,n={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},i={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},r={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:"> li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},o=function(){function t(t){this._element=t}var o=t.prototype;return o.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(i.ACTIVE)||e(this._element).hasClass(i.DISABLED))){var o,s,a=e(this._element).closest(r.NAV_LIST_GROUP)[0],l=X.getSelectorFromElement(this._element);if(a){var c="UL"===a.nodeName?r.ACTIVE_UL:r.ACTIVE;s=e.makeArray(e(a).find(c)),s=s[s.length-1]}var f=e.Event(n.HIDE,{relatedTarget:this._element}),h=e.Event(n.SHOW,{relatedTarget:s});if(s&&e(s).trigger(f),e(this._element).trigger(h),!h.isDefaultPrevented()&&!f.isDefaultPrevented()){l&&(o=e(l)[0]),this._activate(this._element,a);var u=function(){var i=e.Event(n.HIDDEN,{relatedTarget:t._element}),r=e.Event(n.SHOWN,{relatedTarget:s});e(s).trigger(i),e(t._element).trigger(r)};o?this._activate(o,o.parentNode,u):u()}}},o.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},o._activate=function(t,n,o){var s,a=this,l=(s="UL"===n.nodeName?e(n).find(r.ACTIVE_UL):e(n).children(r.ACTIVE))[0],c=o&&X.supportsTransitionEnd()&&l&&e(l).hasClass(i.FADE),f=function(){return a._transitionComplete(t,l,c,o)};l&&c?e(l).one(X.TRANSITION_END,f).emulateTransitionEnd(150):f(),l&&e(l).removeClass(i.SHOW)},o._transitionComplete=function(t,n,o,s){if(n){e(n).removeClass(i.ACTIVE);var a=e(n.parentNode).find(r.DROPDOWN_ACTIVE_CHILD)[0];a&&e(a).removeClass(i.ACTIVE),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass(i.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),o?(X.reflow(t),e(t).addClass(i.SHOW)):e(t).removeClass(i.FADE),t.parentNode&&e(t.parentNode).hasClass(i.DROPDOWN_MENU)){var l=e(t).closest(r.DROPDOWN)[0];l&&e(l).find(r.DROPDOWN_TOGGLE).addClass(i.ACTIVE),t.setAttribute("aria-expanded",!0)}s&&s()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),r=i.data("bs.tab");if(r||(r=new t(this),i.data("bs.tab",r)),"string"==typeof n){if("undefined"==typeof r[n])throw new Error('No method named "'+n+'"');r[n]()}})},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(n.CLICK_DATA_API,r.DATA_TOGGLE,function(t){t.preventDefault(),o._jQueryInterface.call(e(this),"show")}),e.fn.tab=o._jQueryInterface,e.fn.tab.Constructor=o,e.fn.tab.noConflict=function(){return e.fn.tab=t,o._jQueryInterface},o}();return function(){if("undefined"==typeof e)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=X,t.Alert=Z,t.Button=J,t.Carousel=$,t.Collapse=tt,t.Dropdown=vt,t.Modal=Et,t.Popover=bt,t.Scrollspy=Ct,t.Tab=At,t.Tooltip=Tt,t}({},$);
+//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.bundle.min.js.map b/workspace/public/js/bootstrap.bundle.min.js.map
new file mode 100644
index 0000000..0b513b6
--- /dev/null
+++ b/workspace/public/js/bootstrap.bundle.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","window","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","indexOf","document","body","_getStyleComputedProp","overflow","overflowX","test","overflowY","getOffsetParent","offsetParent","documentElement","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","upperSide","arguments","length","undefined","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","split","getSize","computedStyle","Math","max","isIE10$1","getWindowSizes","height","width","getClientRect","offsets","_extends","getBoundingClientRect","err","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","innerHeight","isFixed","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","area","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","parseFloat","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","slice","forEach","function","console","warn","fn","enabled","update","this","isDestroyed","instance","arrowStyles","attributes","flipped","options","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","i","prefix","toCheck","style","destroy","removeAttribute","disableEventListeners","removeOnDestroy","removeChild","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","setAttribute","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","getOppositeVariation","clockwise","counter","index","validPlacements","concat","reverse","toValue","str","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","Util","toType","toLowerCase","getSpecialTransitionEndEvent","transition","$","is","handleObj","handler","apply","transitionEndTest","QUnit","el","createElement","TransitionEndEvent","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","random","getElementById","selector","getAttribute","error","trigger","Boolean","componentName","config","configTypes","hasOwnProperty","expectedTypes","valueType","isElement","RegExp","Error","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","focus","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","elem","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","HIDE","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","nativeHints","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","hint","isNative","MutationObserver","scheduled","observe","appVersion","classCallCheck","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","assign","source","placements","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","popperConfig","toggles","context","dropdownMenu","hideEvent","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","ELEMENT_NODE","appendChild","display","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","_this9","STICKY_CONTENT","actualMargin","calculatedMargin","NAVBAR_TOGGLER","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","CLASS_PREFIX","template","$tip","setElementContent","TOOLTIP_INNER","content","empty","append","text","title","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version"],"mappings":"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","sourcesContent":["/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar nativeHints = ['native code', '[object MutationObserverConstructor]'];\n\n/**\n * Determine if a function is implemented natively (as opposed to a polyfill).\n * @method\n * @memberof Popper.Utils\n * @argument {Function | undefined} fn the function to check\n * @returns {Boolean}\n */\nvar isNative = (function (fn) {\n  return nativeHints.some(function (hint) {\n    return (fn || '').toString().indexOf(hint) > -1;\n  });\n});\n\nvar isBrowser = typeof window !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n  if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n    timeoutDuration = 1;\n    break;\n  }\n}\n\nfunction microtaskDebounce(fn) {\n  var scheduled = false;\n  var i = 0;\n  var elem = document.createElement('span');\n\n  // MutationObserver provides a mechanism for scheduling microtasks, which\n  // are scheduled *before* the next task. This gives us a way to debounce\n  // a function but ensure it's called *before* the next paint.\n  var observer = new MutationObserver(function () {\n    fn();\n    scheduled = false;\n  });\n\n  observer.observe(elem, { attributes: true });\n\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      elem.setAttribute('x-index', i);\n      i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8\n    }\n  };\n}\n\nfunction taskDebounce(fn) {\n  var scheduled = false;\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      setTimeout(function () {\n        scheduled = false;\n        fn();\n      }, timeoutDuration);\n    }\n  };\n}\n\n// It's common for MutationObserver polyfills to be seen in the wild, however\n// these rely on Mutation Events which only occur when an element is connected\n// to the DOM. The algorithm used in this module does not use a connected element,\n// and so we must ensure that a *native* MutationObserver is available.\nvar supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n  if (element.nodeType !== 1) {\n    return [];\n  }\n  // NOTE: 1 DOM access here\n  var css = window.getComputedStyle(element, null);\n  return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n  if (element.nodeName === 'HTML') {\n    return element;\n  }\n  return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {\n    return window.document.body;\n  }\n\n  // Firefox want us to check `-x` and `-y` variations as well\n\n  var _getStyleComputedProp = getStyleComputedProperty(element),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n    return element;\n  }\n\n  return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n  // NOTE: 1 DOM access here\n  var offsetParent = element && element.offsetParent;\n  var nodeName = offsetParent && offsetParent.nodeName;\n\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n    return window.document.documentElement;\n  }\n\n  // .offsetParent will return the closest TD or TABLE in case\n  // no offsetParent is present, I hate this job...\n  if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n    return getOffsetParent(offsetParent);\n  }\n\n  return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY') {\n    return false;\n  }\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n  if (node.parentNode !== null) {\n    return getRoot(node.parentNode);\n  }\n\n  return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n    return window.document.documentElement;\n  }\n\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n  var start = order ? element1 : element2;\n  var end = order ? element2 : element1;\n\n  // Get common ancestor container\n  var range = document.createRange();\n  range.setStart(start, 0);\n  range.setEnd(end, 0);\n  var commonAncestorContainer = range.commonAncestorContainer;\n\n  // Both nodes are inside #document\n\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n    if (isOffsetContainer(commonAncestorContainer)) {\n      return commonAncestorContainer;\n    }\n\n    return getOffsetParent(commonAncestorContainer);\n  }\n\n  // one of the nodes is inside shadowDOM, find which one\n  var element1root = getRoot(element1);\n  if (element1root.host) {\n    return findCommonOffsetParent(element1root.host, element2);\n  } else {\n    return findCommonOffsetParent(element1, getRoot(element2).host);\n  }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    var html = window.document.documentElement;\n    var scrollingElement = window.document.scrollingElement || html;\n    return scrollingElement[upperSide];\n  }\n\n  return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var scrollTop = getScroll(element, 'top');\n  var scrollLeft = getScroll(element, 'left');\n  var modifier = subtract ? -1 : 1;\n  rect.top += scrollTop * modifier;\n  rect.bottom += scrollTop * modifier;\n  rect.left += scrollLeft * modifier;\n  rect.right += scrollLeft * modifier;\n  return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n  var sideA = axis === 'x' ? 'Left' : 'Top';\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n  return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n  if (isIE10 === undefined) {\n    isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n  }\n  return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n  var body = window.document.body;\n  var html = window.document.documentElement;\n  var computedStyle = isIE10$1() && window.getComputedStyle(html);\n\n  return {\n    height: getSize('Height', body, html, computedStyle),\n    width: getSize('Width', body, html, computedStyle)\n  };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n  return _extends({}, offsets, {\n    right: offsets.left + offsets.width,\n    bottom: offsets.top + offsets.height\n  });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n  var rect = {};\n\n  // IE10 10 FIX: Please, don't ask, the element isn't\n  // considered in DOM in some circumstances...\n  // This isn't reproducible in IE10 compatibility mode of IE11\n  if (isIE10$1()) {\n    try {\n      rect = element.getBoundingClientRect();\n      var scrollTop = getScroll(element, 'top');\n      var scrollLeft = getScroll(element, 'left');\n      rect.top += scrollTop;\n      rect.left += scrollLeft;\n      rect.bottom += scrollTop;\n      rect.right += scrollLeft;\n    } catch (err) {}\n  } else {\n    rect = element.getBoundingClientRect();\n  }\n\n  var result = {\n    left: rect.left,\n    top: rect.top,\n    width: rect.right - rect.left,\n    height: rect.bottom - rect.top\n  };\n\n  // subtract scrollbar size from sizes\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n  var width = sizes.width || element.clientWidth || result.right - result.left;\n  var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n  var horizScrollbar = element.offsetWidth - width;\n  var vertScrollbar = element.offsetHeight - height;\n\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n  // we make this check conditional for performance reasons\n  if (horizScrollbar || vertScrollbar) {\n    var styles = getStyleComputedProperty(element);\n    horizScrollbar -= getBordersSize(styles, 'x');\n    vertScrollbar -= getBordersSize(styles, 'y');\n\n    result.width -= horizScrollbar;\n    result.height -= vertScrollbar;\n  }\n\n  return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n  var isIE10 = isIE10$1();\n  var isHTML = parent.nodeName === 'HTML';\n  var childrenRect = getBoundingClientRect(children);\n  var parentRect = getBoundingClientRect(parent);\n  var scrollParent = getScrollParent(children);\n\n  var styles = getStyleComputedProperty(parent);\n  var borderTopWidth = +styles.borderTopWidth.split('px')[0];\n  var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];\n\n  var offsets = getClientRect({\n    top: childrenRect.top - parentRect.top - borderTopWidth,\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\n    width: childrenRect.width,\n    height: childrenRect.height\n  });\n  offsets.marginTop = 0;\n  offsets.marginLeft = 0;\n\n  // Subtract margins of documentElement in case it's being used as parent\n  // we do this only on HTML because it's the only element that behaves\n  // differently when margins are applied to it. The margins are included in\n  // the box of the documentElement, in the other cases not.\n  if (!isIE10 && isHTML) {\n    var marginTop = +styles.marginTop.split('px')[0];\n    var marginLeft = +styles.marginLeft.split('px')[0];\n\n    offsets.top -= borderTopWidth - marginTop;\n    offsets.bottom -= borderTopWidth - marginTop;\n    offsets.left -= borderLeftWidth - marginLeft;\n    offsets.right -= borderLeftWidth - marginLeft;\n\n    // Attach marginTop and marginLeft because in some circumstances we may need them\n    offsets.marginTop = marginTop;\n    offsets.marginLeft = marginLeft;\n  }\n\n  if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n    offsets = includeScroll(offsets, parent);\n  }\n\n  return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n  var html = window.document.documentElement;\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n  var scrollTop = getScroll(html);\n  var scrollLeft = getScroll(html, 'left');\n\n  var offset = {\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n    width: width,\n    height: height\n  };\n\n  return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n  var nodeName = element.nodeName;\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    return false;\n  }\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\n    return true;\n  }\n  return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n  // NOTE: 1 DOM access here\n  var boundaries = { top: 0, left: 0 };\n  var offsetParent = findCommonOffsetParent(popper, reference);\n\n  // Handle viewport case\n  if (boundariesElement === 'viewport') {\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n  } else {\n    // Handle other cases based on DOM element used as boundaries\n    var boundariesNode = void 0;\n    if (boundariesElement === 'scrollParent') {\n      boundariesNode = getScrollParent(getParentNode(popper));\n      if (boundariesNode.nodeName === 'BODY') {\n        boundariesNode = window.document.documentElement;\n      }\n    } else if (boundariesElement === 'window') {\n      boundariesNode = window.document.documentElement;\n    } else {\n      boundariesNode = boundariesElement;\n    }\n\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n    // In case of HTML, we need a different computation\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n      var _getWindowSizes = getWindowSizes(),\n          height = _getWindowSizes.height,\n          width = _getWindowSizes.width;\n\n      boundaries.top += offsets.top - offsets.marginTop;\n      boundaries.bottom = height + offsets.top;\n      boundaries.left += offsets.left - offsets.marginLeft;\n      boundaries.right = width + offsets.left;\n    } else {\n      // for all the other DOM elements, this one is good\n      boundaries = offsets;\n    }\n  }\n\n  // Add paddings\n  boundaries.left += padding;\n  boundaries.top += padding;\n  boundaries.right -= padding;\n  boundaries.bottom -= padding;\n\n  return boundaries;\n}\n\nfunction getArea(_ref) {\n  var width = _ref.width,\n      height = _ref.height;\n\n  return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n  if (placement.indexOf('auto') === -1) {\n    return placement;\n  }\n\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n  var rects = {\n    top: {\n      width: boundaries.width,\n      height: refRect.top - boundaries.top\n    },\n    right: {\n      width: boundaries.right - refRect.right,\n      height: boundaries.height\n    },\n    bottom: {\n      width: boundaries.width,\n      height: boundaries.bottom - refRect.bottom\n    },\n    left: {\n      width: refRect.left - boundaries.left,\n      height: boundaries.height\n    }\n  };\n\n  var sortedAreas = Object.keys(rects).map(function (key) {\n    return _extends({\n      key: key\n    }, rects[key], {\n      area: getArea(rects[key])\n    });\n  }).sort(function (a, b) {\n    return b.area - a.area;\n  });\n\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\n    var width = _ref2.width,\n        height = _ref2.height;\n    return width >= popper.clientWidth && height >= popper.clientHeight;\n  });\n\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n  var variation = placement.split('-')[1];\n\n  return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n  var commonOffsetParent = findCommonOffsetParent(popper, reference);\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n  var styles = window.getComputedStyle(element);\n  var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n  var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n  var result = {\n    width: element.offsetWidth + y,\n    height: element.offsetHeight + x\n  };\n  return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n  placement = placement.split('-')[0];\n\n  // Get popper node sizes\n  var popperRect = getOuterSizes(popper);\n\n  // Add position, width and height to our offsets object\n  var popperOffsets = {\n    width: popperRect.width,\n    height: popperRect.height\n  };\n\n  // depending by the popper placement we have to compute its offsets slightly differently\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n  var mainSide = isHoriz ? 'top' : 'left';\n  var secondarySide = isHoriz ? 'left' : 'top';\n  var measurement = isHoriz ? 'height' : 'width';\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n  if (placement === secondarySide) {\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n  } else {\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n  }\n\n  return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n  // use native find if supported\n  if (Array.prototype.find) {\n    return arr.find(check);\n  }\n\n  // use `filter` to obtain the same behavior of `find`\n  return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n  // use native findIndex if supported\n  if (Array.prototype.findIndex) {\n    return arr.findIndex(function (cur) {\n      return cur[prop] === value;\n    });\n  }\n\n  // use `find` + `indexOf` if `findIndex` isn't supported\n  var match = find(arr, function (obj) {\n    return obj[prop] === value;\n  });\n  return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n  modifiersToRun.forEach(function (modifier) {\n    if (modifier.function) {\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n    }\n    var fn = modifier.function || modifier.fn;\n    if (modifier.enabled && isFunction(fn)) {\n      // Add properties to offsets to make them a complete clientRect object\n      // we do this before each modifier to make sure the previous one doesn't\n      // mess with these values\n      data.offsets.popper = getClientRect(data.offsets.popper);\n      data.offsets.reference = getClientRect(data.offsets.reference);\n\n      data = fn(data, modifier);\n    }\n  });\n\n  return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n  // if popper is destroyed, don't perform any further update\n  if (this.state.isDestroyed) {\n    return;\n  }\n\n  var data = {\n    instance: this,\n    styles: {},\n    arrowStyles: {},\n    attributes: {},\n    flipped: false,\n    offsets: {}\n  };\n\n  // compute reference element offsets\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n  // store the computed placement inside `originalPlacement`\n  data.originalPlacement = data.placement;\n\n  // compute the popper offsets\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n  data.offsets.popper.position = 'absolute';\n\n  // run the modifiers\n  data = runModifiers(this.modifiers, data);\n\n  // the first `update` will call `onCreate` callback\n  // the other ones will call `onUpdate` callback\n  if (!this.state.isCreated) {\n    this.state.isCreated = true;\n    this.options.onCreate(data);\n  } else {\n    this.options.onUpdate(data);\n  }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n  return modifiers.some(function (_ref) {\n    var name = _ref.name,\n        enabled = _ref.enabled;\n    return enabled && name === modifierName;\n  });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length - 1; i++) {\n    var prefix = prefixes[i];\n    var toCheck = prefix ? '' + prefix + upperProp : property;\n    if (typeof window.document.body.style[toCheck] !== 'undefined') {\n      return toCheck;\n    }\n  }\n  return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n  this.state.isDestroyed = true;\n\n  // touch DOM only if `applyStyle` modifier is enabled\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n    this.popper.removeAttribute('x-placement');\n    this.popper.style.left = '';\n    this.popper.style.position = '';\n    this.popper.style.top = '';\n    this.popper.style[getSupportedPropertyName('transform')] = '';\n  }\n\n  this.disableEventListeners();\n\n  // remove the popper if user explicity asked for the deletion on destroy\n  // do not use `remove` because IE11 doesn't support it\n  if (this.options.removeOnDestroy) {\n    this.popper.parentNode.removeChild(this.popper);\n  }\n  return this;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n  var isBody = scrollParent.nodeName === 'BODY';\n  var target = isBody ? window : scrollParent;\n  target.addEventListener(event, callback, { passive: true });\n\n  if (!isBody) {\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n  }\n  scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n  // Resize event listener on window\n  state.updateBound = updateBound;\n  window.addEventListener('resize', state.updateBound, { passive: true });\n\n  // Scroll event listener on scroll parents\n  var scrollElement = getScrollParent(reference);\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n  state.scrollElement = scrollElement;\n  state.eventsEnabled = true;\n\n  return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n  if (!this.state.eventsEnabled) {\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n  }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n  // Remove resize event listener on window\n  window.removeEventListener('resize', state.updateBound);\n\n  // Remove scroll event listener on scroll parents\n  state.scrollParents.forEach(function (target) {\n    target.removeEventListener('scroll', state.updateBound);\n  });\n\n  // Reset state\n  state.updateBound = null;\n  state.scrollParents = [];\n  state.scrollElement = null;\n  state.eventsEnabled = false;\n  return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n  if (this.state.eventsEnabled) {\n    window.cancelAnimationFrame(this.scheduleUpdate);\n    this.state = removeEventListeners(this.reference, this.state);\n  }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n  Object.keys(styles).forEach(function (prop) {\n    var unit = '';\n    // add unit if the value is numeric and is one of the following\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n      unit = 'px';\n    }\n    element.style[prop] = styles[prop] + unit;\n  });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n  Object.keys(attributes).forEach(function (prop) {\n    var value = attributes[prop];\n    if (value !== false) {\n      element.setAttribute(prop, attributes[prop]);\n    } else {\n      element.removeAttribute(prop);\n    }\n  });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n  // any property present in `data.styles` will be applied to the popper,\n  // in this way we can make the 3rd party modifiers add custom styles to it\n  // Be aware, modifiers could override the properties defined in the previous\n  // lines of this modifier!\n  setStyles(data.instance.popper, data.styles);\n\n  // any property present in `data.attributes` will be applied to the popper,\n  // they will be set as HTML attributes of the element\n  setAttributes(data.instance.popper, data.attributes);\n\n  // if arrowElement is defined and arrowStyles has some properties\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n    setStyles(data.arrowElement, data.arrowStyles);\n  }\n\n  return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n  // compute reference element offsets\n  var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n  popper.setAttribute('x-placement', placement);\n\n  // Apply `position` to popper before anything else because\n  // without the position applied we can't guarantee correct computations\n  setStyles(popper, { position: 'absolute' });\n\n  return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n  var x = options.x,\n      y = options.y;\n  var popper = data.offsets.popper;\n\n  // Remove this legacy support in Popper.js v2\n\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'applyStyle';\n  }).gpuAcceleration;\n  if (legacyGpuAccelerationOption !== undefined) {\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n  }\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n  var offsetParent = getOffsetParent(data.instance.popper);\n  var offsetParentRect = getBoundingClientRect(offsetParent);\n\n  // Styles\n  var styles = {\n    position: popper.position\n  };\n\n  // floor sides to avoid blurry text\n  var offsets = {\n    left: Math.floor(popper.left),\n    top: Math.floor(popper.top),\n    bottom: Math.floor(popper.bottom),\n    right: Math.floor(popper.right)\n  };\n\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\n  var sideB = y === 'right' ? 'left' : 'right';\n\n  // if gpuAcceleration is set to `true` and transform is supported,\n  //  we use `translate3d` to apply the position to the popper we\n  // automatically use the supported prefixed version if needed\n  var prefixedProperty = getSupportedPropertyName('transform');\n\n  // now, let's make a step back and look at this code closely (wtf?)\n  // If the content of the popper grows once it's been positioned, it\n  // may happen that the popper gets misplaced because of the new content\n  // overflowing its reference element\n  // To avoid this problem, we provide two options (x and y), which allow\n  // the consumer to define the offset origin.\n  // If we position a popper on top of a reference element, we can set\n  // `x` to `top` to make the popper grow towards its top instead of\n  // its bottom.\n  var left = void 0,\n      top = void 0;\n  if (sideA === 'bottom') {\n    top = -offsetParentRect.height + offsets.bottom;\n  } else {\n    top = offsets.top;\n  }\n  if (sideB === 'right') {\n    left = -offsetParentRect.width + offsets.right;\n  } else {\n    left = offsets.left;\n  }\n  if (gpuAcceleration && prefixedProperty) {\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n    styles[sideA] = 0;\n    styles[sideB] = 0;\n    styles.willChange = 'transform';\n  } else {\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n    var invertTop = sideA === 'bottom' ? -1 : 1;\n    var invertLeft = sideB === 'right' ? -1 : 1;\n    styles[sideA] = top * invertTop;\n    styles[sideB] = left * invertLeft;\n    styles.willChange = sideA + ', ' + sideB;\n  }\n\n  // Attributes\n  var attributes = {\n    'x-placement': data.placement\n  };\n\n  // Update `data` attributes, styles and arrowStyles\n  data.attributes = _extends({}, attributes, data.attributes);\n  data.styles = _extends({}, styles, data.styles);\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n  return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n  var requesting = find(modifiers, function (_ref) {\n    var name = _ref.name;\n    return name === requestingName;\n  });\n\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n  });\n\n  if (!isRequired) {\n    var _requesting = '`' + requestingName + '`';\n    var requested = '`' + requestedName + '`';\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n  }\n  return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n  // arrow depends on keepTogether in order to work\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n    return data;\n  }\n\n  var arrowElement = options.element;\n\n  // if arrowElement is a string, suppose it's a CSS selector\n  if (typeof arrowElement === 'string') {\n    arrowElement = data.instance.popper.querySelector(arrowElement);\n\n    // if arrowElement is not found, don't run the modifier\n    if (!arrowElement) {\n      return data;\n    }\n  } else {\n    // if the arrowElement isn't a query selector we must check that the\n    // provided DOM node is child of its popper node\n    if (!data.instance.popper.contains(arrowElement)) {\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\n      return data;\n    }\n  }\n\n  var placement = data.placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n  var len = isVertical ? 'height' : 'width';\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\n  var side = sideCapitalized.toLowerCase();\n  var altSide = isVertical ? 'left' : 'top';\n  var opSide = isVertical ? 'bottom' : 'right';\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n  //\n  // extends keepTogether behavior making sure the popper and its\n  // reference have enough pixels in conjuction\n  //\n\n  // top/left side\n  if (reference[opSide] - arrowElementSize < popper[side]) {\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n  }\n  // bottom/right side\n  if (reference[side] + arrowElementSize > popper[opSide]) {\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n  }\n\n  // compute center of the popper\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n  // Compute the sideValue using the updated popper offsets\n  // take popper margin in account because we don't have this info available\n  var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');\n  var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;\n\n  // prevent arrowElement from being placed not contiguously to its popper\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n  data.arrowElement = arrowElement;\n  data.offsets.arrow = {};\n  data.offsets.arrow[side] = Math.round(sideValue);\n  data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node\n\n  return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n  if (variation === 'end') {\n    return 'start';\n  } else if (variation === 'start') {\n    return 'end';\n  }\n  return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var index = validPlacements.indexOf(placement);\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n  return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n  FLIP: 'flip',\n  CLOCKWISE: 'clockwise',\n  COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n    return data;\n  }\n\n  if (data.flipped && data.placement === data.originalPlacement) {\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n    return data;\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n  var placement = data.placement.split('-')[0];\n  var placementOpposite = getOppositePlacement(placement);\n  var variation = data.placement.split('-')[1] || '';\n\n  var flipOrder = [];\n\n  switch (options.behavior) {\n    case BEHAVIORS.FLIP:\n      flipOrder = [placement, placementOpposite];\n      break;\n    case BEHAVIORS.CLOCKWISE:\n      flipOrder = clockwise(placement);\n      break;\n    case BEHAVIORS.COUNTERCLOCKWISE:\n      flipOrder = clockwise(placement, true);\n      break;\n    default:\n      flipOrder = options.behavior;\n  }\n\n  flipOrder.forEach(function (step, index) {\n    if (placement !== step || flipOrder.length === index + 1) {\n      return data;\n    }\n\n    placement = data.placement.split('-')[0];\n    placementOpposite = getOppositePlacement(placement);\n\n    var popperOffsets = data.offsets.popper;\n    var refOffsets = data.offsets.reference;\n\n    // using floor because the reference offsets may contain decimals we are not going to consider here\n    var floor = Math.floor;\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n    // flip the variation if required\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\n      // this boolean to detect any flip loop\n      data.flipped = true;\n\n      if (overlapsRef || overflowsBoundaries) {\n        placement = flipOrder[index + 1];\n      }\n\n      if (flippedVariation) {\n        variation = getOppositeVariation(variation);\n      }\n\n      data.placement = placement + (variation ? '-' + variation : '');\n\n      // this object contains `position`, we want to preserve it along with\n      // any additional property we may add in the future\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n      data = runModifiers(data.instance.modifiers, data, 'flip');\n    }\n  });\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var placement = data.placement.split('-')[0];\n  var floor = Math.floor;\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n  var side = isVertical ? 'right' : 'bottom';\n  var opSide = isVertical ? 'left' : 'top';\n  var measurement = isVertical ? 'width' : 'height';\n\n  if (popper[side] < floor(reference[opSide])) {\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n  }\n  if (popper[opSide] > floor(reference[side])) {\n    data.offsets.popper[opSide] = floor(reference[side]);\n  }\n\n  return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n  // separate value from unit\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n  var value = +split[1];\n  var unit = split[2];\n\n  // If it's not a number it's an operator, I guess\n  if (!value) {\n    return str;\n  }\n\n  if (unit.indexOf('%') === 0) {\n    var element = void 0;\n    switch (unit) {\n      case '%p':\n        element = popperOffsets;\n        break;\n      case '%':\n      case '%r':\n      default:\n        element = referenceOffsets;\n    }\n\n    var rect = getClientRect(element);\n    return rect[measurement] / 100 * value;\n  } else if (unit === 'vh' || unit === 'vw') {\n    // if is a vh or vw, we calculate the size based on the viewport\n    var size = void 0;\n    if (unit === 'vh') {\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n    } else {\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    }\n    return size / 100 * value;\n  } else {\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\n    // if is an implicit unit, it's px, and we return just the value\n    return value;\n  }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n  var offsets = [0, 0];\n\n  // Use height if placement is left or right and index is 0 otherwise use width\n  // in this way the first offset will use an axis and the second one\n  // will use the other one\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n  // Split the offset string to obtain a list of values and operands\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n    return frag.trim();\n  });\n\n  // Detect if the offset string contains a pair of values or a single one\n  // they could be separated by comma or space\n  var divider = fragments.indexOf(find(fragments, function (frag) {\n    return frag.search(/,|\\s/) !== -1;\n  }));\n\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n  }\n\n  // If divider is found, we divide the list of values and operands to divide\n  // them by ofset X and Y.\n  var splitRegex = /\\s*,\\s*|\\s+/;\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n  // Convert the values with units to absolute pixels to allow our computations\n  ops = ops.map(function (op, index) {\n    // Most of the units rely on the orientation of the popper\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n    var mergeWithPrevious = false;\n    return op\n    // This aggregates any `+` or `-` sign that aren't considered operators\n    // e.g.: 10 + +5 => [10, +, +5]\n    .reduce(function (a, b) {\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n        a[a.length - 1] = b;\n        mergeWithPrevious = true;\n        return a;\n      } else if (mergeWithPrevious) {\n        a[a.length - 1] += b;\n        mergeWithPrevious = false;\n        return a;\n      } else {\n        return a.concat(b);\n      }\n    }, [])\n    // Here we convert the string values into number values (in px)\n    .map(function (str) {\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\n    });\n  });\n\n  // Loop trough the offsets arrays and execute the operations\n  ops.forEach(function (op, index) {\n    op.forEach(function (frag, index2) {\n      if (isNumeric(frag)) {\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n      }\n    });\n  });\n  return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n  var offset = _ref.offset;\n  var placement = data.placement,\n      _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var basePlacement = placement.split('-')[0];\n\n  var offsets = void 0;\n  if (isNumeric(+offset)) {\n    offsets = [+offset, 0];\n  } else {\n    offsets = parseOffset(offset, popper, reference, basePlacement);\n  }\n\n  if (basePlacement === 'left') {\n    popper.top += offsets[0];\n    popper.left -= offsets[1];\n  } else if (basePlacement === 'right') {\n    popper.top += offsets[0];\n    popper.left += offsets[1];\n  } else if (basePlacement === 'top') {\n    popper.left += offsets[0];\n    popper.top -= offsets[1];\n  } else if (basePlacement === 'bottom') {\n    popper.left += offsets[0];\n    popper.top += offsets[1];\n  }\n\n  data.popper = popper;\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n  // If offsetParent is the reference element, we really want to\n  // go one step up and use the next offsetParent as reference to\n  // avoid to make this modifier completely useless and look like broken\n  if (data.instance.reference === boundariesElement) {\n    boundariesElement = getOffsetParent(boundariesElement);\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n  options.boundaries = boundaries;\n\n  var order = options.priority;\n  var popper = data.offsets.popper;\n\n  var check = {\n    primary: function primary(placement) {\n      var value = popper[placement];\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n        value = Math.max(popper[placement], boundaries[placement]);\n      }\n      return defineProperty({}, placement, value);\n    },\n    secondary: function secondary(placement) {\n      var mainSide = placement === 'right' ? 'left' : 'top';\n      var value = popper[mainSide];\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n      }\n      return defineProperty({}, mainSide, value);\n    }\n  };\n\n  order.forEach(function (placement) {\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n    popper = _extends({}, popper, check[side](placement));\n  });\n\n  data.offsets.popper = popper;\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var shiftvariation = placement.split('-')[1];\n\n  // if shift shiftvariation is specified, run the modifier\n  if (shiftvariation) {\n    var _data$offsets = data.offsets,\n        reference = _data$offsets.reference,\n        popper = _data$offsets.popper;\n\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n    var side = isVertical ? 'left' : 'top';\n    var measurement = isVertical ? 'width' : 'height';\n\n    var shiftOffsets = {\n      start: defineProperty({}, side, reference[side]),\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n    };\n\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n    return data;\n  }\n\n  var refRect = data.offsets.reference;\n  var bound = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'preventOverflow';\n  }).boundaries;\n\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === true) {\n      return data;\n    }\n\n    data.hide = true;\n    data.attributes['x-out-of-boundaries'] = '';\n  } else {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === false) {\n      return data;\n    }\n\n    data.hide = false;\n    data.attributes['x-out-of-boundaries'] = false;\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n  data.placement = getOppositePlacement(placement);\n  data.offsets.popper = getClientRect(popper);\n\n  return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n  /**\n   * Modifier used to shift the popper on the start or end of its reference\n   * element.<br />\n   * It will read the variation of the `placement` property.<br />\n   * It can be one either `-end` or `-start`.\n   * @memberof modifiers\n   * @inner\n   */\n  shift: {\n    /** @prop {number} order=100 - Index used to define the order of execution */\n    order: 100,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: shift\n  },\n\n  /**\n   * The `offset` modifier can shift your popper on both its axis.\n   *\n   * It accepts the following units:\n   * - `px` or unitless, interpreted as pixels\n   * - `%` or `%r`, percentage relative to the length of the reference element\n   * - `%p`, percentage relative to the length of the popper element\n   * - `vw`, CSS viewport width unit\n   * - `vh`, CSS viewport height unit\n   *\n   * For length is intended the main axis relative to the placement of the popper.<br />\n   * This means that if the placement is `top` or `bottom`, the length will be the\n   * `width`. In case of `left` or `right`, it will be the height.\n   *\n   * You can provide a single value (as `Number` or `String`), or a pair of values\n   * as `String` divided by a comma or one (or more) white spaces.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\n   * Additionally, it accepts additions and subtractions between different units.\n   * Note that multiplications and divisions aren't supported.\n   *\n   * Valid examples are:\n   * ```\n   * 10\n   * '10%'\n   * '10, 10'\n   * '10%, 10'\n   * '10 + 10%'\n   * '10 - 5vh + 3%'\n   * '-10px + 5vh, 5px - 6%'\n   * ```\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  offset: {\n    /** @prop {number} order=200 - Index used to define the order of execution */\n    order: 200,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: offset,\n    /** @prop {Number|String} offset=0\n     * The offset value as described in the modifier description\n     */\n    offset: 0\n  },\n\n  /**\n   * Modifier used to prevent the popper from being positioned outside the boundary.\n   *\n   * An scenario exists where the reference itself is not within the boundaries.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n   * In this case we need to decide whether the popper should either:\n   *\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\n   * - if it should ignore the boundary and \"escape with its reference\"\n   *\n   * When `escapeWithReference` is set to`true` and reference is completely\n   * outside its boundaries, the popper will overflow (or completely leave)\n   * the boundaries in order to remain attached to the edge of the reference.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  preventOverflow: {\n    /** @prop {number} order=300 - Index used to define the order of execution */\n    order: 300,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: preventOverflow,\n    /**\n     * @prop {Array} [priority=['left','right','top','bottom']]\n     * Popper will try to prevent overflow following these priorities by default,\n     * then, it could overflow on the left and on top of the `boundariesElement`\n     */\n    priority: ['left', 'right', 'top', 'bottom'],\n    /**\n     * @prop {number} padding=5\n     * Amount of pixel used to define a minimum distance between the boundaries\n     * and the popper this makes sure the popper has always a little padding\n     * between the edges of its container\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\n     * Boundaries used by the modifier, can be `scrollParent`, `window`,\n     * `viewport` or any DOM element.\n     */\n    boundariesElement: 'scrollParent'\n  },\n\n  /**\n   * Modifier used to make sure the reference and its popper stay near eachothers\n   * without leaving any gap between the two. Expecially useful when the arrow is\n   * enabled and you want to assure it to point to its reference element.\n   * It cares only about the first axis, you can still have poppers with margin\n   * between the popper and its reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  keepTogether: {\n    /** @prop {number} order=400 - Index used to define the order of execution */\n    order: 400,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: keepTogether\n  },\n\n  /**\n   * This modifier is used to move the `arrowElement` of the popper to make\n   * sure it is positioned between the reference element and its popper element.\n   * It will read the outer size of the `arrowElement` node to detect how many\n   * pixels of conjuction are needed.\n   *\n   * It has no effect if no `arrowElement` is provided.\n   * @memberof modifiers\n   * @inner\n   */\n  arrow: {\n    /** @prop {number} order=500 - Index used to define the order of execution */\n    order: 500,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: arrow,\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n    element: '[x-arrow]'\n  },\n\n  /**\n   * Modifier used to flip the popper's placement when it starts to overlap its\n   * reference element.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   *\n   * **NOTE:** this modifier will interrupt the current update cycle and will\n   * restart it if it detects the need to flip the placement.\n   * @memberof modifiers\n   * @inner\n   */\n  flip: {\n    /** @prop {number} order=600 - Index used to define the order of execution */\n    order: 600,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: flip,\n    /**\n     * @prop {String|Array} behavior='flip'\n     * The behavior used to change the popper's placement. It can be one of\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n     * placements (with optional variations).\n     */\n    behavior: 'flip',\n    /**\n     * @prop {number} padding=5\n     * The popper will flip if it hits the edges of the `boundariesElement`\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='viewport'\n     * The element which will define the boundaries of the popper position,\n     * the popper will never be placed outside of the defined boundaries\n     * (except if keepTogether is enabled)\n     */\n    boundariesElement: 'viewport'\n  },\n\n  /**\n   * Modifier used to make the popper flow toward the inner of the reference element.\n   * By default, when this modifier is disabled, the popper will be placed outside\n   * the reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  inner: {\n    /** @prop {number} order=700 - Index used to define the order of execution */\n    order: 700,\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n    enabled: false,\n    /** @prop {ModifierFn} */\n    fn: inner\n  },\n\n  /**\n   * Modifier used to hide the popper when its reference element is outside of the\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n   * be used to hide with a CSS selector the popper when its reference is\n   * out of boundaries.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * @memberof modifiers\n   * @inner\n   */\n  hide: {\n    /** @prop {number} order=800 - Index used to define the order of execution */\n    order: 800,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: hide\n  },\n\n  /**\n   * Computes the style that will be applied to the popper element to gets\n   * properly positioned.\n   *\n   * Note that this modifier will not touch the DOM, it just prepares the styles\n   * so that `applyStyle` modifier can apply it. This separation is useful\n   * in case you need to replace `applyStyle` with a custom implementation.\n   *\n   * This modifier has `850` as `order` value to maintain backward compatibility\n   * with previous versions of Popper.js. Expect the modifiers ordering method\n   * to change in future major versions of the library.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  computeStyle: {\n    /** @prop {number} order=850 - Index used to define the order of execution */\n    order: 850,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: computeStyle,\n    /**\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: true,\n    /**\n     * @prop {string} [x='bottom']\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n     * Change this if your popper should grow in a direction different from `bottom`\n     */\n    x: 'bottom',\n    /**\n     * @prop {string} [x='left']\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n     * Change this if your popper should grow in a direction different from `right`\n     */\n    y: 'right'\n  },\n\n  /**\n   * Applies the computed styles to the popper element.\n   *\n   * All the DOM manipulations are limited to this modifier. This is useful in case\n   * you want to integrate Popper.js inside a framework or view library and you\n   * want to delegate all the DOM manipulations to it.\n   *\n   * Note that if you disable this modifier, you must make sure the popper element\n   * has its position set to `absolute` before Popper.js can do its work!\n   *\n   * Just disable this modifier and define you own to achieve the desired effect.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  applyStyle: {\n    /** @prop {number} order=900 - Index used to define the order of execution */\n    order: 900,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: applyStyle,\n    /** @prop {Function} */\n    onLoad: applyStyleOnLoad,\n    /**\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: undefined\n  }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n *   modifiers: {\n *     preventOverflow: { enabled: false }\n *   }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n  /**\n   * Popper's placement\n   * @prop {Popper.placements} placement='bottom'\n   */\n  placement: 'bottom',\n\n  /**\n   * Whether events (resize, scroll) are initially enabled\n   * @prop {Boolean} eventsEnabled=true\n   */\n  eventsEnabled: true,\n\n  /**\n   * Set to true if you want to automatically remove the popper when\n   * you call the `destroy` method.\n   * @prop {Boolean} removeOnDestroy=false\n   */\n  removeOnDestroy: false,\n\n  /**\n   * Callback called when the popper is created.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onCreate}\n   */\n  onCreate: function onCreate() {},\n\n  /**\n   * Callback called when the popper is updated, this callback is not called\n   * on the initialization/creation of the popper, but only on subsequent\n   * updates.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onUpdate}\n   */\n  onUpdate: function onUpdate() {},\n\n  /**\n   * List of modifiers used to modify the offsets before they are applied to the popper.\n   * They provide most of the functionalities of Popper.js\n   * @prop {modifiers}\n   */\n  modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n  /**\n   * Create a new Popper.js instance\n   * @class Popper\n   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML element used as popper.\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n   * @return {Object} instance - The generated Popper.js instance\n   */\n  function Popper(reference, popper) {\n    var _this = this;\n\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    classCallCheck(this, Popper);\n\n    this.scheduleUpdate = function () {\n      return requestAnimationFrame(_this.update);\n    };\n\n    // make update() debounced, so that it only runs at most once-per-tick\n    this.update = debounce(this.update.bind(this));\n\n    // with {} we create a new object with the options inside it\n    this.options = _extends({}, Popper.Defaults, options);\n\n    // init state\n    this.state = {\n      isDestroyed: false,\n      isCreated: false,\n      scrollParents: []\n    };\n\n    // get reference and popper elements (allow jQuery wrappers)\n    this.reference = reference.jquery ? reference[0] : reference;\n    this.popper = popper.jquery ? popper[0] : popper;\n\n    // Deep merge modifiers options\n    this.options.modifiers = {};\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n    });\n\n    // Refactoring modifiers' list (Object => Array)\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n      return _extends({\n        name: name\n      }, _this.options.modifiers[name]);\n    })\n    // sort the modifiers by order\n    .sort(function (a, b) {\n      return a.order - b.order;\n    });\n\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\n    // such code is executed in the same order of its modifier\n    // they could add new properties to their options configuration\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n    this.modifiers.forEach(function (modifierOptions) {\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n      }\n    });\n\n    // fire the first update to position the popper in the right place\n    this.update();\n\n    var eventsEnabled = this.options.eventsEnabled;\n    if (eventsEnabled) {\n      // setup event listeners, they will take care of update the position in specific situations\n      this.enableEventListeners();\n    }\n\n    this.state.eventsEnabled = eventsEnabled;\n  }\n\n  // We can't use class properties because they don't get listed in the\n  // class prototype and break stuff like Sinon stubs\n\n\n  createClass(Popper, [{\n    key: 'update',\n    value: function update$$1() {\n      return update.call(this);\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy$$1() {\n      return destroy.call(this);\n    }\n  }, {\n    key: 'enableEventListeners',\n    value: function enableEventListeners$$1() {\n      return enableEventListeners.call(this);\n    }\n  }, {\n    key: 'disableEventListeners',\n    value: function disableEventListeners$$1() {\n      return disableEventListeners.call(this);\n    }\n\n    /**\n     * Schedule an update, it will run on the next UI update available\n     * @method scheduleUpdate\n     * @memberof Popper\n     */\n\n\n    /**\n     * Collection of utilities useful when writing custom modifiers.\n     * Starting from version 1.7, this method is available only if you\n     * include `popper-utils.js` before `popper.js`.\n     *\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\n     * and will be removed in v2! Use the PopperUtils module directly instead.\n     * Due to the high instability of the methods contained in Utils, we can't\n     * guarantee them to follow semver. Use them at your own risk!\n     * @static\n     * @private\n     * @type {Object}\n     * @deprecated since version 1.8\n     * @member Utils\n     * @memberof Popper\n     */\n\n  }]);\n  return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Private TransitionEnd Helpers\n   * ------------------------------------------------------------------------\n   */\n\n  let transition = false\n\n  const MAX_UID = 1000000\n\n  const TransitionEndEvent = {\n    WebkitTransition : 'webkitTransitionEnd',\n    MozTransition    : 'transitionend',\n    OTransition      : 'oTransitionEnd otransitionend',\n    transition       : 'transitionend'\n  }\n\n  // shoutout AngusCroll (https://goo.gl/pxwQGp)\n  function toType(obj) {\n    return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n  }\n\n  function getSpecialTransitionEndEvent() {\n    return {\n      bindType: transition.end,\n      delegateType: transition.end,\n      handle(event) {\n        if ($(event.target).is(this)) {\n          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n        }\n        return undefined // eslint-disable-line no-undefined\n      }\n    }\n  }\n\n  function transitionEndTest() {\n    if (window.QUnit) {\n      return false\n    }\n\n    const el = document.createElement('bootstrap')\n\n    for (const name in TransitionEndEvent) {\n      if (typeof el.style[name] !== 'undefined') {\n        return {\n          end: TransitionEndEvent[name]\n        }\n      }\n    }\n\n    return false\n  }\n\n  function transitionEndEmulator(duration) {\n    let called = false\n\n    $(this).one(Util.TRANSITION_END, () => {\n      called = true\n    })\n\n    setTimeout(() => {\n      if (!called) {\n        Util.triggerTransitionEnd(this)\n      }\n    }, duration)\n\n    return this\n  }\n\n  function setTransitionEndSupport() {\n    transition = transitionEndTest()\n\n    $.fn.emulateTransitionEnd = transitionEndEmulator\n\n    if (Util.supportsTransitionEnd()) {\n      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n    }\n  }\n\n\n  /**\n   * --------------------------------------------------------------------------\n   * Public Util Api\n   * --------------------------------------------------------------------------\n   */\n\n  const Util = {\n\n    TRANSITION_END: 'bsTransitionEnd',\n\n    getUID(prefix) {\n      do {\n        // eslint-disable-next-line no-bitwise\n        prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n      } while (document.getElementById(prefix))\n      return prefix\n    },\n\n    getSelectorFromElement(element) {\n      let selector = element.getAttribute('data-target')\n      if (!selector || selector === '#') {\n        selector = element.getAttribute('href') || ''\n      }\n\n      try {\n        const $selector = $(document).find(selector)\n        return $selector.length > 0 ? selector : null\n      } catch (error) {\n        return null\n      }\n    },\n\n    reflow(element) {\n      return element.offsetHeight\n    },\n\n    triggerTransitionEnd(element) {\n      $(element).trigger(transition.end)\n    },\n\n    supportsTransitionEnd() {\n      return Boolean(transition)\n    },\n\n    isElement(obj) {\n      return (obj[0] || obj).nodeType\n    },\n\n    typeCheckConfig(componentName, config, configTypes) {\n      for (const property in configTypes) {\n        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n          const expectedTypes = configTypes[property]\n          const value         = config[property]\n          const valueType     = value && Util.isElement(value) ?\n                                'element' : toType(value)\n\n          if (!new RegExp(expectedTypes).test(valueType)) {\n            throw new Error(\n              `${componentName.toUpperCase()}: ` +\n              `Option \"${property}\" provided type \"${valueType}\" ` +\n              `but expected type \"${expectedTypes}\".`)\n          }\n        }\n      }\n    }\n  }\n\n  setTransitionEndSupport()\n\n  return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'alert'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.alert'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Selector = {\n    DISMISS : '[data-dismiss=\"alert\"]'\n  }\n\n  const Event = {\n    CLOSE          : `close${EVENT_KEY}`,\n    CLOSED         : `closed${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    ALERT : 'alert',\n    FADE  : 'fade',\n    SHOW  : 'show'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Alert {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    close(element) {\n      element = element || this._element\n\n      const rootElement = this._getRootElement(element)\n      const customEvent = this._triggerCloseEvent(rootElement)\n\n      if (customEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._removeElement(rootElement)\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _getRootElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      let parent     = false\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      if (!parent) {\n        parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n      }\n\n      return parent\n    }\n\n    _triggerCloseEvent(element) {\n      const closeEvent = $.Event(Event.CLOSE)\n\n      $(element).trigger(closeEvent)\n      return closeEvent\n    }\n\n    _removeElement(element) {\n      $(element).removeClass(ClassName.SHOW)\n\n      if (!Util.supportsTransitionEnd() ||\n          !$(element).hasClass(ClassName.FADE)) {\n        this._destroyElement(element)\n        return\n      }\n\n      $(element)\n        .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    _destroyElement(element) {\n      $(element)\n        .detach()\n        .trigger(Event.CLOSED)\n        .remove()\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $element = $(this)\n        let data       = $element.data(DATA_KEY)\n\n        if (!data) {\n          data = new Alert(this)\n          $element.data(DATA_KEY, data)\n        }\n\n        if (config === 'close') {\n          data[config](this)\n        }\n      })\n    }\n\n    static _handleDismiss(alertInstance) {\n      return function (event) {\n        if (event) {\n          event.preventDefault()\n        }\n\n        alertInstance.close(this)\n      }\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(\n    Event.CLICK_DATA_API,\n    Selector.DISMISS,\n    Alert._handleDismiss(new Alert())\n  )\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Alert._jQueryInterface\n  $.fn[NAME].Constructor = Alert\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Alert._jQueryInterface\n  }\n\n  return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'button'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.button'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n\n  const ClassName = {\n    ACTIVE : 'active',\n    BUTTON : 'btn',\n    FOCUS  : 'focus'\n  }\n\n  const Selector = {\n    DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n    DATA_TOGGLE        : '[data-toggle=\"buttons\"]',\n    INPUT              : 'input',\n    ACTIVE             : '.active',\n    BUTTON             : '.btn'\n  }\n\n  const Event = {\n    CLICK_DATA_API      : `click${EVENT_KEY}${DATA_API_KEY}`,\n    FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n                        + `blur${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Button {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    toggle() {\n      let triggerChangeEvent = true\n      let addAriaPressed = true\n      const rootElement      = $(this._element).closest(\n        Selector.DATA_TOGGLE\n      )[0]\n\n      if (rootElement) {\n        const input = $(this._element).find(Selector.INPUT)[0]\n\n        if (input) {\n          if (input.type === 'radio') {\n            if (input.checked &&\n              $(this._element).hasClass(ClassName.ACTIVE)) {\n              triggerChangeEvent = false\n\n            } else {\n              const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n              if (activeElement) {\n                $(activeElement).removeClass(ClassName.ACTIVE)\n              }\n            }\n          }\n\n          if (triggerChangeEvent) {\n            if (input.hasAttribute('disabled') ||\n              rootElement.hasAttribute('disabled') ||\n              input.classList.contains('disabled') ||\n              rootElement.classList.contains('disabled')) {\n              return\n            }\n            input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n            $(input).trigger('change')\n          }\n\n          input.focus()\n          addAriaPressed = false\n        }\n\n      }\n\n      if (addAriaPressed) {\n        this._element.setAttribute('aria-pressed',\n          !$(this._element).hasClass(ClassName.ACTIVE))\n      }\n\n      if (triggerChangeEvent) {\n        $(this._element).toggleClass(ClassName.ACTIVE)\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n\n        if (!data) {\n          data = new Button(this)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (config === 'toggle') {\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      event.preventDefault()\n\n      let button = event.target\n\n      if (!$(button).hasClass(ClassName.BUTTON)) {\n        button = $(button).closest(Selector.BUTTON)\n      }\n\n      Button._jQueryInterface.call($(button), 'toggle')\n    })\n    .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      const button = $(event.target).closest(Selector.BUTTON)[0]\n      $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Button._jQueryInterface\n  $.fn[NAME].Constructor = Button\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Button._jQueryInterface\n  }\n\n  return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                   = 'carousel'\n  const VERSION                = '4.0.0-beta.2'\n  const DATA_KEY               = 'bs.carousel'\n  const EVENT_KEY              = `.${DATA_KEY}`\n  const DATA_API_KEY           = '.data-api'\n  const JQUERY_NO_CONFLICT     = $.fn[NAME]\n  const TRANSITION_DURATION    = 600\n  const ARROW_LEFT_KEYCODE     = 37 // KeyboardEvent.which value for left arrow key\n  const ARROW_RIGHT_KEYCODE    = 39 // KeyboardEvent.which value for right arrow key\n  const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n  const Default = {\n    interval : 5000,\n    keyboard : true,\n    slide    : false,\n    pause    : 'hover',\n    wrap     : true\n  }\n\n  const DefaultType = {\n    interval : '(number|boolean)',\n    keyboard : 'boolean',\n    slide    : '(boolean|string)',\n    pause    : '(string|boolean)',\n    wrap     : 'boolean'\n  }\n\n  const Direction = {\n    NEXT     : 'next',\n    PREV     : 'prev',\n    LEFT     : 'left',\n    RIGHT    : 'right'\n  }\n\n  const Event = {\n    SLIDE          : `slide${EVENT_KEY}`,\n    SLID           : `slid${EVENT_KEY}`,\n    KEYDOWN        : `keydown${EVENT_KEY}`,\n    MOUSEENTER     : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE     : `mouseleave${EVENT_KEY}`,\n    TOUCHEND       : `touchend${EVENT_KEY}`,\n    LOAD_DATA_API  : `load${EVENT_KEY}${DATA_API_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    CAROUSEL : 'carousel',\n    ACTIVE   : 'active',\n    SLIDE    : 'slide',\n    RIGHT    : 'carousel-item-right',\n    LEFT     : 'carousel-item-left',\n    NEXT     : 'carousel-item-next',\n    PREV     : 'carousel-item-prev',\n    ITEM     : 'carousel-item'\n  }\n\n  const Selector = {\n    ACTIVE      : '.active',\n    ACTIVE_ITEM : '.active.carousel-item',\n    ITEM        : '.carousel-item',\n    NEXT_PREV   : '.carousel-item-next, .carousel-item-prev',\n    INDICATORS  : '.carousel-indicators',\n    DATA_SLIDE  : '[data-slide], [data-slide-to]',\n    DATA_RIDE   : '[data-ride=\"carousel\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Carousel {\n\n    constructor(element, config) {\n      this._items             = null\n      this._interval          = null\n      this._activeElement     = null\n\n      this._isPaused          = false\n      this._isSliding         = false\n\n      this.touchTimeout       = null\n\n      this._config            = this._getConfig(config)\n      this._element           = $(element)[0]\n      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    next() {\n      if (!this._isSliding) {\n        this._slide(Direction.NEXT)\n      }\n    }\n\n    nextWhenVisible() {\n      // Don't call next when the page isn't visible\n      // or the carousel or its parent isn't visible\n      if (!document.hidden &&\n        ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n        this.next()\n      }\n    }\n\n    prev() {\n      if (!this._isSliding) {\n        this._slide(Direction.PREV)\n      }\n    }\n\n    pause(event) {\n      if (!event) {\n        this._isPaused = true\n      }\n\n      if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n        Util.supportsTransitionEnd()) {\n        Util.triggerTransitionEnd(this._element)\n        this.cycle(true)\n      }\n\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    cycle(event) {\n      if (!event) {\n        this._isPaused = false\n      }\n\n      if (this._interval) {\n        clearInterval(this._interval)\n        this._interval = null\n      }\n\n      if (this._config.interval && !this._isPaused) {\n        this._interval = setInterval(\n          (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n          this._config.interval\n        )\n      }\n    }\n\n    to(index) {\n      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n      const activeIndex = this._getItemIndex(this._activeElement)\n\n      if (index > this._items.length - 1 || index < 0) {\n        return\n      }\n\n      if (this._isSliding) {\n        $(this._element).one(Event.SLID, () => this.to(index))\n        return\n      }\n\n      if (activeIndex === index) {\n        this.pause()\n        this.cycle()\n        return\n      }\n\n      const direction = index > activeIndex ?\n        Direction.NEXT :\n        Direction.PREV\n\n      this._slide(direction, this._items[index])\n    }\n\n    dispose() {\n      $(this._element).off(EVENT_KEY)\n      $.removeData(this._element, DATA_KEY)\n\n      this._items             = null\n      this._config            = null\n      this._element           = null\n      this._interval          = null\n      this._isPaused          = null\n      this._isSliding         = null\n      this._activeElement     = null\n      this._indicatorsElement = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _addEventListeners() {\n      if (this._config.keyboard) {\n        $(this._element)\n          .on(Event.KEYDOWN, (event) => this._keydown(event))\n      }\n\n      if (this._config.pause === 'hover') {\n        $(this._element)\n          .on(Event.MOUSEENTER, (event) => this.pause(event))\n          .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n        if ('ontouchstart' in document.documentElement) {\n          // if it's a touch-enabled device, mouseenter/leave are fired as\n          // part of the mouse compatibility events on first tap - the carousel\n          // would stop cycling until user tapped out of it;\n          // here, we listen for touchend, explicitly pause the carousel\n          // (as if it's the second time we tap on it, mouseenter compat event\n          // is NOT fired) and after a timeout (to allow for mouse compatibility\n          // events to fire) we explicitly restart cycling\n          $(this._element).on(Event.TOUCHEND, () => {\n            this.pause()\n            if (this.touchTimeout) {\n              clearTimeout(this.touchTimeout)\n            }\n            this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n          })\n        }\n      }\n    }\n\n    _keydown(event) {\n      if (/input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      switch (event.which) {\n        case ARROW_LEFT_KEYCODE:\n          event.preventDefault()\n          this.prev()\n          break\n        case ARROW_RIGHT_KEYCODE:\n          event.preventDefault()\n          this.next()\n          break\n        default:\n          return\n      }\n    }\n\n    _getItemIndex(element) {\n      this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n      return this._items.indexOf(element)\n    }\n\n    _getItemByDirection(direction, activeElement) {\n      const isNextDirection = direction === Direction.NEXT\n      const isPrevDirection = direction === Direction.PREV\n      const activeIndex     = this._getItemIndex(activeElement)\n      const lastItemIndex   = this._items.length - 1\n      const isGoingToWrap   = isPrevDirection && activeIndex === 0 ||\n                              isNextDirection && activeIndex === lastItemIndex\n\n      if (isGoingToWrap && !this._config.wrap) {\n        return activeElement\n      }\n\n      const delta     = direction === Direction.PREV ? -1 : 1\n      const itemIndex = (activeIndex + delta) % this._items.length\n\n      return itemIndex === -1 ?\n        this._items[this._items.length - 1] : this._items[itemIndex]\n    }\n\n\n    _triggerSlideEvent(relatedTarget, eventDirectionName) {\n      const targetIndex = this._getItemIndex(relatedTarget)\n      const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n      const slideEvent = $.Event(Event.SLIDE, {\n        relatedTarget,\n        direction: eventDirectionName,\n        from: fromIndex,\n        to: targetIndex\n      })\n\n      $(this._element).trigger(slideEvent)\n\n      return slideEvent\n    }\n\n    _setActiveIndicatorElement(element) {\n      if (this._indicatorsElement) {\n        $(this._indicatorsElement)\n          .find(Selector.ACTIVE)\n          .removeClass(ClassName.ACTIVE)\n\n        const nextIndicator = this._indicatorsElement.children[\n          this._getItemIndex(element)\n        ]\n\n        if (nextIndicator) {\n          $(nextIndicator).addClass(ClassName.ACTIVE)\n        }\n      }\n    }\n\n    _slide(direction, element) {\n      const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n      const activeElementIndex = this._getItemIndex(activeElement)\n      const nextElement   = element || activeElement &&\n        this._getItemByDirection(direction, activeElement)\n      const nextElementIndex = this._getItemIndex(nextElement)\n      const isCycling = Boolean(this._interval)\n\n      let directionalClassName\n      let orderClassName\n      let eventDirectionName\n\n      if (direction === Direction.NEXT) {\n        directionalClassName = ClassName.LEFT\n        orderClassName = ClassName.NEXT\n        eventDirectionName = Direction.LEFT\n      } else {\n        directionalClassName = ClassName.RIGHT\n        orderClassName = ClassName.PREV\n        eventDirectionName = Direction.RIGHT\n      }\n\n      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n        this._isSliding = false\n        return\n      }\n\n      const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n      if (slideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (!activeElement || !nextElement) {\n        // some weirdness is happening, so we bail\n        return\n      }\n\n      this._isSliding = true\n\n      if (isCycling) {\n        this.pause()\n      }\n\n      this._setActiveIndicatorElement(nextElement)\n\n      const slidEvent = $.Event(Event.SLID, {\n        relatedTarget: nextElement,\n        direction: eventDirectionName,\n        from: activeElementIndex,\n        to: nextElementIndex\n      })\n\n      if (Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.SLIDE)) {\n\n        $(nextElement).addClass(orderClassName)\n\n        Util.reflow(nextElement)\n\n        $(activeElement).addClass(directionalClassName)\n        $(nextElement).addClass(directionalClassName)\n\n        $(activeElement)\n          .one(Util.TRANSITION_END, () => {\n            $(nextElement)\n              .removeClass(`${directionalClassName} ${orderClassName}`)\n              .addClass(ClassName.ACTIVE)\n\n            $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n            this._isSliding = false\n\n            setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n          })\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        $(activeElement).removeClass(ClassName.ACTIVE)\n        $(nextElement).addClass(ClassName.ACTIVE)\n\n        this._isSliding = false\n        $(this._element).trigger(slidEvent)\n      }\n\n      if (isCycling) {\n        this.cycle()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend({}, Default, $(this).data())\n\n        if (typeof config === 'object') {\n          $.extend(_config, config)\n        }\n\n        const action = typeof config === 'string' ? config : _config.slide\n\n        if (!data) {\n          data = new Carousel(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'number') {\n          data.to(config)\n        } else if (typeof action === 'string') {\n          if (typeof data[action] === 'undefined') {\n            throw new Error(`No method named \"${action}\"`)\n          }\n          data[action]()\n        } else if (_config.interval) {\n          data.pause()\n          data.cycle()\n        }\n      })\n    }\n\n    static _dataApiClickHandler(event) {\n      const selector = Util.getSelectorFromElement(this)\n\n      if (!selector) {\n        return\n      }\n\n      const target = $(selector)[0]\n\n      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n        return\n      }\n\n      const config     = $.extend({}, $(target).data(), $(this).data())\n      const slideIndex = this.getAttribute('data-slide-to')\n\n      if (slideIndex) {\n        config.interval = false\n      }\n\n      Carousel._jQueryInterface.call($(target), config)\n\n      if (slideIndex) {\n        $(target).data(DATA_KEY).to(slideIndex)\n      }\n\n      event.preventDefault()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    $(Selector.DATA_RIDE).each(function () {\n      const $carousel = $(this)\n      Carousel._jQueryInterface.call($carousel, $carousel.data())\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Carousel._jQueryInterface\n  $.fn[NAME].Constructor = Carousel\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Carousel._jQueryInterface\n  }\n\n  return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'collapse'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.collapse'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 600\n\n  const Default = {\n    toggle : true,\n    parent : ''\n  }\n\n  const DefaultType = {\n    toggle : 'boolean',\n    parent : '(string|element)'\n  }\n\n  const Event = {\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SHOW       : 'show',\n    COLLAPSE   : 'collapse',\n    COLLAPSING : 'collapsing',\n    COLLAPSED  : 'collapsed'\n  }\n\n  const Dimension = {\n    WIDTH  : 'width',\n    HEIGHT : 'height'\n  }\n\n  const Selector = {\n    ACTIVES     : '.show, .collapsing',\n    DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Collapse {\n\n    constructor(element, config) {\n      this._isTransitioning = false\n      this._element         = element\n      this._config          = this._getConfig(config)\n      this._triggerArray    = $.makeArray($(\n        `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n        `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n      ))\n      const tabToggles = $(Selector.DATA_TOGGLE)\n      for (let i = 0; i < tabToggles.length; i++) {\n        const elem = tabToggles[i]\n        const selector = Util.getSelectorFromElement(elem)\n        if (selector !== null && $(selector).filter(element).length > 0) {\n          this._triggerArray.push(elem)\n        }\n      }\n\n      this._parent = this._config.parent ? this._getParent() : null\n\n      if (!this._config.parent) {\n        this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n      }\n\n      if (this._config.toggle) {\n        this.toggle()\n      }\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle() {\n      if ($(this._element).hasClass(ClassName.SHOW)) {\n        this.hide()\n      } else {\n        this.show()\n      }\n    }\n\n    show() {\n      if (this._isTransitioning ||\n        $(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      let actives\n      let activesData\n\n      if (this._parent) {\n        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n        if (!actives.length) {\n          actives = null\n        }\n      }\n\n      if (actives) {\n        activesData = $(actives).data(DATA_KEY)\n        if (activesData && activesData._isTransitioning) {\n          return\n        }\n      }\n\n      const startEvent = $.Event(Event.SHOW)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (actives) {\n        Collapse._jQueryInterface.call($(actives), 'hide')\n        if (!activesData) {\n          $(actives).data(DATA_KEY, null)\n        }\n      }\n\n      const dimension = this._getDimension()\n\n      $(this._element)\n        .removeClass(ClassName.COLLAPSE)\n        .addClass(ClassName.COLLAPSING)\n\n      this._element.style[dimension] = 0\n\n      if (this._triggerArray.length) {\n        $(this._triggerArray)\n          .removeClass(ClassName.COLLAPSED)\n          .attr('aria-expanded', true)\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .addClass(ClassName.SHOW)\n\n        this._element.style[dimension] = ''\n\n        this.setTransitioning(false)\n\n        $(this._element).trigger(Event.SHOWN)\n      }\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n      const scrollSize           = `scroll${capitalizedDimension}`\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n\n      this._element.style[dimension] = `${this._element[scrollSize]}px`\n    }\n\n    hide() {\n      if (this._isTransitioning ||\n        !$(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      const startEvent = $.Event(Event.HIDE)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      const dimension       = this._getDimension()\n\n      this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n      Util.reflow(this._element)\n\n      $(this._element)\n        .addClass(ClassName.COLLAPSING)\n        .removeClass(ClassName.COLLAPSE)\n        .removeClass(ClassName.SHOW)\n\n      if (this._triggerArray.length) {\n        for (let i = 0; i < this._triggerArray.length; i++) {\n          const trigger = this._triggerArray[i]\n          const selector = Util.getSelectorFromElement(trigger)\n          if (selector !== null) {\n            const $elem = $(selector)\n            if (!$elem.hasClass(ClassName.SHOW)) {\n              $(trigger).addClass(ClassName.COLLAPSED)\n                   .attr('aria-expanded', false)\n            }\n          }\n        }\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        this.setTransitioning(false)\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .trigger(Event.HIDDEN)\n      }\n\n      this._element.style[dimension] = ''\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    setTransitioning(isTransitioning) {\n      this._isTransitioning = isTransitioning\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      this._config          = null\n      this._parent          = null\n      this._element         = null\n      this._triggerArray    = null\n      this._isTransitioning = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      config.toggle = Boolean(config.toggle) // coerce string values\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _getDimension() {\n      const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n    }\n\n    _getParent() {\n      let parent = null\n      if (Util.isElement(this._config.parent)) {\n        parent = this._config.parent\n\n        // it's a jQuery object\n        if (typeof this._config.parent.jquery !== 'undefined') {\n          parent = this._config.parent[0]\n        }\n      } else {\n        parent = $(this._config.parent)[0]\n      }\n\n      const selector =\n        `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n      $(parent).find(selector).each((i, element) => {\n        this._addAriaAndCollapsedClass(\n          Collapse._getTargetFromElement(element),\n          [element]\n        )\n      })\n\n      return parent\n    }\n\n    _addAriaAndCollapsedClass(element, triggerArray) {\n      if (element) {\n        const isOpen = $(element).hasClass(ClassName.SHOW)\n\n        if (triggerArray.length) {\n          $(triggerArray)\n            .toggleClass(ClassName.COLLAPSED, !isOpen)\n            .attr('aria-expanded', isOpen)\n        }\n      }\n    }\n\n\n    // static\n\n    static _getTargetFromElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      return selector ? $(selector)[0] : null\n    }\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this   = $(this)\n        let data      = $this.data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Default,\n          $this.data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data && _config.toggle && /show|hide/.test(config)) {\n          _config.toggle = false\n        }\n\n        if (!data) {\n          data = new Collapse(this, _config)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n    if (event.currentTarget.tagName === 'A') {\n      event.preventDefault()\n    }\n\n    const $trigger = $(this)\n    const selector = Util.getSelectorFromElement(this)\n    $(selector).each(function () {\n      const $target = $(this)\n      const data    = $target.data(DATA_KEY)\n      const config  = data ? 'toggle' : $trigger.data()\n      Collapse._jQueryInterface.call($target, config)\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Collapse._jQueryInterface\n  $.fn[NAME].Constructor = Collapse\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Collapse._jQueryInterface\n  }\n\n  return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                     = 'dropdown'\n  const VERSION                  = '4.0.0-beta.2'\n  const DATA_KEY                 = 'bs.dropdown'\n  const EVENT_KEY                = `.${DATA_KEY}`\n  const DATA_API_KEY             = '.data-api'\n  const JQUERY_NO_CONFLICT       = $.fn[NAME]\n  const ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\n  const SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\n  const TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\n  const ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\n  const ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\n  const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n  const REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n  const Event = {\n    HIDE             : `hide${EVENT_KEY}`,\n    HIDDEN           : `hidden${EVENT_KEY}`,\n    SHOW             : `show${EVENT_KEY}`,\n    SHOWN            : `shown${EVENT_KEY}`,\n    CLICK            : `click${EVENT_KEY}`,\n    CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,\n    KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n    KEYUP_DATA_API   : `keyup${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DISABLED  : 'disabled',\n    SHOW      : 'show',\n    DROPUP    : 'dropup',\n    MENURIGHT : 'dropdown-menu-right',\n    MENULEFT  : 'dropdown-menu-left'\n  }\n\n  const Selector = {\n    DATA_TOGGLE   : '[data-toggle=\"dropdown\"]',\n    FORM_CHILD    : '.dropdown form',\n    MENU          : '.dropdown-menu',\n    NAVBAR_NAV    : '.navbar-nav',\n    VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n  }\n\n  const AttachmentMap = {\n    TOP       : 'top-start',\n    TOPEND    : 'top-end',\n    BOTTOM    : 'bottom-start',\n    BOTTOMEND : 'bottom-end'\n  }\n\n  const Default = {\n    offset      : 0,\n    flip        : true\n  }\n\n  const DefaultType = {\n    offset      : '(number|string|function)',\n    flip        : 'boolean'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Dropdown {\n\n    constructor(element, config) {\n      this._element  = element\n      this._popper   = null\n      this._config   = this._getConfig(config)\n      this._menu     = this._getMenuElement()\n      this._inNavbar = this._detectNavbar()\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n    // public\n\n    toggle() {\n      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this._element)\n      const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n      Dropdown._clearMenus()\n\n      if (isActive) {\n        return\n      }\n\n      const relatedTarget = {\n        relatedTarget : this._element\n      }\n      const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n      $(parent).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      let element = this._element\n      // for dropup with alignment we use the parent as popper container\n      if ($(parent).hasClass(ClassName.DROPUP)) {\n        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n          element = parent\n        }\n      }\n      this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n      // if this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement &&\n         !$(parent).closest(Selector.NAVBAR_NAV).length) {\n        $('body').children().on('mouseover', null, $.noop)\n      }\n\n      this._element.focus()\n      this._element.setAttribute('aria-expanded', true)\n\n      $(this._menu).toggleClass(ClassName.SHOW)\n      $(parent)\n        .toggleClass(ClassName.SHOW)\n        .trigger($.Event(Event.SHOWN, relatedTarget))\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._element).off(EVENT_KEY)\n      this._element = null\n      this._menu = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n      this._popper = null\n    }\n\n    update() {\n      this._inNavbar = this._detectNavbar()\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // private\n\n    _addEventListeners() {\n      $(this._element).on(Event.CLICK, (event) => {\n        event.preventDefault()\n        event.stopPropagation()\n        this.toggle()\n      })\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this._element).data(),\n        config\n      )\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getMenuElement() {\n      if (!this._menu) {\n        const parent = Dropdown._getParentFromElement(this._element)\n        this._menu = $(parent).find(Selector.MENU)[0]\n      }\n      return this._menu\n    }\n\n    _getPlacement() {\n      const $parentDropdown = $(this._element).parent()\n      let placement = AttachmentMap.BOTTOM\n\n      // Handle dropup\n      if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n        placement = AttachmentMap.TOP\n        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n          placement = AttachmentMap.TOPEND\n        }\n      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.BOTTOMEND\n      }\n      return placement\n    }\n\n    _detectNavbar() {\n      return $(this._element).closest('.navbar').length > 0\n    }\n\n    _getPopperConfig() {\n      const offsetConf = {}\n      if (typeof this._config.offset === 'function') {\n        offsetConf.fn = (data) => {\n          data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n          return data\n        }\n      } else {\n        offsetConf.offset = this._config.offset\n      }\n      const popperConfig = {\n        placement : this._getPlacement(),\n        modifiers : {\n          offset : offsetConf,\n          flip : {\n            enabled : this._config.flip\n          }\n        }\n      }\n\n      // Disable Popper.js for Dropdown in Navbar\n      if (this._inNavbar) {\n        popperConfig.modifiers.applyStyle = {\n          enabled: !this._inNavbar\n        }\n      }\n      return popperConfig\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data) {\n          data = new Dropdown(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n    static _clearMenus(event) {\n      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n        event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n        return\n      }\n\n      const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n      for (let i = 0; i < toggles.length; i++) {\n        const parent        = Dropdown._getParentFromElement(toggles[i])\n        const context       = $(toggles[i]).data(DATA_KEY)\n        const relatedTarget = {\n          relatedTarget : toggles[i]\n        }\n\n        if (!context) {\n          continue\n        }\n\n        const dropdownMenu = context._menu\n        if (!$(parent).hasClass(ClassName.SHOW)) {\n          continue\n        }\n\n        if (event && (event.type === 'click' &&\n            /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n            && $.contains(parent, event.target)) {\n          continue\n        }\n\n        const hideEvent = $.Event(Event.HIDE, relatedTarget)\n        $(parent).trigger(hideEvent)\n        if (hideEvent.isDefaultPrevented()) {\n          continue\n        }\n\n        // if this is a touch-enabled device we remove the extra\n        // empty mouseover listeners we added for iOS support\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().off('mouseover', null, $.noop)\n        }\n\n        toggles[i].setAttribute('aria-expanded', 'false')\n\n        $(dropdownMenu).removeClass(ClassName.SHOW)\n        $(parent)\n          .removeClass(ClassName.SHOW)\n          .trigger($.Event(Event.HIDDEN, relatedTarget))\n      }\n    }\n\n    static _getParentFromElement(element) {\n      let parent\n      const selector = Util.getSelectorFromElement(element)\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      return parent || element.parentNode\n    }\n\n    static _dataApiKeydownHandler(event) {\n      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n         /input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n\n      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this)\n      const isActive = $(parent).hasClass(ClassName.SHOW)\n\n      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n           isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n        if (event.which === ESCAPE_KEYCODE) {\n          const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n          $(toggle).trigger('focus')\n        }\n\n        $(this).trigger('click')\n        return\n      }\n\n      const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n      if (!items.length) {\n        return\n      }\n\n      let index = items.indexOf(event.target)\n\n      if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n        index--\n      }\n\n      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n        index++\n      }\n\n      if (index < 0) {\n        index = 0\n      }\n\n      items[index].focus()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE,  Dropdown._dataApiKeydownHandler)\n    .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n    .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      event.stopPropagation()\n      Dropdown._jQueryInterface.call($(this), 'toggle')\n    })\n    .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n      e.stopPropagation()\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Dropdown._jQueryInterface\n  $.fn[NAME].Constructor = Dropdown\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Dropdown._jQueryInterface\n  }\n\n  return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                         = 'modal'\n  const VERSION                      = '4.0.0-beta.2'\n  const DATA_KEY                     = 'bs.modal'\n  const EVENT_KEY                    = `.${DATA_KEY}`\n  const DATA_API_KEY                 = '.data-api'\n  const JQUERY_NO_CONFLICT           = $.fn[NAME]\n  const TRANSITION_DURATION          = 300\n  const BACKDROP_TRANSITION_DURATION = 150\n  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n  const Default = {\n    backdrop : true,\n    keyboard : true,\n    focus    : true,\n    show     : true\n  }\n\n  const DefaultType = {\n    backdrop : '(boolean|string)',\n    keyboard : 'boolean',\n    focus    : 'boolean',\n    show     : 'boolean'\n  }\n\n  const Event = {\n    HIDE              : `hide${EVENT_KEY}`,\n    HIDDEN            : `hidden${EVENT_KEY}`,\n    SHOW              : `show${EVENT_KEY}`,\n    SHOWN             : `shown${EVENT_KEY}`,\n    FOCUSIN           : `focusin${EVENT_KEY}`,\n    RESIZE            : `resize${EVENT_KEY}`,\n    CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n    KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n    MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n    MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n    CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n    BACKDROP           : 'modal-backdrop',\n    OPEN               : 'modal-open',\n    FADE               : 'fade',\n    SHOW               : 'show'\n  }\n\n  const Selector = {\n    DIALOG             : '.modal-dialog',\n    DATA_TOGGLE        : '[data-toggle=\"modal\"]',\n    DATA_DISMISS       : '[data-dismiss=\"modal\"]',\n    FIXED_CONTENT      : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n    STICKY_CONTENT     : '.sticky-top',\n    NAVBAR_TOGGLER     : '.navbar-toggler'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Modal {\n\n    constructor(element, config) {\n      this._config              = this._getConfig(config)\n      this._element             = element\n      this._dialog              = $(element).find(Selector.DIALOG)[0]\n      this._backdrop            = null\n      this._isShown             = false\n      this._isBodyOverflowing   = false\n      this._ignoreBackdropClick = false\n      this._originalBodyPadding = 0\n      this._scrollbarWidth      = 0\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle(relatedTarget) {\n      return this._isShown ? this.hide() : this.show(relatedTarget)\n    }\n\n    show(relatedTarget) {\n      if (this._isTransitioning || this._isShown) {\n        return\n      }\n\n      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n        this._isTransitioning = true\n      }\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget\n      })\n\n      $(this._element).trigger(showEvent)\n\n      if (this._isShown || showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = true\n\n      this._checkScrollbar()\n      this._setScrollbar()\n\n      this._adjustDialog()\n\n      $(document.body).addClass(ClassName.OPEN)\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(this._element).on(\n        Event.CLICK_DISMISS,\n        Selector.DATA_DISMISS,\n        (event) => this.hide(event)\n      )\n\n      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n        $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n          if ($(event.target).is(this._element)) {\n            this._ignoreBackdropClick = true\n          }\n        })\n      })\n\n      this._showBackdrop(() => this._showElement(relatedTarget))\n    }\n\n    hide(event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      if (this._isTransitioning || !this._isShown) {\n        return\n      }\n\n      const hideEvent = $.Event(Event.HIDE)\n\n      $(this._element).trigger(hideEvent)\n\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = false\n\n      const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n      if (transition) {\n        this._isTransitioning = true\n      }\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(document).off(Event.FOCUSIN)\n\n      $(this._element).removeClass(ClassName.SHOW)\n\n      $(this._element).off(Event.CLICK_DISMISS)\n      $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n      if (transition) {\n\n        $(this._element)\n          .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        this._hideModal()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n      this._config              = null\n      this._element             = null\n      this._dialog              = null\n      this._backdrop            = null\n      this._isShown             = null\n      this._isBodyOverflowing   = null\n      this._ignoreBackdropClick = null\n      this._scrollbarWidth      = null\n    }\n\n    handleUpdate() {\n      this._adjustDialog()\n    }\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _showElement(relatedTarget) {\n      const transition = Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.FADE)\n\n      if (!this._element.parentNode ||\n         this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n        // don't move modals dom position\n        document.body.appendChild(this._element)\n      }\n\n      this._element.style.display = 'block'\n      this._element.removeAttribute('aria-hidden')\n      this._element.scrollTop = 0\n\n      if (transition) {\n        Util.reflow(this._element)\n      }\n\n      $(this._element).addClass(ClassName.SHOW)\n\n      if (this._config.focus) {\n        this._enforceFocus()\n      }\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget\n      })\n\n      const transitionComplete = () => {\n        if (this._config.focus) {\n          this._element.focus()\n        }\n        this._isTransitioning = false\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (transition) {\n        $(this._dialog)\n          .one(Util.TRANSITION_END, transitionComplete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        transitionComplete()\n      }\n    }\n\n    _enforceFocus() {\n      $(document)\n        .off(Event.FOCUSIN) // guard against infinite focus loop\n        .on(Event.FOCUSIN, (event) => {\n          if (document !== event.target &&\n              this._element !== event.target &&\n              !$(this._element).has(event.target).length) {\n            this._element.focus()\n          }\n        })\n    }\n\n    _setEscapeEvent() {\n      if (this._isShown && this._config.keyboard) {\n        $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n          if (event.which === ESCAPE_KEYCODE) {\n            event.preventDefault()\n            this.hide()\n          }\n        })\n\n      } else if (!this._isShown) {\n        $(this._element).off(Event.KEYDOWN_DISMISS)\n      }\n    }\n\n    _setResizeEvent() {\n      if (this._isShown) {\n        $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n      } else {\n        $(window).off(Event.RESIZE)\n      }\n    }\n\n    _hideModal() {\n      this._element.style.display = 'none'\n      this._element.setAttribute('aria-hidden', true)\n      this._isTransitioning = false\n      this._showBackdrop(() => {\n        $(document.body).removeClass(ClassName.OPEN)\n        this._resetAdjustments()\n        this._resetScrollbar()\n        $(this._element).trigger(Event.HIDDEN)\n      })\n    }\n\n    _removeBackdrop() {\n      if (this._backdrop) {\n        $(this._backdrop).remove()\n        this._backdrop = null\n      }\n    }\n\n    _showBackdrop(callback) {\n      const animate = $(this._element).hasClass(ClassName.FADE) ?\n        ClassName.FADE : ''\n\n      if (this._isShown && this._config.backdrop) {\n        const doAnimate = Util.supportsTransitionEnd() && animate\n\n        this._backdrop = document.createElement('div')\n        this._backdrop.className = ClassName.BACKDROP\n\n        if (animate) {\n          $(this._backdrop).addClass(animate)\n        }\n\n        $(this._backdrop).appendTo(document.body)\n\n        $(this._element).on(Event.CLICK_DISMISS, (event) => {\n          if (this._ignoreBackdropClick) {\n            this._ignoreBackdropClick = false\n            return\n          }\n          if (event.target !== event.currentTarget) {\n            return\n          }\n          if (this._config.backdrop === 'static') {\n            this._element.focus()\n          } else {\n            this.hide()\n          }\n        })\n\n        if (doAnimate) {\n          Util.reflow(this._backdrop)\n        }\n\n        $(this._backdrop).addClass(ClassName.SHOW)\n\n        if (!callback) {\n          return\n        }\n\n        if (!doAnimate) {\n          callback()\n          return\n        }\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callback)\n          .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n      } else if (!this._isShown && this._backdrop) {\n        $(this._backdrop).removeClass(ClassName.SHOW)\n\n        const callbackRemove = () => {\n          this._removeBackdrop()\n          if (callback) {\n            callback()\n          }\n        }\n\n        if (Util.supportsTransitionEnd() &&\n           $(this._element).hasClass(ClassName.FADE)) {\n          $(this._backdrop)\n            .one(Util.TRANSITION_END, callbackRemove)\n            .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n        } else {\n          callbackRemove()\n        }\n\n      } else if (callback) {\n        callback()\n      }\n    }\n\n\n    // ----------------------------------------------------------------------\n    // the following methods are used to handle overflowing modals\n    // todo (fat): these should probably be refactored out of modal.js\n    // ----------------------------------------------------------------------\n\n    _adjustDialog() {\n      const isModalOverflowing =\n        this._element.scrollHeight > document.documentElement.clientHeight\n\n      if (!this._isBodyOverflowing && isModalOverflowing) {\n        this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n      }\n\n      if (this._isBodyOverflowing && !isModalOverflowing) {\n        this._element.style.paddingRight = `${this._scrollbarWidth}px`\n      }\n    }\n\n    _resetAdjustments() {\n      this._element.style.paddingLeft = ''\n      this._element.style.paddingRight = ''\n    }\n\n    _checkScrollbar() {\n      const rect = document.body.getBoundingClientRect()\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n      this._scrollbarWidth = this._getScrollbarWidth()\n    }\n\n    _setScrollbar() {\n      if (this._isBodyOverflowing) {\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n        // Adjust fixed content padding\n        $(Selector.FIXED_CONTENT).each((index, element) => {\n          const actualPadding = $(element)[0].style.paddingRight\n          const calculatedPadding = $(element).css('padding-right')\n          $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust sticky content margin\n        $(Selector.STICKY_CONTENT).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n        })\n\n        // Adjust navbar-toggler margin\n        $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust body padding\n        const actualPadding = document.body.style.paddingRight\n        const calculatedPadding = $('body').css('padding-right')\n        $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      }\n    }\n\n    _resetScrollbar() {\n      // Restore fixed content padding\n      $(Selector.FIXED_CONTENT).each((index, element) => {\n        const padding = $(element).data('padding-right')\n        if (typeof padding !== 'undefined') {\n          $(element).css('padding-right', padding).removeData('padding-right')\n        }\n      })\n\n      // Restore sticky content and navbar-toggler margin\n      $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n        const margin = $(element).data('margin-right')\n        if (typeof margin !== 'undefined') {\n          $(element).css('margin-right', margin).removeData('margin-right')\n        }\n      })\n\n      // Restore body padding\n      const padding = $('body').data('padding-right')\n      if (typeof padding !== 'undefined') {\n        $('body').css('padding-right', padding).removeData('padding-right')\n      }\n    }\n\n    _getScrollbarWidth() { // thx d.walsh\n      const scrollDiv = document.createElement('div')\n      scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n      document.body.appendChild(scrollDiv)\n      const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n      document.body.removeChild(scrollDiv)\n      return scrollbarWidth\n    }\n\n\n    // static\n\n    static _jQueryInterface(config, relatedTarget) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Modal.Default,\n          $(this).data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data) {\n          data = new Modal(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config](relatedTarget)\n        } else if (_config.show) {\n          data.show(relatedTarget)\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    let target\n    const selector = Util.getSelectorFromElement(this)\n\n    if (selector) {\n      target = $(selector)[0]\n    }\n\n    const config = $(target).data(DATA_KEY) ?\n      'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\n      event.preventDefault()\n    }\n\n    const $target = $(target).one(Event.SHOW, (showEvent) => {\n      if (showEvent.isDefaultPrevented()) {\n        // only register focus restorer if modal will actually get shown\n        return\n      }\n\n      $target.one(Event.HIDDEN, () => {\n        if ($(this).is(':visible')) {\n          this.focus()\n        }\n      })\n    })\n\n    Modal._jQueryInterface.call($(target), config, this)\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Modal._jQueryInterface\n  $.fn[NAME].Constructor = Modal\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Modal._jQueryInterface\n  }\n\n  return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tooltip'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tooltip'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n  const CLASS_PREFIX        = 'bs-tooltip'\n  const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const DefaultType = {\n    animation           : 'boolean',\n    template            : 'string',\n    title               : '(string|element|function)',\n    trigger             : 'string',\n    delay               : '(number|object)',\n    html                : 'boolean',\n    selector            : '(string|boolean)',\n    placement           : '(string|function)',\n    offset              : '(number|string)',\n    container           : '(string|element|boolean)',\n    fallbackPlacement   : '(string|array)'\n  }\n\n  const AttachmentMap = {\n    AUTO   : 'auto',\n    TOP    : 'top',\n    RIGHT  : 'right',\n    BOTTOM : 'bottom',\n    LEFT   : 'left'\n  }\n\n  const Default = {\n    animation           : true,\n    template            : '<div class=\"tooltip\" role=\"tooltip\">'\n                        + '<div class=\"arrow\"></div>'\n                        + '<div class=\"tooltip-inner\"></div></div>',\n    trigger             : 'hover focus',\n    title               : '',\n    delay               : 0,\n    html                : false,\n    selector            : false,\n    placement           : 'top',\n    offset              : 0,\n    container           : false,\n    fallbackPlacement   : 'flip'\n  }\n\n  const HoverState = {\n    SHOW : 'show',\n    OUT  : 'out'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TOOLTIP       : '.tooltip',\n    TOOLTIP_INNER : '.tooltip-inner',\n    ARROW         : '.arrow'\n  }\n\n  const Trigger = {\n    HOVER  : 'hover',\n    FOCUS  : 'focus',\n    CLICK  : 'click',\n    MANUAL : 'manual'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tooltip {\n\n    constructor(element, config) {\n\n      // private\n      this._isEnabled     = true\n      this._timeout       = 0\n      this._hoverState    = ''\n      this._activeTrigger = {}\n      this._popper        = null\n\n      // protected\n      this.element = element\n      this.config  = this._getConfig(config)\n      this.tip     = null\n\n      this._setListeners()\n\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // public\n\n    enable() {\n      this._isEnabled = true\n    }\n\n    disable() {\n      this._isEnabled = false\n    }\n\n    toggleEnabled() {\n      this._isEnabled = !this._isEnabled\n    }\n\n    toggle(event) {\n      if (!this._isEnabled) {\n        return\n      }\n\n      if (event) {\n        const dataKey = this.constructor.DATA_KEY\n        let context = $(event.currentTarget).data(dataKey)\n\n        if (!context) {\n          context = new this.constructor(\n            event.currentTarget,\n            this._getDelegateConfig()\n          )\n          $(event.currentTarget).data(dataKey, context)\n        }\n\n        context._activeTrigger.click = !context._activeTrigger.click\n\n        if (context._isWithActiveTrigger()) {\n          context._enter(null, context)\n        } else {\n          context._leave(null, context)\n        }\n\n      } else {\n\n        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n          this._leave(null, this)\n          return\n        }\n\n        this._enter(null, this)\n      }\n    }\n\n    dispose() {\n      clearTimeout(this._timeout)\n\n      $.removeData(this.element, this.constructor.DATA_KEY)\n\n      $(this.element).off(this.constructor.EVENT_KEY)\n      $(this.element).closest('.modal').off('hide.bs.modal')\n\n      if (this.tip) {\n        $(this.tip).remove()\n      }\n\n      this._isEnabled     = null\n      this._timeout       = null\n      this._hoverState    = null\n      this._activeTrigger = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      this._popper = null\n      this.element = null\n      this.config  = null\n      this.tip     = null\n    }\n\n    show() {\n      if ($(this.element).css('display') === 'none') {\n        throw new Error('Please use show on visible elements')\n      }\n\n      const showEvent = $.Event(this.constructor.Event.SHOW)\n      if (this.isWithContent() && this._isEnabled) {\n        $(this.element).trigger(showEvent)\n\n        const isInTheDom = $.contains(\n          this.element.ownerDocument.documentElement,\n          this.element\n        )\n\n        if (showEvent.isDefaultPrevented() || !isInTheDom) {\n          return\n        }\n\n        const tip   = this.getTipElement()\n        const tipId = Util.getUID(this.constructor.NAME)\n\n        tip.setAttribute('id', tipId)\n        this.element.setAttribute('aria-describedby', tipId)\n\n        this.setContent()\n\n        if (this.config.animation) {\n          $(tip).addClass(ClassName.FADE)\n        }\n\n        const placement  = typeof this.config.placement === 'function' ?\n          this.config.placement.call(this, tip, this.element) :\n          this.config.placement\n\n        const attachment = this._getAttachment(placement)\n        this.addAttachmentClass(attachment)\n\n        const container = this.config.container === false ? document.body : $(this.config.container)\n\n        $(tip).data(this.constructor.DATA_KEY, this)\n\n        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n          $(tip).appendTo(container)\n        }\n\n        $(this.element).trigger(this.constructor.Event.INSERTED)\n\n        this._popper = new Popper(this.element, tip, {\n          placement: attachment,\n          modifiers: {\n            offset: {\n              offset: this.config.offset\n            },\n            flip: {\n              behavior: this.config.fallbackPlacement\n            },\n            arrow: {\n              element: Selector.ARROW\n            }\n          },\n          onCreate: (data) => {\n            if (data.originalPlacement !== data.placement) {\n              this._handlePopperPlacementChange(data)\n            }\n          },\n          onUpdate : (data) => {\n            this._handlePopperPlacementChange(data)\n          }\n        })\n\n        $(tip).addClass(ClassName.SHOW)\n\n        // if this is a touch-enabled device we add extra\n        // empty mouseover listeners to the body's immediate children;\n        // only needed because of broken event delegation on iOS\n        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().on('mouseover', null, $.noop)\n        }\n\n        const complete = () => {\n          if (this.config.animation) {\n            this._fixTransition()\n          }\n          const prevHoverState = this._hoverState\n          this._hoverState     = null\n\n          $(this.element).trigger(this.constructor.Event.SHOWN)\n\n          if (prevHoverState === HoverState.OUT) {\n            this._leave(null, this)\n          }\n        }\n\n        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n          $(this.tip)\n            .one(Util.TRANSITION_END, complete)\n            .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n        } else {\n          complete()\n        }\n      }\n    }\n\n    hide(callback) {\n      const tip       = this.getTipElement()\n      const hideEvent = $.Event(this.constructor.Event.HIDE)\n      const complete  = () => {\n        if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n          tip.parentNode.removeChild(tip)\n        }\n\n        this._cleanTipClass()\n        this.element.removeAttribute('aria-describedby')\n        $(this.element).trigger(this.constructor.Event.HIDDEN)\n        if (this._popper !== null) {\n          this._popper.destroy()\n        }\n\n        if (callback) {\n          callback()\n        }\n      }\n\n      $(this.element).trigger(hideEvent)\n\n      if (hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      $(tip).removeClass(ClassName.SHOW)\n\n      // if this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $('body').children().off('mouseover', null, $.noop)\n      }\n\n      this._activeTrigger[Trigger.CLICK] = false\n      this._activeTrigger[Trigger.FOCUS] = false\n      this._activeTrigger[Trigger.HOVER] = false\n\n      if (Util.supportsTransitionEnd() &&\n          $(this.tip).hasClass(ClassName.FADE)) {\n\n        $(tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      this._hoverState = ''\n\n    }\n\n    update() {\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // protected\n\n    isWithContent() {\n      return Boolean(this.getTitle())\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    setElementContent($element, content) {\n      const html = this.config.html\n      if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n        // content is a DOM node or a jQuery\n        if (html) {\n          if (!$(content).parent().is($element)) {\n            $element.empty().append(content)\n          }\n        } else {\n          $element.text($(content).text())\n        }\n      } else {\n        $element[html ? 'html' : 'text'](content)\n      }\n    }\n\n    getTitle() {\n      let title = this.element.getAttribute('data-original-title')\n\n      if (!title) {\n        title = typeof this.config.title === 'function' ?\n          this.config.title.call(this.element) :\n          this.config.title\n      }\n\n      return title\n    }\n\n\n    // private\n\n    _getAttachment(placement) {\n      return AttachmentMap[placement.toUpperCase()]\n    }\n\n    _setListeners() {\n      const triggers = this.config.trigger.split(' ')\n\n      triggers.forEach((trigger) => {\n        if (trigger === 'click') {\n          $(this.element).on(\n            this.constructor.Event.CLICK,\n            this.config.selector,\n            (event) => this.toggle(event)\n          )\n\n        } else if (trigger !== Trigger.MANUAL) {\n          const eventIn  = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSEENTER :\n            this.constructor.Event.FOCUSIN\n          const eventOut = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSELEAVE :\n            this.constructor.Event.FOCUSOUT\n\n          $(this.element)\n            .on(\n              eventIn,\n              this.config.selector,\n              (event) => this._enter(event)\n            )\n            .on(\n              eventOut,\n              this.config.selector,\n              (event) => this._leave(event)\n            )\n        }\n\n        $(this.element).closest('.modal').on(\n          'hide.bs.modal',\n          () => this.hide()\n        )\n      })\n\n      if (this.config.selector) {\n        this.config = $.extend({}, this.config, {\n          trigger  : 'manual',\n          selector : ''\n        })\n      } else {\n        this._fixTitle()\n      }\n    }\n\n    _fixTitle() {\n      const titleType = typeof this.element.getAttribute('data-original-title')\n      if (this.element.getAttribute('title') ||\n         titleType !== 'string') {\n        this.element.setAttribute(\n          'data-original-title',\n          this.element.getAttribute('title') || ''\n        )\n        this.element.setAttribute('title', '')\n      }\n    }\n\n    _enter(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n        ] = true\n      }\n\n      if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n         context._hoverState === HoverState.SHOW) {\n        context._hoverState = HoverState.SHOW\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.SHOW\n\n      if (!context.config.delay || !context.config.delay.show) {\n        context.show()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.SHOW) {\n          context.show()\n        }\n      }, context.config.delay.show)\n    }\n\n    _leave(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n        ] = false\n      }\n\n      if (context._isWithActiveTrigger()) {\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.OUT\n\n      if (!context.config.delay || !context.config.delay.hide) {\n        context.hide()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.OUT) {\n          context.hide()\n        }\n      }, context.config.delay.hide)\n    }\n\n    _isWithActiveTrigger() {\n      for (const trigger in this._activeTrigger) {\n        if (this._activeTrigger[trigger]) {\n          return true\n        }\n      }\n\n      return false\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this.element).data(),\n        config\n      )\n\n      if (typeof config.delay === 'number') {\n        config.delay = {\n          show : config.delay,\n          hide : config.delay\n        }\n      }\n\n      if (typeof config.title === 'number') {\n        config.title = config.title.toString()\n      }\n\n      if (typeof config.content === 'number') {\n        config.content = config.content.toString()\n      }\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getDelegateConfig() {\n      const config = {}\n\n      if (this.config) {\n        for (const key in this.config) {\n          if (this.constructor.Default[key] !== this.config[key]) {\n            config[key] = this.config[key]\n          }\n        }\n      }\n\n      return config\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n    _handlePopperPlacementChange(data) {\n      this._cleanTipClass()\n      this.addAttachmentClass(this._getAttachment(data.placement))\n    }\n\n    _fixTransition() {\n      const tip                 = this.getTipElement()\n      const initConfigAnimation = this.config.animation\n      if (tip.getAttribute('x-placement') !== null) {\n        return\n      }\n      $(tip).removeClass(ClassName.FADE)\n      this.config.animation = false\n      this.hide()\n      this.show()\n      this.config.animation = initConfigAnimation\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data && /dispose|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Tooltip(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tooltip._jQueryInterface\n  $.fn[NAME].Constructor = Tooltip\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tooltip._jQueryInterface\n  }\n\n  return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'popover'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.popover'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const CLASS_PREFIX        = 'bs-popover'\n  const BSCLS_PREFIX_REGEX  = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const Default = $.extend({}, Tooltip.Default, {\n    placement : 'right',\n    trigger   : 'click',\n    content   : '',\n    template  : '<div class=\"popover\" role=\"tooltip\">'\n              + '<div class=\"arrow\"></div>'\n              + '<h3 class=\"popover-header\"></h3>'\n              + '<div class=\"popover-body\"></div></div>'\n  })\n\n  const DefaultType = $.extend({}, Tooltip.DefaultType, {\n    content : '(string|element|function)'\n  })\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TITLE   : '.popover-header',\n    CONTENT : '.popover-body'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Popover extends Tooltip {\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // overrides\n\n    isWithContent() {\n      return this.getTitle() || this._getContent()\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n\n      // we use append for html objects to maintain js events\n      this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n      this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    // private\n\n    _getContent() {\n      return this.element.getAttribute('data-content')\n        || (typeof this.config.content === 'function' ?\n              this.config.content.call(this.element) :\n              this.config.content)\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data && /destroy|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Popover(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Popover._jQueryInterface\n  $.fn[NAME].Constructor = Popover\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Popover._jQueryInterface\n  }\n\n  return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME               = 'scrollspy'\n  const VERSION            = '4.0.0-beta.2'\n  const DATA_KEY           = 'bs.scrollspy'\n  const EVENT_KEY          = `.${DATA_KEY}`\n  const DATA_API_KEY       = '.data-api'\n  const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n  const Default = {\n    offset : 10,\n    method : 'auto',\n    target : ''\n  }\n\n  const DefaultType = {\n    offset : 'number',\n    method : 'string',\n    target : '(string|element)'\n  }\n\n  const Event = {\n    ACTIVATE      : `activate${EVENT_KEY}`,\n    SCROLL        : `scroll${EVENT_KEY}`,\n    LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_ITEM : 'dropdown-item',\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active'\n  }\n\n  const Selector = {\n    DATA_SPY        : '[data-spy=\"scroll\"]',\n    ACTIVE          : '.active',\n    NAV_LIST_GROUP  : '.nav, .list-group',\n    NAV_LINKS       : '.nav-link',\n    NAV_ITEMS       : '.nav-item',\n    LIST_ITEMS      : '.list-group-item',\n    DROPDOWN        : '.dropdown',\n    DROPDOWN_ITEMS  : '.dropdown-item',\n    DROPDOWN_TOGGLE : '.dropdown-toggle'\n  }\n\n  const OffsetMethod = {\n    OFFSET   : 'offset',\n    POSITION : 'position'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class ScrollSpy {\n\n    constructor(element, config) {\n      this._element       = element\n      this._scrollElement = element.tagName === 'BODY' ? window : element\n      this._config        = this._getConfig(config)\n      this._selector      = `${this._config.target} ${Selector.NAV_LINKS},`\n                          + `${this._config.target} ${Selector.LIST_ITEMS},`\n                          + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n      this._offsets       = []\n      this._targets       = []\n      this._activeTarget  = null\n      this._scrollHeight  = 0\n\n      $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n      this.refresh()\n      this._process()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    refresh() {\n      const autoMethod = this._scrollElement !== this._scrollElement.window ?\n        OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n      const offsetMethod = this._config.method === 'auto' ?\n        autoMethod : this._config.method\n\n      const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n        this._getScrollTop() : 0\n\n      this._offsets = []\n      this._targets = []\n\n      this._scrollHeight = this._getScrollHeight()\n\n      const targets = $.makeArray($(this._selector))\n\n      targets\n        .map((element) => {\n          let target\n          const targetSelector = Util.getSelectorFromElement(element)\n\n          if (targetSelector) {\n            target = $(targetSelector)[0]\n          }\n\n          if (target) {\n            const targetBCR = target.getBoundingClientRect()\n            if (targetBCR.width || targetBCR.height) {\n              // todo (fat): remove sketch reliance on jQuery position/offset\n              return [\n                $(target)[offsetMethod]().top + offsetBase,\n                targetSelector\n              ]\n            }\n          }\n          return null\n        })\n        .filter((item)  => item)\n        .sort((a, b)    => a[0] - b[0])\n        .forEach((item) => {\n          this._offsets.push(item[0])\n          this._targets.push(item[1])\n        })\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._scrollElement).off(EVENT_KEY)\n\n      this._element       = null\n      this._scrollElement = null\n      this._config        = null\n      this._selector      = null\n      this._offsets       = null\n      this._targets       = null\n      this._activeTarget  = null\n      this._scrollHeight  = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n\n      if (typeof config.target !== 'string') {\n        let id = $(config.target).attr('id')\n        if (!id) {\n          id = Util.getUID(NAME)\n          $(config.target).attr('id', id)\n        }\n        config.target = `#${id}`\n      }\n\n      Util.typeCheckConfig(NAME, config, DefaultType)\n\n      return config\n    }\n\n    _getScrollTop() {\n      return this._scrollElement === window ?\n          this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n    }\n\n    _getScrollHeight() {\n      return this._scrollElement.scrollHeight || Math.max(\n        document.body.scrollHeight,\n        document.documentElement.scrollHeight\n      )\n    }\n\n    _getOffsetHeight() {\n      return this._scrollElement === window ?\n          window.innerHeight : this._scrollElement.getBoundingClientRect().height\n    }\n\n    _process() {\n      const scrollTop    = this._getScrollTop() + this._config.offset\n      const scrollHeight = this._getScrollHeight()\n      const maxScroll    = this._config.offset\n        + scrollHeight\n        - this._getOffsetHeight()\n\n      if (this._scrollHeight !== scrollHeight) {\n        this.refresh()\n      }\n\n      if (scrollTop >= maxScroll) {\n        const target = this._targets[this._targets.length - 1]\n\n        if (this._activeTarget !== target) {\n          this._activate(target)\n        }\n        return\n      }\n\n      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n        this._activeTarget = null\n        this._clear()\n        return\n      }\n\n      for (let i = this._offsets.length; i--;) {\n        const isActiveTarget = this._activeTarget !== this._targets[i]\n            && scrollTop >= this._offsets[i]\n            && (typeof this._offsets[i + 1] === 'undefined' ||\n                scrollTop < this._offsets[i + 1])\n\n        if (isActiveTarget) {\n          this._activate(this._targets[i])\n        }\n      }\n    }\n\n    _activate(target) {\n      this._activeTarget = target\n\n      this._clear()\n\n      let queries = this._selector.split(',')\n      // eslint-disable-next-line arrow-body-style\n      queries     = queries.map((selector) => {\n        return `${selector}[data-target=\"${target}\"],` +\n               `${selector}[href=\"${target}\"]`\n      })\n\n      const $link = $(queries.join(','))\n\n      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        $link.addClass(ClassName.ACTIVE)\n      } else {\n        // Set triggered link as active\n        $link.addClass(ClassName.ACTIVE)\n        // Set triggered links parents as active\n        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n        $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n        // Handle special case when .nav-link is inside .nav-item\n        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n      }\n\n      $(this._scrollElement).trigger(Event.ACTIVATE, {\n        relatedTarget: target\n      })\n    }\n\n    _clear() {\n      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data) {\n          data = new ScrollSpy(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n    for (let i = scrollSpys.length; i--;) {\n      const $spy = $(scrollSpys[i])\n      ScrollSpy._jQueryInterface.call($spy, $spy.data())\n    }\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = ScrollSpy._jQueryInterface\n  $.fn[NAME].Constructor = ScrollSpy\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return ScrollSpy._jQueryInterface\n  }\n\n  return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tab'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tab'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Event = {\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active',\n    DISABLED      : 'disabled',\n    FADE          : 'fade',\n    SHOW          : 'show'\n  }\n\n  const Selector = {\n    DROPDOWN              : '.dropdown',\n    NAV_LIST_GROUP        : '.nav, .list-group',\n    ACTIVE                : '.active',\n    ACTIVE_UL             : '> li > .active',\n    DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n    DROPDOWN_TOGGLE       : '.dropdown-toggle',\n    DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tab {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    show() {\n      if (this._element.parentNode &&\n          this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n          $(this._element).hasClass(ClassName.ACTIVE) ||\n          $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      let target\n      let previous\n      const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n      const selector    = Util.getSelectorFromElement(this._element)\n\n      if (listElement) {\n        const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n        previous = $.makeArray($(listElement).find(itemSelector))\n        previous = previous[previous.length - 1]\n      }\n\n      const hideEvent = $.Event(Event.HIDE, {\n        relatedTarget: this._element\n      })\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget: previous\n      })\n\n      if (previous) {\n        $(previous).trigger(hideEvent)\n      }\n\n      $(this._element).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented() ||\n         hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (selector) {\n        target = $(selector)[0]\n      }\n\n      this._activate(\n        this._element,\n        listElement\n      )\n\n      const complete = () => {\n        const hiddenEvent = $.Event(Event.HIDDEN, {\n          relatedTarget: this._element\n        })\n\n        const shownEvent = $.Event(Event.SHOWN, {\n          relatedTarget: previous\n        })\n\n        $(previous).trigger(hiddenEvent)\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (target) {\n        this._activate(target, target.parentNode, complete)\n      } else {\n        complete()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _activate(element, container, callback) {\n      let activeElements\n      if (container.nodeName === 'UL') {\n        activeElements = $(container).find(Selector.ACTIVE_UL)\n      } else {\n        activeElements = $(container).children(Selector.ACTIVE)\n      }\n\n      const active          = activeElements[0]\n      const isTransitioning = callback\n        && Util.supportsTransitionEnd()\n        && (active && $(active).hasClass(ClassName.FADE))\n\n      const complete = () => this._transitionComplete(\n        element,\n        active,\n        isTransitioning,\n        callback\n      )\n\n      if (active && isTransitioning) {\n        $(active)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      if (active) {\n        $(active).removeClass(ClassName.SHOW)\n      }\n    }\n\n    _transitionComplete(element, active, isTransitioning, callback) {\n      if (active) {\n        $(active).removeClass(ClassName.ACTIVE)\n\n        const dropdownChild = $(active.parentNode).find(\n          Selector.DROPDOWN_ACTIVE_CHILD\n        )[0]\n\n        if (dropdownChild) {\n          $(dropdownChild).removeClass(ClassName.ACTIVE)\n        }\n\n        if (active.getAttribute('role') === 'tab') {\n          active.setAttribute('aria-selected', false)\n        }\n      }\n\n      $(element).addClass(ClassName.ACTIVE)\n      if (element.getAttribute('role') === 'tab') {\n        element.setAttribute('aria-selected', true)\n      }\n\n      if (isTransitioning) {\n        Util.reflow(element)\n        $(element).addClass(ClassName.SHOW)\n      } else {\n        $(element).removeClass(ClassName.FADE)\n      }\n\n      if (element.parentNode &&\n          $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n        const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n        if (dropdownElement) {\n          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        }\n\n        element.setAttribute('aria-expanded', true)\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this = $(this)\n        let data    = $this.data(DATA_KEY)\n\n        if (!data) {\n          data = new Tab(this)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      Tab._jQueryInterface.call($(this), 'show')\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tab._jQueryInterface\n  $.fn[NAME].Constructor = Tab\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tab._jQueryInterface\n  }\n\n  return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor  = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})($)\n\nexport {\n  Util,\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Popover,\n  Scrollspy,\n  Tab,\n  Tooltip\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.js b/workspace/public/js/bootstrap.js
new file mode 100644
index 0000000..630a9e0
--- /dev/null
+++ b/workspace/public/js/bootstrap.js
@@ -0,0 +1,3850 @@
+/*!
+  * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+var bootstrap = (function (exports,$,Popper) {
+'use strict';
+
+$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Util = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Private TransitionEnd Helpers
+   * ------------------------------------------------------------------------
+   */
+  var transition = false;
+  var MAX_UID = 1000000;
+  var TransitionEndEvent = {
+    WebkitTransition: 'webkitTransitionEnd',
+    MozTransition: 'transitionend',
+    OTransition: 'oTransitionEnd otransitionend',
+    transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+  };
+
+  function toType(obj) {
+    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+  }
+
+  function getSpecialTransitionEndEvent() {
+    return {
+      bindType: transition.end,
+      delegateType: transition.end,
+      handle: function handle(event) {
+        if ($(event.target).is(this)) {
+          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+        }
+
+        return undefined; // eslint-disable-line no-undefined
+      }
+    };
+  }
+
+  function transitionEndTest() {
+    if (window.QUnit) {
+      return false;
+    }
+
+    var el = document.createElement('bootstrap');
+
+    for (var name in TransitionEndEvent) {
+      if (typeof el.style[name] !== 'undefined') {
+        return {
+          end: TransitionEndEvent[name]
+        };
+      }
+    }
+
+    return false;
+  }
+
+  function transitionEndEmulator(duration) {
+    var _this = this;
+
+    var called = false;
+    $(this).one(Util.TRANSITION_END, function () {
+      called = true;
+    });
+    setTimeout(function () {
+      if (!called) {
+        Util.triggerTransitionEnd(_this);
+      }
+    }, duration);
+    return this;
+  }
+
+  function setTransitionEndSupport() {
+    transition = transitionEndTest();
+    $.fn.emulateTransitionEnd = transitionEndEmulator;
+
+    if (Util.supportsTransitionEnd()) {
+      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+    }
+  }
+  /**
+   * --------------------------------------------------------------------------
+   * Public Util Api
+   * --------------------------------------------------------------------------
+   */
+
+
+  var Util = {
+    TRANSITION_END: 'bsTransitionEnd',
+    getUID: function getUID(prefix) {
+      do {
+        // eslint-disable-next-line no-bitwise
+        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+      } while (document.getElementById(prefix));
+
+      return prefix;
+    },
+    getSelectorFromElement: function getSelectorFromElement(element) {
+      var selector = element.getAttribute('data-target');
+
+      if (!selector || selector === '#') {
+        selector = element.getAttribute('href') || '';
+      }
+
+      try {
+        var $selector = $(document).find(selector);
+        return $selector.length > 0 ? selector : null;
+      } catch (error) {
+        return null;
+      }
+    },
+    reflow: function reflow(element) {
+      return element.offsetHeight;
+    },
+    triggerTransitionEnd: function triggerTransitionEnd(element) {
+      $(element).trigger(transition.end);
+    },
+    supportsTransitionEnd: function supportsTransitionEnd() {
+      return Boolean(transition);
+    },
+    isElement: function isElement(obj) {
+      return (obj[0] || obj).nodeType;
+    },
+    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+      for (var property in configTypes) {
+        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+          var expectedTypes = configTypes[property];
+          var value = config[property];
+          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+          if (!new RegExp(expectedTypes).test(valueType)) {
+            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+          }
+        }
+      }
+    }
+  };
+  setTransitionEndSupport();
+  return Util;
+}($);
+
+function _defineProperties(target, props) {
+  for (var i = 0; i < props.length; i++) {
+    var descriptor = props[i];
+    descriptor.enumerable = descriptor.enumerable || false;
+    descriptor.configurable = true;
+    if ("value" in descriptor) descriptor.writable = true;
+    Object.defineProperty(target, descriptor.key, descriptor);
+  }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+  if (staticProps) _defineProperties(Constructor, staticProps);
+  return Constructor;
+}
+
+var createClass = _createClass;
+
+function _inheritsLoose(subClass, superClass) {
+  subClass.prototype = Object.create(superClass.prototype);
+  subClass.prototype.constructor = subClass;
+  subClass.__proto__ = superClass;
+}
+
+var inheritsLoose = _inheritsLoose;
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Alert = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'alert';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.alert';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var Selector = {
+    DISMISS: '[data-dismiss="alert"]'
+  };
+  var Event = {
+    CLOSE: "close" + EVENT_KEY,
+    CLOSED: "closed" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    ALERT: 'alert',
+    FADE: 'fade',
+    SHOW: 'show'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Alert =
+  /*#__PURE__*/
+  function () {
+    function Alert(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Alert.prototype;
+
+    // public
+    _proto.close = function close(element) {
+      element = element || this._element;
+
+      var rootElement = this._getRootElement(element);
+
+      var customEvent = this._triggerCloseEvent(rootElement);
+
+      if (customEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._removeElement(rootElement);
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // private
+
+
+    _proto._getRootElement = function _getRootElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      var parent = false;
+
+      if (selector) {
+        parent = $(selector)[0];
+      }
+
+      if (!parent) {
+        parent = $(element).closest("." + ClassName.ALERT)[0];
+      }
+
+      return parent;
+    };
+
+    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+      var closeEvent = $.Event(Event.CLOSE);
+      $(element).trigger(closeEvent);
+      return closeEvent;
+    };
+
+    _proto._removeElement = function _removeElement(element) {
+      var _this = this;
+
+      $(element).removeClass(ClassName.SHOW);
+
+      if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+        this._destroyElement(element);
+
+        return;
+      }
+
+      $(element).one(Util.TRANSITION_END, function (event) {
+        return _this._destroyElement(element, event);
+      }).emulateTransitionEnd(TRANSITION_DURATION);
+    };
+
+    _proto._destroyElement = function _destroyElement(element) {
+      $(element).detach().trigger(Event.CLOSED).remove();
+    }; // static
+
+
+    Alert._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $element = $(this);
+        var data = $element.data(DATA_KEY);
+
+        if (!data) {
+          data = new Alert(this);
+          $element.data(DATA_KEY, data);
+        }
+
+        if (config === 'close') {
+          data[config](this);
+        }
+      });
+    };
+
+    Alert._handleDismiss = function _handleDismiss(alertInstance) {
+      return function (event) {
+        if (event) {
+          event.preventDefault();
+        }
+
+        alertInstance.close(this);
+      };
+    };
+
+    createClass(Alert, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Alert;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Alert._jQueryInterface;
+  $.fn[NAME].Constructor = Alert;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Alert._jQueryInterface;
+  };
+
+  return Alert;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Button = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'button';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.button';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var ClassName = {
+    ACTIVE: 'active',
+    BUTTON: 'btn',
+    FOCUS: 'focus'
+  };
+  var Selector = {
+    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+    DATA_TOGGLE: '[data-toggle="buttons"]',
+    INPUT: 'input',
+    ACTIVE: '.active',
+    BUTTON: '.btn'
+  };
+  var Event = {
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Button =
+  /*#__PURE__*/
+  function () {
+    function Button(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Button.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      var triggerChangeEvent = true;
+      var addAriaPressed = true;
+      var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+
+      if (rootElement) {
+        var input = $(this._element).find(Selector.INPUT)[0];
+
+        if (input) {
+          if (input.type === 'radio') {
+            if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+              triggerChangeEvent = false;
+            } else {
+              var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+
+              if (activeElement) {
+                $(activeElement).removeClass(ClassName.ACTIVE);
+              }
+            }
+          }
+
+          if (triggerChangeEvent) {
+            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+              return;
+            }
+
+            input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
+            $(input).trigger('change');
+          }
+
+          input.focus();
+          addAriaPressed = false;
+        }
+      }
+
+      if (addAriaPressed) {
+        this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+      }
+
+      if (triggerChangeEvent) {
+        $(this._element).toggleClass(ClassName.ACTIVE);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // static
+
+
+    Button._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        if (!data) {
+          data = new Button(this);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (config === 'toggle') {
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Button, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Button;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+    event.preventDefault();
+    var button = event.target;
+
+    if (!$(button).hasClass(ClassName.BUTTON)) {
+      button = $(button).closest(Selector.BUTTON);
+    }
+
+    Button._jQueryInterface.call($(button), 'toggle');
+  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+    var button = $(event.target).closest(Selector.BUTTON)[0];
+    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Button._jQueryInterface;
+  $.fn[NAME].Constructor = Button;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Button._jQueryInterface;
+  };
+
+  return Button;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Carousel = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'carousel';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.carousel';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 600;
+  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+  var Default = {
+    interval: 5000,
+    keyboard: true,
+    slide: false,
+    pause: 'hover',
+    wrap: true
+  };
+  var DefaultType = {
+    interval: '(number|boolean)',
+    keyboard: 'boolean',
+    slide: '(boolean|string)',
+    pause: '(string|boolean)',
+    wrap: 'boolean'
+  };
+  var Direction = {
+    NEXT: 'next',
+    PREV: 'prev',
+    LEFT: 'left',
+    RIGHT: 'right'
+  };
+  var Event = {
+    SLIDE: "slide" + EVENT_KEY,
+    SLID: "slid" + EVENT_KEY,
+    KEYDOWN: "keydown" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY,
+    TOUCHEND: "touchend" + EVENT_KEY,
+    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    CAROUSEL: 'carousel',
+    ACTIVE: 'active',
+    SLIDE: 'slide',
+    RIGHT: 'carousel-item-right',
+    LEFT: 'carousel-item-left',
+    NEXT: 'carousel-item-next',
+    PREV: 'carousel-item-prev',
+    ITEM: 'carousel-item'
+  };
+  var Selector = {
+    ACTIVE: '.active',
+    ACTIVE_ITEM: '.active.carousel-item',
+    ITEM: '.carousel-item',
+    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+    INDICATORS: '.carousel-indicators',
+    DATA_SLIDE: '[data-slide], [data-slide-to]',
+    DATA_RIDE: '[data-ride="carousel"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Carousel =
+  /*#__PURE__*/
+  function () {
+    function Carousel(element, config) {
+      this._items = null;
+      this._interval = null;
+      this._activeElement = null;
+      this._isPaused = false;
+      this._isSliding = false;
+      this.touchTimeout = null;
+      this._config = this._getConfig(config);
+      this._element = $(element)[0];
+      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+
+      this._addEventListeners();
+    } // getters
+
+
+    var _proto = Carousel.prototype;
+
+    // public
+    _proto.next = function next() {
+      if (!this._isSliding) {
+        this._slide(Direction.NEXT);
+      }
+    };
+
+    _proto.nextWhenVisible = function nextWhenVisible() {
+      // Don't call next when the page isn't visible
+      // or the carousel or its parent isn't visible
+      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
+        this.next();
+      }
+    };
+
+    _proto.prev = function prev() {
+      if (!this._isSliding) {
+        this._slide(Direction.PREV);
+      }
+    };
+
+    _proto.pause = function pause(event) {
+      if (!event) {
+        this._isPaused = true;
+      }
+
+      if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+        Util.triggerTransitionEnd(this._element);
+        this.cycle(true);
+      }
+
+      clearInterval(this._interval);
+      this._interval = null;
+    };
+
+    _proto.cycle = function cycle(event) {
+      if (!event) {
+        this._isPaused = false;
+      }
+
+      if (this._interval) {
+        clearInterval(this._interval);
+        this._interval = null;
+      }
+
+      if (this._config.interval && !this._isPaused) {
+        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+      }
+    };
+
+    _proto.to = function to(index) {
+      var _this = this;
+
+      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+      var activeIndex = this._getItemIndex(this._activeElement);
+
+      if (index > this._items.length - 1 || index < 0) {
+        return;
+      }
+
+      if (this._isSliding) {
+        $(this._element).one(Event.SLID, function () {
+          return _this.to(index);
+        });
+        return;
+      }
+
+      if (activeIndex === index) {
+        this.pause();
+        this.cycle();
+        return;
+      }
+
+      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+      this._slide(direction, this._items[index]);
+    };
+
+    _proto.dispose = function dispose() {
+      $(this._element).off(EVENT_KEY);
+      $.removeData(this._element, DATA_KEY);
+      this._items = null;
+      this._config = null;
+      this._element = null;
+      this._interval = null;
+      this._isPaused = null;
+      this._isSliding = null;
+      this._activeElement = null;
+      this._indicatorsElement = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this2 = this;
+
+      if (this._config.keyboard) {
+        $(this._element).on(Event.KEYDOWN, function (event) {
+          return _this2._keydown(event);
+        });
+      }
+
+      if (this._config.pause === 'hover') {
+        $(this._element).on(Event.MOUSEENTER, function (event) {
+          return _this2.pause(event);
+        }).on(Event.MOUSELEAVE, function (event) {
+          return _this2.cycle(event);
+        });
+
+        if ('ontouchstart' in document.documentElement) {
+          // if it's a touch-enabled device, mouseenter/leave are fired as
+          // part of the mouse compatibility events on first tap - the carousel
+          // would stop cycling until user tapped out of it;
+          // here, we listen for touchend, explicitly pause the carousel
+          // (as if it's the second time we tap on it, mouseenter compat event
+          // is NOT fired) and after a timeout (to allow for mouse compatibility
+          // events to fire) we explicitly restart cycling
+          $(this._element).on(Event.TOUCHEND, function () {
+            _this2.pause();
+
+            if (_this2.touchTimeout) {
+              clearTimeout(_this2.touchTimeout);
+            }
+
+            _this2.touchTimeout = setTimeout(function (event) {
+              return _this2.cycle(event);
+            }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+          });
+        }
+      }
+    };
+
+    _proto._keydown = function _keydown(event) {
+      if (/input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
+
+      switch (event.which) {
+        case ARROW_LEFT_KEYCODE:
+          event.preventDefault();
+          this.prev();
+          break;
+
+        case ARROW_RIGHT_KEYCODE:
+          event.preventDefault();
+          this.next();
+          break;
+
+        default:
+          return;
+      }
+    };
+
+    _proto._getItemIndex = function _getItemIndex(element) {
+      this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+      return this._items.indexOf(element);
+    };
+
+    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+      var isNextDirection = direction === Direction.NEXT;
+      var isPrevDirection = direction === Direction.PREV;
+
+      var activeIndex = this._getItemIndex(activeElement);
+
+      var lastItemIndex = this._items.length - 1;
+      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+      if (isGoingToWrap && !this._config.wrap) {
+        return activeElement;
+      }
+
+      var delta = direction === Direction.PREV ? -1 : 1;
+      var itemIndex = (activeIndex + delta) % this._items.length;
+      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+    };
+
+    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+      var targetIndex = this._getItemIndex(relatedTarget);
+
+      var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
+
+      var slideEvent = $.Event(Event.SLIDE, {
+        relatedTarget: relatedTarget,
+        direction: eventDirectionName,
+        from: fromIndex,
+        to: targetIndex
+      });
+      $(this._element).trigger(slideEvent);
+      return slideEvent;
+    };
+
+    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+      if (this._indicatorsElement) {
+        $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
+        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+        if (nextIndicator) {
+          $(nextIndicator).addClass(ClassName.ACTIVE);
+        }
+      }
+    };
+
+    _proto._slide = function _slide(direction, element) {
+      var _this3 = this;
+
+      var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+      var activeElementIndex = this._getItemIndex(activeElement);
+
+      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+      var nextElementIndex = this._getItemIndex(nextElement);
+
+      var isCycling = Boolean(this._interval);
+      var directionalClassName;
+      var orderClassName;
+      var eventDirectionName;
+
+      if (direction === Direction.NEXT) {
+        directionalClassName = ClassName.LEFT;
+        orderClassName = ClassName.NEXT;
+        eventDirectionName = Direction.LEFT;
+      } else {
+        directionalClassName = ClassName.RIGHT;
+        orderClassName = ClassName.PREV;
+        eventDirectionName = Direction.RIGHT;
+      }
+
+      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+        this._isSliding = false;
+        return;
+      }
+
+      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+
+      if (slideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (!activeElement || !nextElement) {
+        // some weirdness is happening, so we bail
+        return;
+      }
+
+      this._isSliding = true;
+
+      if (isCycling) {
+        this.pause();
+      }
+
+      this._setActiveIndicatorElement(nextElement);
+
+      var slidEvent = $.Event(Event.SLID, {
+        relatedTarget: nextElement,
+        direction: eventDirectionName,
+        from: activeElementIndex,
+        to: nextElementIndex
+      });
+
+      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+        $(nextElement).addClass(orderClassName);
+        Util.reflow(nextElement);
+        $(activeElement).addClass(directionalClassName);
+        $(nextElement).addClass(directionalClassName);
+        $(activeElement).one(Util.TRANSITION_END, function () {
+          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
+          $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+          _this3._isSliding = false;
+          setTimeout(function () {
+            return $(_this3._element).trigger(slidEvent);
+          }, 0);
+        }).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        $(activeElement).removeClass(ClassName.ACTIVE);
+        $(nextElement).addClass(ClassName.ACTIVE);
+        this._isSliding = false;
+        $(this._element).trigger(slidEvent);
+      }
+
+      if (isCycling) {
+        this.cycle();
+      }
+    }; // static
+
+
+    Carousel._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = $.extend({}, Default, $(this).data());
+
+        if (typeof config === 'object') {
+          $.extend(_config, config);
+        }
+
+        var action = typeof config === 'string' ? config : _config.slide;
+
+        if (!data) {
+          data = new Carousel(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'number') {
+          data.to(config);
+        } else if (typeof action === 'string') {
+          if (typeof data[action] === 'undefined') {
+            throw new Error("No method named \"" + action + "\"");
+          }
+
+          data[action]();
+        } else if (_config.interval) {
+          data.pause();
+          data.cycle();
+        }
+      });
+    };
+
+    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+      var selector = Util.getSelectorFromElement(this);
+
+      if (!selector) {
+        return;
+      }
+
+      var target = $(selector)[0];
+
+      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+        return;
+      }
+
+      var config = $.extend({}, $(target).data(), $(this).data());
+      var slideIndex = this.getAttribute('data-slide-to');
+
+      if (slideIndex) {
+        config.interval = false;
+      }
+
+      Carousel._jQueryInterface.call($(target), config);
+
+      if (slideIndex) {
+        $(target).data(DATA_KEY).to(slideIndex);
+      }
+
+      event.preventDefault();
+    };
+
+    createClass(Carousel, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Carousel;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+  $(window).on(Event.LOAD_DATA_API, function () {
+    $(Selector.DATA_RIDE).each(function () {
+      var $carousel = $(this);
+
+      Carousel._jQueryInterface.call($carousel, $carousel.data());
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Carousel._jQueryInterface;
+  $.fn[NAME].Constructor = Carousel;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Carousel._jQueryInterface;
+  };
+
+  return Carousel;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Collapse = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'collapse';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.collapse';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 600;
+  var Default = {
+    toggle: true,
+    parent: ''
+  };
+  var DefaultType = {
+    toggle: 'boolean',
+    parent: '(string|element)'
+  };
+  var Event = {
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    SHOW: 'show',
+    COLLAPSE: 'collapse',
+    COLLAPSING: 'collapsing',
+    COLLAPSED: 'collapsed'
+  };
+  var Dimension = {
+    WIDTH: 'width',
+    HEIGHT: 'height'
+  };
+  var Selector = {
+    ACTIVES: '.show, .collapsing',
+    DATA_TOGGLE: '[data-toggle="collapse"]'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Collapse =
+  /*#__PURE__*/
+  function () {
+    function Collapse(element, config) {
+      this._isTransitioning = false;
+      this._element = element;
+      this._config = this._getConfig(config);
+      this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+      var tabToggles = $(Selector.DATA_TOGGLE);
+
+      for (var i = 0; i < tabToggles.length; i++) {
+        var elem = tabToggles[i];
+        var selector = Util.getSelectorFromElement(elem);
+
+        if (selector !== null && $(selector).filter(element).length > 0) {
+          this._triggerArray.push(elem);
+        }
+      }
+
+      this._parent = this._config.parent ? this._getParent() : null;
+
+      if (!this._config.parent) {
+        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+      }
+
+      if (this._config.toggle) {
+        this.toggle();
+      }
+    } // getters
+
+
+    var _proto = Collapse.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      if ($(this._element).hasClass(ClassName.SHOW)) {
+        this.hide();
+      } else {
+        this.show();
+      }
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
+        return;
+      }
+
+      var actives;
+      var activesData;
+
+      if (this._parent) {
+        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
+
+        if (!actives.length) {
+          actives = null;
+        }
+      }
+
+      if (actives) {
+        activesData = $(actives).data(DATA_KEY);
+
+        if (activesData && activesData._isTransitioning) {
+          return;
+        }
+      }
+
+      var startEvent = $.Event(Event.SHOW);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (actives) {
+        Collapse._jQueryInterface.call($(actives), 'hide');
+
+        if (!activesData) {
+          $(actives).data(DATA_KEY, null);
+        }
+      }
+
+      var dimension = this._getDimension();
+
+      $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+      this._element.style[dimension] = 0;
+
+      if (this._triggerArray.length) {
+        $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+        _this._element.style[dimension] = '';
+
+        _this.setTransitioning(false);
+
+        $(_this._element).trigger(Event.SHOWN);
+      };
+
+      if (!Util.supportsTransitionEnd()) {
+        complete();
+        return;
+      }
+
+      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+      var scrollSize = "scroll" + capitalizedDimension;
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      this._element.style[dimension] = this._element[scrollSize] + "px";
+    };
+
+    _proto.hide = function hide() {
+      var _this2 = this;
+
+      if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
+        return;
+      }
+
+      var startEvent = $.Event(Event.HIDE);
+      $(this._element).trigger(startEvent);
+
+      if (startEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      var dimension = this._getDimension();
+
+      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+      Util.reflow(this._element);
+      $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
+      if (this._triggerArray.length) {
+        for (var i = 0; i < this._triggerArray.length; i++) {
+          var trigger = this._triggerArray[i];
+          var selector = Util.getSelectorFromElement(trigger);
+
+          if (selector !== null) {
+            var $elem = $(selector);
+
+            if (!$elem.hasClass(ClassName.SHOW)) {
+              $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+            }
+          }
+        }
+      }
+
+      this.setTransitioning(true);
+
+      var complete = function complete() {
+        _this2.setTransitioning(false);
+
+        $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+      };
+
+      this._element.style[dimension] = '';
+
+      if (!Util.supportsTransitionEnd()) {
+        complete();
+        return;
+      }
+
+      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+    };
+
+    _proto.setTransitioning = function setTransitioning(isTransitioning) {
+      this._isTransitioning = isTransitioning;
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._config = null;
+      this._parent = null;
+      this._element = null;
+      this._triggerArray = null;
+      this._isTransitioning = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      config.toggle = Boolean(config.toggle); // coerce string values
+
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._getDimension = function _getDimension() {
+      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+    };
+
+    _proto._getParent = function _getParent() {
+      var _this3 = this;
+
+      var parent = null;
+
+      if (Util.isElement(this._config.parent)) {
+        parent = this._config.parent; // it's a jQuery object
+
+        if (typeof this._config.parent.jquery !== 'undefined') {
+          parent = this._config.parent[0];
+        }
+      } else {
+        parent = $(this._config.parent)[0];
+      }
+
+      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+      $(parent).find(selector).each(function (i, element) {
+        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+      });
+      return parent;
+    };
+
+    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+      if (element) {
+        var isOpen = $(element).hasClass(ClassName.SHOW);
+
+        if (triggerArray.length) {
+          $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+        }
+      }
+    }; // static
+
+
+    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+      var selector = Util.getSelectorFromElement(element);
+      return selector ? $(selector)[0] : null;
+    };
+
+    Collapse._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY);
+
+        var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);
+
+        if (!data && _config.toggle && /show|hide/.test(config)) {
+          _config.toggle = false;
+        }
+
+        if (!data) {
+          data = new Collapse(this, _config);
+          $this.data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Collapse, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Collapse;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+    if (event.currentTarget.tagName === 'A') {
+      event.preventDefault();
+    }
+
+    var $trigger = $(this);
+    var selector = Util.getSelectorFromElement(this);
+    $(selector).each(function () {
+      var $target = $(this);
+      var data = $target.data(DATA_KEY);
+      var config = data ? 'toggle' : $trigger.data();
+
+      Collapse._jQueryInterface.call($target, config);
+    });
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Collapse._jQueryInterface;
+  $.fn[NAME].Constructor = Collapse;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Collapse._jQueryInterface;
+  };
+
+  return Collapse;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Dropdown = function () {
+  /**
+   * Check for Popper dependency
+   * Popper - https://popper.js.org
+   */
+  if (typeof Popper === 'undefined') {
+    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+  }
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+
+  var NAME = 'dropdown';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.dropdown';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+    KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
+    KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DISABLED: 'disabled',
+    SHOW: 'show',
+    DROPUP: 'dropup',
+    MENURIGHT: 'dropdown-menu-right',
+    MENULEFT: 'dropdown-menu-left'
+  };
+  var Selector = {
+    DATA_TOGGLE: '[data-toggle="dropdown"]',
+    FORM_CHILD: '.dropdown form',
+    MENU: '.dropdown-menu',
+    NAVBAR_NAV: '.navbar-nav',
+    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+  };
+  var AttachmentMap = {
+    TOP: 'top-start',
+    TOPEND: 'top-end',
+    BOTTOM: 'bottom-start',
+    BOTTOMEND: 'bottom-end'
+  };
+  var Default = {
+    offset: 0,
+    flip: true
+  };
+  var DefaultType = {
+    offset: '(number|string|function)',
+    flip: 'boolean'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Dropdown =
+  /*#__PURE__*/
+  function () {
+    function Dropdown(element, config) {
+      this._element = element;
+      this._popper = null;
+      this._config = this._getConfig(config);
+      this._menu = this._getMenuElement();
+      this._inNavbar = this._detectNavbar();
+
+      this._addEventListeners();
+    } // getters
+
+
+    var _proto = Dropdown.prototype;
+
+    // public
+    _proto.toggle = function toggle() {
+      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this._element);
+
+      var isActive = $(this._menu).hasClass(ClassName.SHOW);
+
+      Dropdown._clearMenus();
+
+      if (isActive) {
+        return;
+      }
+
+      var relatedTarget = {
+        relatedTarget: this._element
+      };
+      var showEvent = $.Event(Event.SHOW, relatedTarget);
+      $(parent).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      var element = this._element; // for dropup with alignment we use the parent as popper container
+
+      if ($(parent).hasClass(ClassName.DROPUP)) {
+        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+          element = parent;
+        }
+      }
+
+      this._popper = new Popper(element, this._menu, this._getPopperConfig()); // if this is a touch-enabled device we add extra
+      // empty mouseover listeners to the body's immediate children;
+      // only needed because of broken event delegation on iOS
+      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+      if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+        $('body').children().on('mouseover', null, $.noop);
+      }
+
+      this._element.focus();
+
+      this._element.setAttribute('aria-expanded', true);
+
+      $(this._menu).toggleClass(ClassName.SHOW);
+      $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(this._element).off(EVENT_KEY);
+      this._element = null;
+      this._menu = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+      }
+
+      this._popper = null;
+    };
+
+    _proto.update = function update() {
+      this._inNavbar = this._detectNavbar();
+
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    }; // private
+
+
+    _proto._addEventListeners = function _addEventListeners() {
+      var _this = this;
+
+      $(this._element).on(Event.CLICK, function (event) {
+        event.preventDefault();
+        event.stopPropagation();
+
+        _this.toggle();
+      });
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._getMenuElement = function _getMenuElement() {
+      if (!this._menu) {
+        var parent = Dropdown._getParentFromElement(this._element);
+
+        this._menu = $(parent).find(Selector.MENU)[0];
+      }
+
+      return this._menu;
+    };
+
+    _proto._getPlacement = function _getPlacement() {
+      var $parentDropdown = $(this._element).parent();
+      var placement = AttachmentMap.BOTTOM; // Handle dropup
+
+      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
+        placement = AttachmentMap.TOP;
+
+        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+          placement = AttachmentMap.TOPEND;
+        }
+      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+        placement = AttachmentMap.BOTTOMEND;
+      }
+
+      return placement;
+    };
+
+    _proto._detectNavbar = function _detectNavbar() {
+      return $(this._element).closest('.navbar').length > 0;
+    };
+
+    _proto._getPopperConfig = function _getPopperConfig() {
+      var _this2 = this;
+
+      var offsetConf = {};
+
+      if (typeof this._config.offset === 'function') {
+        offsetConf.fn = function (data) {
+          data.offsets = $.extend({}, data.offsets, _this2._config.offset(data.offsets) || {});
+          return data;
+        };
+      } else {
+        offsetConf.offset = this._config.offset;
+      }
+
+      var popperConfig = {
+        placement: this._getPlacement(),
+        modifiers: {
+          offset: offsetConf,
+          flip: {
+            enabled: this._config.flip
+          }
+        } // Disable Popper.js for Dropdown in Navbar
+
+      };
+
+      if (this._inNavbar) {
+        popperConfig.modifiers.applyStyle = {
+          enabled: !this._inNavbar
+        };
+      }
+
+      return popperConfig;
+    }; // static
+
+
+    Dropdown._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data) {
+          data = new Dropdown(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    Dropdown._clearMenus = function _clearMenus(event) {
+      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+        return;
+      }
+
+      var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+
+      for (var i = 0; i < toggles.length; i++) {
+        var parent = Dropdown._getParentFromElement(toggles[i]);
+
+        var context = $(toggles[i]).data(DATA_KEY);
+        var relatedTarget = {
+          relatedTarget: toggles[i]
+        };
+
+        if (!context) {
+          continue;
+        }
+
+        var dropdownMenu = context._menu;
+
+        if (!$(parent).hasClass(ClassName.SHOW)) {
+          continue;
+        }
+
+        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+          continue;
+        }
+
+        var hideEvent = $.Event(Event.HIDE, relatedTarget);
+        $(parent).trigger(hideEvent);
+
+        if (hideEvent.isDefaultPrevented()) {
+          continue;
+        } // if this is a touch-enabled device we remove the extra
+        // empty mouseover listeners we added for iOS support
+
+
+        if ('ontouchstart' in document.documentElement) {
+          $('body').children().off('mouseover', null, $.noop);
+        }
+
+        toggles[i].setAttribute('aria-expanded', 'false');
+        $(dropdownMenu).removeClass(ClassName.SHOW);
+        $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+      }
+    };
+
+    Dropdown._getParentFromElement = function _getParentFromElement(element) {
+      var parent;
+      var selector = Util.getSelectorFromElement(element);
+
+      if (selector) {
+        parent = $(selector)[0];
+      }
+
+      return parent || element.parentNode;
+    };
+
+    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
+        return;
+      }
+
+      event.preventDefault();
+      event.stopPropagation();
+
+      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var parent = Dropdown._getParentFromElement(this);
+
+      var isActive = $(parent).hasClass(ClassName.SHOW);
+
+      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+        if (event.which === ESCAPE_KEYCODE) {
+          var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
+          $(toggle).trigger('focus');
+        }
+
+        $(this).trigger('click');
+        return;
+      }
+
+      var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+
+      if (!items.length) {
+        return;
+      }
+
+      var index = items.indexOf(event.target);
+
+      if (event.which === ARROW_UP_KEYCODE && index > 0) {
+        // up
+        index--;
+      }
+
+      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+        // down
+        index++;
+      }
+
+      if (index < 0) {
+        index = 0;
+      }
+
+      items[index].focus();
+    };
+
+    createClass(Dropdown, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Dropdown;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+    event.stopPropagation();
+
+    Dropdown._jQueryInterface.call($(this), 'toggle');
+  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+    e.stopPropagation();
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Dropdown._jQueryInterface;
+  $.fn[NAME].Constructor = Dropdown;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Dropdown._jQueryInterface;
+  };
+
+  return Dropdown;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Modal = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'modal';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.modal';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 300;
+  var BACKDROP_TRANSITION_DURATION = 150;
+  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+  var Default = {
+    backdrop: true,
+    keyboard: true,
+    focus: true,
+    show: true
+  };
+  var DefaultType = {
+    backdrop: '(boolean|string)',
+    keyboard: 'boolean',
+    focus: 'boolean',
+    show: 'boolean'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    RESIZE: "resize" + EVENT_KEY,
+    CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
+    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
+    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
+    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+    BACKDROP: 'modal-backdrop',
+    OPEN: 'modal-open',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    DIALOG: '.modal-dialog',
+    DATA_TOGGLE: '[data-toggle="modal"]',
+    DATA_DISMISS: '[data-dismiss="modal"]',
+    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+    STICKY_CONTENT: '.sticky-top',
+    NAVBAR_TOGGLER: '.navbar-toggler'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Modal =
+  /*#__PURE__*/
+  function () {
+    function Modal(element, config) {
+      this._config = this._getConfig(config);
+      this._element = element;
+      this._dialog = $(element).find(Selector.DIALOG)[0];
+      this._backdrop = null;
+      this._isShown = false;
+      this._isBodyOverflowing = false;
+      this._ignoreBackdropClick = false;
+      this._originalBodyPadding = 0;
+      this._scrollbarWidth = 0;
+    } // getters
+
+
+    var _proto = Modal.prototype;
+
+    // public
+    _proto.toggle = function toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    };
+
+    _proto.show = function show(relatedTarget) {
+      var _this = this;
+
+      if (this._isTransitioning || this._isShown) {
+        return;
+      }
+
+      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+        this._isTransitioning = true;
+      }
+
+      var showEvent = $.Event(Event.SHOW, {
+        relatedTarget: relatedTarget
+      });
+      $(this._element).trigger(showEvent);
+
+      if (this._isShown || showEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = true;
+
+      this._checkScrollbar();
+
+      this._setScrollbar();
+
+      this._adjustDialog();
+
+      $(document.body).addClass(ClassName.OPEN);
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+        return _this.hide(event);
+      });
+      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+        $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+          if ($(event.target).is(_this._element)) {
+            _this._ignoreBackdropClick = true;
+          }
+        });
+      });
+
+      this._showBackdrop(function () {
+        return _this._showElement(relatedTarget);
+      });
+    };
+
+    _proto.hide = function hide(event) {
+      var _this2 = this;
+
+      if (event) {
+        event.preventDefault();
+      }
+
+      if (this._isTransitioning || !this._isShown) {
+        return;
+      }
+
+      var hideEvent = $.Event(Event.HIDE);
+      $(this._element).trigger(hideEvent);
+
+      if (!this._isShown || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      this._isShown = false;
+      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+      if (transition) {
+        this._isTransitioning = true;
+      }
+
+      this._setEscapeEvent();
+
+      this._setResizeEvent();
+
+      $(document).off(Event.FOCUSIN);
+      $(this._element).removeClass(ClassName.SHOW);
+      $(this._element).off(Event.CLICK_DISMISS);
+      $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
+      if (transition) {
+        $(this._element).one(Util.TRANSITION_END, function (event) {
+          return _this2._hideModal(event);
+        }).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        this._hideModal();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+      this._config = null;
+      this._element = null;
+      this._dialog = null;
+      this._backdrop = null;
+      this._isShown = null;
+      this._isBodyOverflowing = null;
+      this._ignoreBackdropClick = null;
+      this._scrollbarWidth = null;
+    };
+
+    _proto.handleUpdate = function handleUpdate() {
+      this._adjustDialog();
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._showElement = function _showElement(relatedTarget) {
+      var _this3 = this;
+
+      var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+        // don't move modals dom position
+        document.body.appendChild(this._element);
+      }
+
+      this._element.style.display = 'block';
+
+      this._element.removeAttribute('aria-hidden');
+
+      this._element.scrollTop = 0;
+
+      if (transition) {
+        Util.reflow(this._element);
+      }
+
+      $(this._element).addClass(ClassName.SHOW);
+
+      if (this._config.focus) {
+        this._enforceFocus();
+      }
+
+      var shownEvent = $.Event(Event.SHOWN, {
+        relatedTarget: relatedTarget
+      });
+
+      var transitionComplete = function transitionComplete() {
+        if (_this3._config.focus) {
+          _this3._element.focus();
+        }
+
+        _this3._isTransitioning = false;
+        $(_this3._element).trigger(shownEvent);
+      };
+
+      if (transition) {
+        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        transitionComplete();
+      }
+    };
+
+    _proto._enforceFocus = function _enforceFocus() {
+      var _this4 = this;
+
+      $(document).off(Event.FOCUSIN) // guard against infinite focus loop
+      .on(Event.FOCUSIN, function (event) {
+        if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) {
+          _this4._element.focus();
+        }
+      });
+    };
+
+    _proto._setEscapeEvent = function _setEscapeEvent() {
+      var _this5 = this;
+
+      if (this._isShown && this._config.keyboard) {
+        $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+          if (event.which === ESCAPE_KEYCODE) {
+            event.preventDefault();
+
+            _this5.hide();
+          }
+        });
+      } else if (!this._isShown) {
+        $(this._element).off(Event.KEYDOWN_DISMISS);
+      }
+    };
+
+    _proto._setResizeEvent = function _setResizeEvent() {
+      var _this6 = this;
+
+      if (this._isShown) {
+        $(window).on(Event.RESIZE, function (event) {
+          return _this6.handleUpdate(event);
+        });
+      } else {
+        $(window).off(Event.RESIZE);
+      }
+    };
+
+    _proto._hideModal = function _hideModal() {
+      var _this7 = this;
+
+      this._element.style.display = 'none';
+
+      this._element.setAttribute('aria-hidden', true);
+
+      this._isTransitioning = false;
+
+      this._showBackdrop(function () {
+        $(document.body).removeClass(ClassName.OPEN);
+
+        _this7._resetAdjustments();
+
+        _this7._resetScrollbar();
+
+        $(_this7._element).trigger(Event.HIDDEN);
+      });
+    };
+
+    _proto._removeBackdrop = function _removeBackdrop() {
+      if (this._backdrop) {
+        $(this._backdrop).remove();
+        this._backdrop = null;
+      }
+    };
+
+    _proto._showBackdrop = function _showBackdrop(callback) {
+      var _this8 = this;
+
+      var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
+      if (this._isShown && this._config.backdrop) {
+        var doAnimate = Util.supportsTransitionEnd() && animate;
+        this._backdrop = document.createElement('div');
+        this._backdrop.className = ClassName.BACKDROP;
+
+        if (animate) {
+          $(this._backdrop).addClass(animate);
+        }
+
+        $(this._backdrop).appendTo(document.body);
+        $(this._element).on(Event.CLICK_DISMISS, function (event) {
+          if (_this8._ignoreBackdropClick) {
+            _this8._ignoreBackdropClick = false;
+            return;
+          }
+
+          if (event.target !== event.currentTarget) {
+            return;
+          }
+
+          if (_this8._config.backdrop === 'static') {
+            _this8._element.focus();
+          } else {
+            _this8.hide();
+          }
+        });
+
+        if (doAnimate) {
+          Util.reflow(this._backdrop);
+        }
+
+        $(this._backdrop).addClass(ClassName.SHOW);
+
+        if (!callback) {
+          return;
+        }
+
+        if (!doAnimate) {
+          callback();
+          return;
+        }
+
+        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+      } else if (!this._isShown && this._backdrop) {
+        $(this._backdrop).removeClass(ClassName.SHOW);
+
+        var callbackRemove = function callbackRemove() {
+          _this8._removeBackdrop();
+
+          if (callback) {
+            callback();
+          }
+        };
+
+        if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+        } else {
+          callbackRemove();
+        }
+      } else if (callback) {
+        callback();
+      }
+    }; // ----------------------------------------------------------------------
+    // the following methods are used to handle overflowing modals
+    // todo (fat): these should probably be refactored out of modal.js
+    // ----------------------------------------------------------------------
+
+
+    _proto._adjustDialog = function _adjustDialog() {
+      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+      if (!this._isBodyOverflowing && isModalOverflowing) {
+        this._element.style.paddingLeft = this._scrollbarWidth + "px";
+      }
+
+      if (this._isBodyOverflowing && !isModalOverflowing) {
+        this._element.style.paddingRight = this._scrollbarWidth + "px";
+      }
+    };
+
+    _proto._resetAdjustments = function _resetAdjustments() {
+      this._element.style.paddingLeft = '';
+      this._element.style.paddingRight = '';
+    };
+
+    _proto._checkScrollbar = function _checkScrollbar() {
+      var rect = document.body.getBoundingClientRect();
+      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+      this._scrollbarWidth = this._getScrollbarWidth();
+    };
+
+    _proto._setScrollbar = function _setScrollbar() {
+      var _this9 = this;
+
+      if (this._isBodyOverflowing) {
+        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+        // Adjust fixed content padding
+        $(Selector.FIXED_CONTENT).each(function (index, element) {
+          var actualPadding = $(element)[0].style.paddingRight;
+          var calculatedPadding = $(element).css('padding-right');
+          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+        }); // Adjust sticky content margin
+
+        $(Selector.STICKY_CONTENT).each(function (index, element) {
+          var actualMargin = $(element)[0].style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+        }); // Adjust navbar-toggler margin
+
+        $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+          var actualMargin = $(element)[0].style.marginRight;
+          var calculatedMargin = $(element).css('margin-right');
+          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
+        }); // Adjust body padding
+
+        var actualPadding = document.body.style.paddingRight;
+        var calculatedPadding = $('body').css('padding-right');
+        $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+      }
+    };
+
+    _proto._resetScrollbar = function _resetScrollbar() {
+      // Restore fixed content padding
+      $(Selector.FIXED_CONTENT).each(function (index, element) {
+        var padding = $(element).data('padding-right');
+
+        if (typeof padding !== 'undefined') {
+          $(element).css('padding-right', padding).removeData('padding-right');
+        }
+      }); // Restore sticky content and navbar-toggler margin
+
+      $(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+        var margin = $(element).data('margin-right');
+
+        if (typeof margin !== 'undefined') {
+          $(element).css('margin-right', margin).removeData('margin-right');
+        }
+      }); // Restore body padding
+
+      var padding = $('body').data('padding-right');
+
+      if (typeof padding !== 'undefined') {
+        $('body').css('padding-right', padding).removeData('padding-right');
+      }
+    };
+
+    _proto._getScrollbarWidth = function _getScrollbarWidth() {
+      // thx d.walsh
+      var scrollDiv = document.createElement('div');
+      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+      document.body.appendChild(scrollDiv);
+      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+      document.body.removeChild(scrollDiv);
+      return scrollbarWidth;
+    }; // static
+
+
+    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config);
+
+        if (!data) {
+          data = new Modal(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config](relatedTarget);
+        } else if (_config.show) {
+          data.show(relatedTarget);
+        }
+      });
+    };
+
+    createClass(Modal, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return Modal;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    var _this10 = this;
+
+    var target;
+    var selector = Util.getSelectorFromElement(this);
+
+    if (selector) {
+      target = $(selector)[0];
+    }
+
+    var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
+
+    if (this.tagName === 'A' || this.tagName === 'AREA') {
+      event.preventDefault();
+    }
+
+    var $target = $(target).one(Event.SHOW, function (showEvent) {
+      if (showEvent.isDefaultPrevented()) {
+        // only register focus restorer if modal will actually get shown
+        return;
+      }
+
+      $target.one(Event.HIDDEN, function () {
+        if ($(_this10).is(':visible')) {
+          _this10.focus();
+        }
+      });
+    });
+
+    Modal._jQueryInterface.call($(target), config, this);
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Modal._jQueryInterface;
+  $.fn[NAME].Constructor = Modal;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Modal._jQueryInterface;
+  };
+
+  return Modal;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tooltip = function () {
+  /**
+   * Check for Popper dependency
+   * Popper - https://popper.js.org
+   */
+  if (typeof Popper === 'undefined') {
+    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+  }
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+
+
+  var NAME = 'tooltip';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.tooltip';
+  var EVENT_KEY = "." + DATA_KEY;
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var CLASS_PREFIX = 'bs-tooltip';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var DefaultType = {
+    animation: 'boolean',
+    template: 'string',
+    title: '(string|element|function)',
+    trigger: 'string',
+    delay: '(number|object)',
+    html: 'boolean',
+    selector: '(string|boolean)',
+    placement: '(string|function)',
+    offset: '(number|string)',
+    container: '(string|element|boolean)',
+    fallbackPlacement: '(string|array)'
+  };
+  var AttachmentMap = {
+    AUTO: 'auto',
+    TOP: 'top',
+    RIGHT: 'right',
+    BOTTOM: 'bottom',
+    LEFT: 'left'
+  };
+  var Default = {
+    animation: true,
+    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    selector: false,
+    placement: 'top',
+    offset: 0,
+    container: false,
+    fallbackPlacement: 'flip'
+  };
+  var HoverState = {
+    SHOW: 'show',
+    OUT: 'out'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    INSERTED: "inserted" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    FOCUSOUT: "focusout" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY
+  };
+  var ClassName = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    TOOLTIP: '.tooltip',
+    TOOLTIP_INNER: '.tooltip-inner',
+    ARROW: '.arrow'
+  };
+  var Trigger = {
+    HOVER: 'hover',
+    FOCUS: 'focus',
+    CLICK: 'click',
+    MANUAL: 'manual'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tooltip =
+  /*#__PURE__*/
+  function () {
+    function Tooltip(element, config) {
+      // private
+      this._isEnabled = true;
+      this._timeout = 0;
+      this._hoverState = '';
+      this._activeTrigger = {};
+      this._popper = null; // protected
+
+      this.element = element;
+      this.config = this._getConfig(config);
+      this.tip = null;
+
+      this._setListeners();
+    } // getters
+
+
+    var _proto = Tooltip.prototype;
+
+    // public
+    _proto.enable = function enable() {
+      this._isEnabled = true;
+    };
+
+    _proto.disable = function disable() {
+      this._isEnabled = false;
+    };
+
+    _proto.toggleEnabled = function toggleEnabled() {
+      this._isEnabled = !this._isEnabled;
+    };
+
+    _proto.toggle = function toggle(event) {
+      if (!this._isEnabled) {
+        return;
+      }
+
+      if (event) {
+        var dataKey = this.constructor.DATA_KEY;
+        var context = $(event.currentTarget).data(dataKey);
+
+        if (!context) {
+          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+          $(event.currentTarget).data(dataKey, context);
+        }
+
+        context._activeTrigger.click = !context._activeTrigger.click;
+
+        if (context._isWithActiveTrigger()) {
+          context._enter(null, context);
+        } else {
+          context._leave(null, context);
+        }
+      } else {
+        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+          this._leave(null, this);
+
+          return;
+        }
+
+        this._enter(null, this);
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      clearTimeout(this._timeout);
+      $.removeData(this.element, this.constructor.DATA_KEY);
+      $(this.element).off(this.constructor.EVENT_KEY);
+      $(this.element).closest('.modal').off('hide.bs.modal');
+
+      if (this.tip) {
+        $(this.tip).remove();
+      }
+
+      this._isEnabled = null;
+      this._timeout = null;
+      this._hoverState = null;
+      this._activeTrigger = null;
+
+      if (this._popper !== null) {
+        this._popper.destroy();
+      }
+
+      this._popper = null;
+      this.element = null;
+      this.config = null;
+      this.tip = null;
+    };
+
+    _proto.show = function show() {
+      var _this = this;
+
+      if ($(this.element).css('display') === 'none') {
+        throw new Error('Please use show on visible elements');
+      }
+
+      var showEvent = $.Event(this.constructor.Event.SHOW);
+
+      if (this.isWithContent() && this._isEnabled) {
+        $(this.element).trigger(showEvent);
+        var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+
+        if (showEvent.isDefaultPrevented() || !isInTheDom) {
+          return;
+        }
+
+        var tip = this.getTipElement();
+        var tipId = Util.getUID(this.constructor.NAME);
+        tip.setAttribute('id', tipId);
+        this.element.setAttribute('aria-describedby', tipId);
+        this.setContent();
+
+        if (this.config.animation) {
+          $(tip).addClass(ClassName.FADE);
+        }
+
+        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+        var attachment = this._getAttachment(placement);
+
+        this.addAttachmentClass(attachment);
+        var container = this.config.container === false ? document.body : $(this.config.container);
+        $(tip).data(this.constructor.DATA_KEY, this);
+
+        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+          $(tip).appendTo(container);
+        }
+
+        $(this.element).trigger(this.constructor.Event.INSERTED);
+        this._popper = new Popper(this.element, tip, {
+          placement: attachment,
+          modifiers: {
+            offset: {
+              offset: this.config.offset
+            },
+            flip: {
+              behavior: this.config.fallbackPlacement
+            },
+            arrow: {
+              element: Selector.ARROW
+            }
+          },
+          onCreate: function onCreate(data) {
+            if (data.originalPlacement !== data.placement) {
+              _this._handlePopperPlacementChange(data);
+            }
+          },
+          onUpdate: function onUpdate(data) {
+            _this._handlePopperPlacementChange(data);
+          }
+        });
+        $(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
+        // empty mouseover listeners to the body's immediate children;
+        // only needed because of broken event delegation on iOS
+        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+        if ('ontouchstart' in document.documentElement) {
+          $('body').children().on('mouseover', null, $.noop);
+        }
+
+        var complete = function complete() {
+          if (_this.config.animation) {
+            _this._fixTransition();
+          }
+
+          var prevHoverState = _this._hoverState;
+          _this._hoverState = null;
+          $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+          if (prevHoverState === HoverState.OUT) {
+            _this._leave(null, _this);
+          }
+        };
+
+        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+        } else {
+          complete();
+        }
+      }
+    };
+
+    _proto.hide = function hide(callback) {
+      var _this2 = this;
+
+      var tip = this.getTipElement();
+      var hideEvent = $.Event(this.constructor.Event.HIDE);
+
+      var complete = function complete() {
+        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+          tip.parentNode.removeChild(tip);
+        }
+
+        _this2._cleanTipClass();
+
+        _this2.element.removeAttribute('aria-describedby');
+
+        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+
+        if (_this2._popper !== null) {
+          _this2._popper.destroy();
+        }
+
+        if (callback) {
+          callback();
+        }
+      };
+
+      $(this.element).trigger(hideEvent);
+
+      if (hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
+      // empty mouseover listeners we added for iOS support
+
+      if ('ontouchstart' in document.documentElement) {
+        $('body').children().off('mouseover', null, $.noop);
+      }
+
+      this._activeTrigger[Trigger.CLICK] = false;
+      this._activeTrigger[Trigger.FOCUS] = false;
+      this._activeTrigger[Trigger.HOVER] = false;
+
+      if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        complete();
+      }
+
+      this._hoverState = '';
+    };
+
+    _proto.update = function update() {
+      if (this._popper !== null) {
+        this._popper.scheduleUpdate();
+      }
+    }; // protected
+
+
+    _proto.isWithContent = function isWithContent() {
+      return Boolean(this.getTitle());
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement());
+      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+    };
+
+    _proto.setElementContent = function setElementContent($element, content) {
+      var html = this.config.html;
+
+      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+        // content is a DOM node or a jQuery
+        if (html) {
+          if (!$(content).parent().is($element)) {
+            $element.empty().append(content);
+          }
+        } else {
+          $element.text($(content).text());
+        }
+      } else {
+        $element[html ? 'html' : 'text'](content);
+      }
+    };
+
+    _proto.getTitle = function getTitle() {
+      var title = this.element.getAttribute('data-original-title');
+
+      if (!title) {
+        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+      }
+
+      return title;
+    }; // private
+
+
+    _proto._getAttachment = function _getAttachment(placement) {
+      return AttachmentMap[placement.toUpperCase()];
+    };
+
+    _proto._setListeners = function _setListeners() {
+      var _this3 = this;
+
+      var triggers = this.config.trigger.split(' ');
+      triggers.forEach(function (trigger) {
+        if (trigger === 'click') {
+          $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+            return _this3.toggle(event);
+          });
+        } else if (trigger !== Trigger.MANUAL) {
+          var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+          var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+          $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+            return _this3._enter(event);
+          }).on(eventOut, _this3.config.selector, function (event) {
+            return _this3._leave(event);
+          });
+        }
+
+        $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+          return _this3.hide();
+        });
+      });
+
+      if (this.config.selector) {
+        this.config = $.extend({}, this.config, {
+          trigger: 'manual',
+          selector: ''
+        });
+      } else {
+        this._fixTitle();
+      }
+    };
+
+    _proto._fixTitle = function _fixTitle() {
+      var titleType = typeof this.element.getAttribute('data-original-title');
+
+      if (this.element.getAttribute('title') || titleType !== 'string') {
+        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+        this.element.setAttribute('title', '');
+      }
+    };
+
+    _proto._enter = function _enter(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+      }
+
+      if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+        context._hoverState = HoverState.SHOW;
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.SHOW;
+
+      if (!context.config.delay || !context.config.delay.show) {
+        context.show();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.SHOW) {
+          context.show();
+        }
+      }, context.config.delay.show);
+    };
+
+    _proto._leave = function _leave(event, context) {
+      var dataKey = this.constructor.DATA_KEY;
+      context = context || $(event.currentTarget).data(dataKey);
+
+      if (!context) {
+        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+        $(event.currentTarget).data(dataKey, context);
+      }
+
+      if (event) {
+        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+      }
+
+      if (context._isWithActiveTrigger()) {
+        return;
+      }
+
+      clearTimeout(context._timeout);
+      context._hoverState = HoverState.OUT;
+
+      if (!context.config.delay || !context.config.delay.hide) {
+        context.hide();
+        return;
+      }
+
+      context._timeout = setTimeout(function () {
+        if (context._hoverState === HoverState.OUT) {
+          context.hide();
+        }
+      }, context.config.delay.hide);
+    };
+
+    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+      for (var trigger in this._activeTrigger) {
+        if (this._activeTrigger[trigger]) {
+          return true;
+        }
+      }
+
+      return false;
+    };
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
+      if (typeof config.delay === 'number') {
+        config.delay = {
+          show: config.delay,
+          hide: config.delay
+        };
+      }
+
+      if (typeof config.title === 'number') {
+        config.title = config.title.toString();
+      }
+
+      if (typeof config.content === 'number') {
+        config.content = config.content.toString();
+      }
+
+      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+      return config;
+    };
+
+    _proto._getDelegateConfig = function _getDelegateConfig() {
+      var config = {};
+
+      if (this.config) {
+        for (var key in this.config) {
+          if (this.constructor.Default[key] !== this.config[key]) {
+            config[key] = this.config[key];
+          }
+        }
+      }
+
+      return config;
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    };
+
+    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+      this._cleanTipClass();
+
+      this.addAttachmentClass(this._getAttachment(data.placement));
+    };
+
+    _proto._fixTransition = function _fixTransition() {
+      var tip = this.getTipElement();
+      var initConfigAnimation = this.config.animation;
+
+      if (tip.getAttribute('x-placement') !== null) {
+        return;
+      }
+
+      $(tip).removeClass(ClassName.FADE);
+      this.config.animation = false;
+      this.hide();
+      this.show();
+      this.config.animation = initConfigAnimation;
+    }; // static
+
+
+    Tooltip._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data && /dispose|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Tooltip(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Tooltip, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Tooltip;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME] = Tooltip._jQueryInterface;
+  $.fn[NAME].Constructor = Tooltip;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Tooltip._jQueryInterface;
+  };
+
+  return Tooltip;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Popover = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'popover';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.popover';
+  var EVENT_KEY = "." + DATA_KEY;
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var CLASS_PREFIX = 'bs-popover';
+  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+  var Default = $.extend({}, Tooltip.Default, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+  });
+  var DefaultType = $.extend({}, Tooltip.DefaultType, {
+    content: '(string|element|function)'
+  });
+  var ClassName = {
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    TITLE: '.popover-header',
+    CONTENT: '.popover-body'
+  };
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    INSERTED: "inserted" + EVENT_KEY,
+    CLICK: "click" + EVENT_KEY,
+    FOCUSIN: "focusin" + EVENT_KEY,
+    FOCUSOUT: "focusout" + EVENT_KEY,
+    MOUSEENTER: "mouseenter" + EVENT_KEY,
+    MOUSELEAVE: "mouseleave" + EVENT_KEY
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Popover =
+  /*#__PURE__*/
+  function (_Tooltip) {
+    inheritsLoose(Popover, _Tooltip);
+
+    function Popover() {
+      return _Tooltip.apply(this, arguments) || this;
+    }
+
+    var _proto = Popover.prototype;
+
+    // overrides
+    _proto.isWithContent = function isWithContent() {
+      return this.getTitle() || this._getContent();
+    };
+
+    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+    };
+
+    _proto.getTipElement = function getTipElement() {
+      this.tip = this.tip || $(this.config.template)[0];
+      return this.tip;
+    };
+
+    _proto.setContent = function setContent() {
+      var $tip = $(this.getTipElement()); // we use append for html objects to maintain js events
+
+      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+      this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+    }; // private
+
+
+    _proto._getContent = function _getContent() {
+      return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+    };
+
+    _proto._cleanTipClass = function _cleanTipClass() {
+      var $tip = $(this.getTipElement());
+      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+      if (tabClass !== null && tabClass.length > 0) {
+        $tip.removeClass(tabClass.join(''));
+      }
+    }; // static
+
+
+    Popover._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' ? config : null;
+
+        if (!data && /destroy|hide/.test(config)) {
+          return;
+        }
+
+        if (!data) {
+          data = new Popover(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Popover, null, [{
+      key: "VERSION",
+      // getters
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }, {
+      key: "NAME",
+      get: function get() {
+        return NAME;
+      }
+    }, {
+      key: "DATA_KEY",
+      get: function get() {
+        return DATA_KEY;
+      }
+    }, {
+      key: "Event",
+      get: function get() {
+        return Event;
+      }
+    }, {
+      key: "EVENT_KEY",
+      get: function get() {
+        return EVENT_KEY;
+      }
+    }, {
+      key: "DefaultType",
+      get: function get() {
+        return DefaultType;
+      }
+    }]);
+    return Popover;
+  }(Tooltip);
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+
+  $.fn[NAME] = Popover._jQueryInterface;
+  $.fn[NAME].Constructor = Popover;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Popover._jQueryInterface;
+  };
+
+  return Popover;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var ScrollSpy = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'scrollspy';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.scrollspy';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var Default = {
+    offset: 10,
+    method: 'auto',
+    target: ''
+  };
+  var DefaultType = {
+    offset: 'number',
+    method: 'string',
+    target: '(string|element)'
+  };
+  var Event = {
+    ACTIVATE: "activate" + EVENT_KEY,
+    SCROLL: "scroll" + EVENT_KEY,
+    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DROPDOWN_ITEM: 'dropdown-item',
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active'
+  };
+  var Selector = {
+    DATA_SPY: '[data-spy="scroll"]',
+    ACTIVE: '.active',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    NAV_LINKS: '.nav-link',
+    NAV_ITEMS: '.nav-item',
+    LIST_ITEMS: '.list-group-item',
+    DROPDOWN: '.dropdown',
+    DROPDOWN_ITEMS: '.dropdown-item',
+    DROPDOWN_TOGGLE: '.dropdown-toggle'
+  };
+  var OffsetMethod = {
+    OFFSET: 'offset',
+    POSITION: 'position'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var ScrollSpy =
+  /*#__PURE__*/
+  function () {
+    function ScrollSpy(element, config) {
+      var _this = this;
+
+      this._element = element;
+      this._scrollElement = element.tagName === 'BODY' ? window : element;
+      this._config = this._getConfig(config);
+      this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
+      this._offsets = [];
+      this._targets = [];
+      this._activeTarget = null;
+      this._scrollHeight = 0;
+      $(this._scrollElement).on(Event.SCROLL, function (event) {
+        return _this._process(event);
+      });
+      this.refresh();
+
+      this._process();
+    } // getters
+
+
+    var _proto = ScrollSpy.prototype;
+
+    // public
+    _proto.refresh = function refresh() {
+      var _this2 = this;
+
+      var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+      this._offsets = [];
+      this._targets = [];
+      this._scrollHeight = this._getScrollHeight();
+      var targets = $.makeArray($(this._selector));
+      targets.map(function (element) {
+        var target;
+        var targetSelector = Util.getSelectorFromElement(element);
+
+        if (targetSelector) {
+          target = $(targetSelector)[0];
+        }
+
+        if (target) {
+          var targetBCR = target.getBoundingClientRect();
+
+          if (targetBCR.width || targetBCR.height) {
+            // todo (fat): remove sketch reliance on jQuery position/offset
+            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+          }
+        }
+
+        return null;
+      }).filter(function (item) {
+        return item;
+      }).sort(function (a, b) {
+        return a[0] - b[0];
+      }).forEach(function (item) {
+        _this2._offsets.push(item[0]);
+
+        _this2._targets.push(item[1]);
+      });
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      $(this._scrollElement).off(EVENT_KEY);
+      this._element = null;
+      this._scrollElement = null;
+      this._config = null;
+      this._selector = null;
+      this._offsets = null;
+      this._targets = null;
+      this._activeTarget = null;
+      this._scrollHeight = null;
+    }; // private
+
+
+    _proto._getConfig = function _getConfig(config) {
+      config = $.extend({}, Default, config);
+
+      if (typeof config.target !== 'string') {
+        var id = $(config.target).attr('id');
+
+        if (!id) {
+          id = Util.getUID(NAME);
+          $(config.target).attr('id', id);
+        }
+
+        config.target = "#" + id;
+      }
+
+      Util.typeCheckConfig(NAME, config, DefaultType);
+      return config;
+    };
+
+    _proto._getScrollTop = function _getScrollTop() {
+      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+    };
+
+    _proto._getScrollHeight = function _getScrollHeight() {
+      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+    };
+
+    _proto._getOffsetHeight = function _getOffsetHeight() {
+      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+    };
+
+    _proto._process = function _process() {
+      var scrollTop = this._getScrollTop() + this._config.offset;
+
+      var scrollHeight = this._getScrollHeight();
+
+      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+      if (this._scrollHeight !== scrollHeight) {
+        this.refresh();
+      }
+
+      if (scrollTop >= maxScroll) {
+        var target = this._targets[this._targets.length - 1];
+
+        if (this._activeTarget !== target) {
+          this._activate(target);
+        }
+
+        return;
+      }
+
+      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+        this._activeTarget = null;
+
+        this._clear();
+
+        return;
+      }
+
+      for (var i = this._offsets.length; i--;) {
+        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+
+        if (isActiveTarget) {
+          this._activate(this._targets[i]);
+        }
+      }
+    };
+
+    _proto._activate = function _activate(target) {
+      this._activeTarget = target;
+
+      this._clear();
+
+      var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
+
+
+      queries = queries.map(function (selector) {
+        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
+      });
+      var $link = $(queries.join(','));
+
+      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+        $link.addClass(ClassName.ACTIVE);
+      } else {
+        // Set triggered link as active
+        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+
+        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+
+        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+      }
+
+      $(this._scrollElement).trigger(Event.ACTIVATE, {
+        relatedTarget: target
+      });
+    };
+
+    _proto._clear = function _clear() {
+      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+    }; // static
+
+
+    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var data = $(this).data(DATA_KEY);
+
+        var _config = typeof config === 'object' && config;
+
+        if (!data) {
+          data = new ScrollSpy(this, _config);
+          $(this).data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(ScrollSpy, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }, {
+      key: "Default",
+      get: function get() {
+        return Default;
+      }
+    }]);
+    return ScrollSpy;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(window).on(Event.LOAD_DATA_API, function () {
+    var scrollSpys = $.makeArray($(Selector.DATA_SPY));
+
+    for (var i = scrollSpys.length; i--;) {
+      var $spy = $(scrollSpys[i]);
+
+      ScrollSpy._jQueryInterface.call($spy, $spy.data());
+    }
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = ScrollSpy._jQueryInterface;
+  $.fn[NAME].Constructor = ScrollSpy;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return ScrollSpy._jQueryInterface;
+  };
+
+  return ScrollSpy;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-beta.2): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tab = function () {
+  /**
+   * ------------------------------------------------------------------------
+   * Constants
+   * ------------------------------------------------------------------------
+   */
+  var NAME = 'tab';
+  var VERSION = '4.0.0-beta.2';
+  var DATA_KEY = 'bs.tab';
+  var EVENT_KEY = "." + DATA_KEY;
+  var DATA_API_KEY = '.data-api';
+  var JQUERY_NO_CONFLICT = $.fn[NAME];
+  var TRANSITION_DURATION = 150;
+  var Event = {
+    HIDE: "hide" + EVENT_KEY,
+    HIDDEN: "hidden" + EVENT_KEY,
+    SHOW: "show" + EVENT_KEY,
+    SHOWN: "shown" + EVENT_KEY,
+    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+  };
+  var ClassName = {
+    DROPDOWN_MENU: 'dropdown-menu',
+    ACTIVE: 'active',
+    DISABLED: 'disabled',
+    FADE: 'fade',
+    SHOW: 'show'
+  };
+  var Selector = {
+    DROPDOWN: '.dropdown',
+    NAV_LIST_GROUP: '.nav, .list-group',
+    ACTIVE: '.active',
+    ACTIVE_UL: '> li > .active',
+    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+    DROPDOWN_TOGGLE: '.dropdown-toggle',
+    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+    /**
+     * ------------------------------------------------------------------------
+     * Class Definition
+     * ------------------------------------------------------------------------
+     */
+
+  };
+
+  var Tab =
+  /*#__PURE__*/
+  function () {
+    function Tab(element) {
+      this._element = element;
+    } // getters
+
+
+    var _proto = Tab.prototype;
+
+    // public
+    _proto.show = function show() {
+      var _this = this;
+
+      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+        return;
+      }
+
+      var target;
+      var previous;
+      var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+      var selector = Util.getSelectorFromElement(this._element);
+
+      if (listElement) {
+        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+        previous = $.makeArray($(listElement).find(itemSelector));
+        previous = previous[previous.length - 1];
+      }
+
+      var hideEvent = $.Event(Event.HIDE, {
+        relatedTarget: this._element
+      });
+      var showEvent = $.Event(Event.SHOW, {
+        relatedTarget: previous
+      });
+
+      if (previous) {
+        $(previous).trigger(hideEvent);
+      }
+
+      $(this._element).trigger(showEvent);
+
+      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+        return;
+      }
+
+      if (selector) {
+        target = $(selector)[0];
+      }
+
+      this._activate(this._element, listElement);
+
+      var complete = function complete() {
+        var hiddenEvent = $.Event(Event.HIDDEN, {
+          relatedTarget: _this._element
+        });
+        var shownEvent = $.Event(Event.SHOWN, {
+          relatedTarget: previous
+        });
+        $(previous).trigger(hiddenEvent);
+        $(_this._element).trigger(shownEvent);
+      };
+
+      if (target) {
+        this._activate(target, target.parentNode, complete);
+      } else {
+        complete();
+      }
+    };
+
+    _proto.dispose = function dispose() {
+      $.removeData(this._element, DATA_KEY);
+      this._element = null;
+    }; // private
+
+
+    _proto._activate = function _activate(element, container, callback) {
+      var _this2 = this;
+
+      var activeElements;
+
+      if (container.nodeName === 'UL') {
+        activeElements = $(container).find(Selector.ACTIVE_UL);
+      } else {
+        activeElements = $(container).children(Selector.ACTIVE);
+      }
+
+      var active = activeElements[0];
+      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+
+      var complete = function complete() {
+        return _this2._transitionComplete(element, active, isTransitioning, callback);
+      };
+
+      if (active && isTransitioning) {
+        $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+      } else {
+        complete();
+      }
+
+      if (active) {
+        $(active).removeClass(ClassName.SHOW);
+      }
+    };
+
+    _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
+      if (active) {
+        $(active).removeClass(ClassName.ACTIVE);
+        var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
+        if (dropdownChild) {
+          $(dropdownChild).removeClass(ClassName.ACTIVE);
+        }
+
+        if (active.getAttribute('role') === 'tab') {
+          active.setAttribute('aria-selected', false);
+        }
+      }
+
+      $(element).addClass(ClassName.ACTIVE);
+
+      if (element.getAttribute('role') === 'tab') {
+        element.setAttribute('aria-selected', true);
+      }
+
+      if (isTransitioning) {
+        Util.reflow(element);
+        $(element).addClass(ClassName.SHOW);
+      } else {
+        $(element).removeClass(ClassName.FADE);
+      }
+
+      if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+        var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+
+        if (dropdownElement) {
+          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+        }
+
+        element.setAttribute('aria-expanded', true);
+      }
+
+      if (callback) {
+        callback();
+      }
+    }; // static
+
+
+    Tab._jQueryInterface = function _jQueryInterface(config) {
+      return this.each(function () {
+        var $this = $(this);
+        var data = $this.data(DATA_KEY);
+
+        if (!data) {
+          data = new Tab(this);
+          $this.data(DATA_KEY, data);
+        }
+
+        if (typeof config === 'string') {
+          if (typeof data[config] === 'undefined') {
+            throw new Error("No method named \"" + config + "\"");
+          }
+
+          data[config]();
+        }
+      });
+    };
+
+    createClass(Tab, null, [{
+      key: "VERSION",
+      get: function get() {
+        return VERSION;
+      }
+    }]);
+    return Tab;
+  }();
+  /**
+   * ------------------------------------------------------------------------
+   * Data Api implementation
+   * ------------------------------------------------------------------------
+   */
+
+
+  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+    event.preventDefault();
+
+    Tab._jQueryInterface.call($(this), 'show');
+  });
+  /**
+   * ------------------------------------------------------------------------
+   * jQuery
+   * ------------------------------------------------------------------------
+   */
+
+  $.fn[NAME] = Tab._jQueryInterface;
+  $.fn[NAME].Constructor = Tab;
+
+  $.fn[NAME].noConflict = function () {
+    $.fn[NAME] = JQUERY_NO_CONFLICT;
+    return Tab._jQueryInterface;
+  };
+
+  return Tab;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+(function () {
+  if (typeof $ === 'undefined') {
+    throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+  }
+
+  var version = $.fn.jquery.split(' ')[0].split('.');
+  var minMajor = 1;
+  var ltMajor = 2;
+  var minMinor = 9;
+  var minPatch = 1;
+  var maxMajor = 4;
+
+  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+  }
+})($);
+
+exports.Util = Util;
+exports.Alert = Alert;
+exports.Button = Button;
+exports.Carousel = Carousel;
+exports.Collapse = Collapse;
+exports.Dropdown = Dropdown;
+exports.Modal = Modal;
+exports.Popover = Popover;
+exports.Scrollspy = ScrollSpy;
+exports.Tab = Tab;
+exports.Tooltip = Tooltip;
+
+return exports;
+
+}({},$,Popper));
+//# sourceMappingURL=bootstrap.js.map
diff --git a/workspace/public/js/bootstrap.js.map b/workspace/public/js/bootstrap.js.map
new file mode 100644
index 0000000..ee14a1d
--- /dev/null
+++ b/workspace/public/js/bootstrap.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Private TransitionEnd Helpers\n   * ------------------------------------------------------------------------\n   */\n\n  let transition = false\n\n  const MAX_UID = 1000000\n\n  const TransitionEndEvent = {\n    WebkitTransition : 'webkitTransitionEnd',\n    MozTransition    : 'transitionend',\n    OTransition      : 'oTransitionEnd otransitionend',\n    transition       : 'transitionend'\n  }\n\n  // shoutout AngusCroll (https://goo.gl/pxwQGp)\n  function toType(obj) {\n    return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n  }\n\n  function getSpecialTransitionEndEvent() {\n    return {\n      bindType: transition.end,\n      delegateType: transition.end,\n      handle(event) {\n        if ($(event.target).is(this)) {\n          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n        }\n        return undefined // eslint-disable-line no-undefined\n      }\n    }\n  }\n\n  function transitionEndTest() {\n    if (window.QUnit) {\n      return false\n    }\n\n    const el = document.createElement('bootstrap')\n\n    for (const name in TransitionEndEvent) {\n      if (typeof el.style[name] !== 'undefined') {\n        return {\n          end: TransitionEndEvent[name]\n        }\n      }\n    }\n\n    return false\n  }\n\n  function transitionEndEmulator(duration) {\n    let called = false\n\n    $(this).one(Util.TRANSITION_END, () => {\n      called = true\n    })\n\n    setTimeout(() => {\n      if (!called) {\n        Util.triggerTransitionEnd(this)\n      }\n    }, duration)\n\n    return this\n  }\n\n  function setTransitionEndSupport() {\n    transition = transitionEndTest()\n\n    $.fn.emulateTransitionEnd = transitionEndEmulator\n\n    if (Util.supportsTransitionEnd()) {\n      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n    }\n  }\n\n\n  /**\n   * --------------------------------------------------------------------------\n   * Public Util Api\n   * --------------------------------------------------------------------------\n   */\n\n  const Util = {\n\n    TRANSITION_END: 'bsTransitionEnd',\n\n    getUID(prefix) {\n      do {\n        // eslint-disable-next-line no-bitwise\n        prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n      } while (document.getElementById(prefix))\n      return prefix\n    },\n\n    getSelectorFromElement(element) {\n      let selector = element.getAttribute('data-target')\n      if (!selector || selector === '#') {\n        selector = element.getAttribute('href') || ''\n      }\n\n      try {\n        const $selector = $(document).find(selector)\n        return $selector.length > 0 ? selector : null\n      } catch (error) {\n        return null\n      }\n    },\n\n    reflow(element) {\n      return element.offsetHeight\n    },\n\n    triggerTransitionEnd(element) {\n      $(element).trigger(transition.end)\n    },\n\n    supportsTransitionEnd() {\n      return Boolean(transition)\n    },\n\n    isElement(obj) {\n      return (obj[0] || obj).nodeType\n    },\n\n    typeCheckConfig(componentName, config, configTypes) {\n      for (const property in configTypes) {\n        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n          const expectedTypes = configTypes[property]\n          const value         = config[property]\n          const valueType     = value && Util.isElement(value) ?\n                                'element' : toType(value)\n\n          if (!new RegExp(expectedTypes).test(valueType)) {\n            throw new Error(\n              `${componentName.toUpperCase()}: ` +\n              `Option \"${property}\" provided type \"${valueType}\" ` +\n              `but expected type \"${expectedTypes}\".`)\n          }\n        }\n      }\n    }\n  }\n\n  setTransitionEndSupport()\n\n  return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'alert'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.alert'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Selector = {\n    DISMISS : '[data-dismiss=\"alert\"]'\n  }\n\n  const Event = {\n    CLOSE          : `close${EVENT_KEY}`,\n    CLOSED         : `closed${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    ALERT : 'alert',\n    FADE  : 'fade',\n    SHOW  : 'show'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Alert {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    close(element) {\n      element = element || this._element\n\n      const rootElement = this._getRootElement(element)\n      const customEvent = this._triggerCloseEvent(rootElement)\n\n      if (customEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._removeElement(rootElement)\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _getRootElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      let parent     = false\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      if (!parent) {\n        parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n      }\n\n      return parent\n    }\n\n    _triggerCloseEvent(element) {\n      const closeEvent = $.Event(Event.CLOSE)\n\n      $(element).trigger(closeEvent)\n      return closeEvent\n    }\n\n    _removeElement(element) {\n      $(element).removeClass(ClassName.SHOW)\n\n      if (!Util.supportsTransitionEnd() ||\n          !$(element).hasClass(ClassName.FADE)) {\n        this._destroyElement(element)\n        return\n      }\n\n      $(element)\n        .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    _destroyElement(element) {\n      $(element)\n        .detach()\n        .trigger(Event.CLOSED)\n        .remove()\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $element = $(this)\n        let data       = $element.data(DATA_KEY)\n\n        if (!data) {\n          data = new Alert(this)\n          $element.data(DATA_KEY, data)\n        }\n\n        if (config === 'close') {\n          data[config](this)\n        }\n      })\n    }\n\n    static _handleDismiss(alertInstance) {\n      return function (event) {\n        if (event) {\n          event.preventDefault()\n        }\n\n        alertInstance.close(this)\n      }\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(\n    Event.CLICK_DATA_API,\n    Selector.DISMISS,\n    Alert._handleDismiss(new Alert())\n  )\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Alert._jQueryInterface\n  $.fn[NAME].Constructor = Alert\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Alert._jQueryInterface\n  }\n\n  return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'button'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.button'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n\n  const ClassName = {\n    ACTIVE : 'active',\n    BUTTON : 'btn',\n    FOCUS  : 'focus'\n  }\n\n  const Selector = {\n    DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n    DATA_TOGGLE        : '[data-toggle=\"buttons\"]',\n    INPUT              : 'input',\n    ACTIVE             : '.active',\n    BUTTON             : '.btn'\n  }\n\n  const Event = {\n    CLICK_DATA_API      : `click${EVENT_KEY}${DATA_API_KEY}`,\n    FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n                        + `blur${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Button {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    toggle() {\n      let triggerChangeEvent = true\n      let addAriaPressed = true\n      const rootElement      = $(this._element).closest(\n        Selector.DATA_TOGGLE\n      )[0]\n\n      if (rootElement) {\n        const input = $(this._element).find(Selector.INPUT)[0]\n\n        if (input) {\n          if (input.type === 'radio') {\n            if (input.checked &&\n              $(this._element).hasClass(ClassName.ACTIVE)) {\n              triggerChangeEvent = false\n\n            } else {\n              const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n              if (activeElement) {\n                $(activeElement).removeClass(ClassName.ACTIVE)\n              }\n            }\n          }\n\n          if (triggerChangeEvent) {\n            if (input.hasAttribute('disabled') ||\n              rootElement.hasAttribute('disabled') ||\n              input.classList.contains('disabled') ||\n              rootElement.classList.contains('disabled')) {\n              return\n            }\n            input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n            $(input).trigger('change')\n          }\n\n          input.focus()\n          addAriaPressed = false\n        }\n\n      }\n\n      if (addAriaPressed) {\n        this._element.setAttribute('aria-pressed',\n          !$(this._element).hasClass(ClassName.ACTIVE))\n      }\n\n      if (triggerChangeEvent) {\n        $(this._element).toggleClass(ClassName.ACTIVE)\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n\n        if (!data) {\n          data = new Button(this)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (config === 'toggle') {\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      event.preventDefault()\n\n      let button = event.target\n\n      if (!$(button).hasClass(ClassName.BUTTON)) {\n        button = $(button).closest(Selector.BUTTON)\n      }\n\n      Button._jQueryInterface.call($(button), 'toggle')\n    })\n    .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      const button = $(event.target).closest(Selector.BUTTON)[0]\n      $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Button._jQueryInterface\n  $.fn[NAME].Constructor = Button\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Button._jQueryInterface\n  }\n\n  return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                   = 'carousel'\n  const VERSION                = '4.0.0-beta.2'\n  const DATA_KEY               = 'bs.carousel'\n  const EVENT_KEY              = `.${DATA_KEY}`\n  const DATA_API_KEY           = '.data-api'\n  const JQUERY_NO_CONFLICT     = $.fn[NAME]\n  const TRANSITION_DURATION    = 600\n  const ARROW_LEFT_KEYCODE     = 37 // KeyboardEvent.which value for left arrow key\n  const ARROW_RIGHT_KEYCODE    = 39 // KeyboardEvent.which value for right arrow key\n  const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n  const Default = {\n    interval : 5000,\n    keyboard : true,\n    slide    : false,\n    pause    : 'hover',\n    wrap     : true\n  }\n\n  const DefaultType = {\n    interval : '(number|boolean)',\n    keyboard : 'boolean',\n    slide    : '(boolean|string)',\n    pause    : '(string|boolean)',\n    wrap     : 'boolean'\n  }\n\n  const Direction = {\n    NEXT     : 'next',\n    PREV     : 'prev',\n    LEFT     : 'left',\n    RIGHT    : 'right'\n  }\n\n  const Event = {\n    SLIDE          : `slide${EVENT_KEY}`,\n    SLID           : `slid${EVENT_KEY}`,\n    KEYDOWN        : `keydown${EVENT_KEY}`,\n    MOUSEENTER     : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE     : `mouseleave${EVENT_KEY}`,\n    TOUCHEND       : `touchend${EVENT_KEY}`,\n    LOAD_DATA_API  : `load${EVENT_KEY}${DATA_API_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    CAROUSEL : 'carousel',\n    ACTIVE   : 'active',\n    SLIDE    : 'slide',\n    RIGHT    : 'carousel-item-right',\n    LEFT     : 'carousel-item-left',\n    NEXT     : 'carousel-item-next',\n    PREV     : 'carousel-item-prev',\n    ITEM     : 'carousel-item'\n  }\n\n  const Selector = {\n    ACTIVE      : '.active',\n    ACTIVE_ITEM : '.active.carousel-item',\n    ITEM        : '.carousel-item',\n    NEXT_PREV   : '.carousel-item-next, .carousel-item-prev',\n    INDICATORS  : '.carousel-indicators',\n    DATA_SLIDE  : '[data-slide], [data-slide-to]',\n    DATA_RIDE   : '[data-ride=\"carousel\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Carousel {\n\n    constructor(element, config) {\n      this._items             = null\n      this._interval          = null\n      this._activeElement     = null\n\n      this._isPaused          = false\n      this._isSliding         = false\n\n      this.touchTimeout       = null\n\n      this._config            = this._getConfig(config)\n      this._element           = $(element)[0]\n      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    next() {\n      if (!this._isSliding) {\n        this._slide(Direction.NEXT)\n      }\n    }\n\n    nextWhenVisible() {\n      // Don't call next when the page isn't visible\n      // or the carousel or its parent isn't visible\n      if (!document.hidden &&\n        ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n        this.next()\n      }\n    }\n\n    prev() {\n      if (!this._isSliding) {\n        this._slide(Direction.PREV)\n      }\n    }\n\n    pause(event) {\n      if (!event) {\n        this._isPaused = true\n      }\n\n      if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n        Util.supportsTransitionEnd()) {\n        Util.triggerTransitionEnd(this._element)\n        this.cycle(true)\n      }\n\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    cycle(event) {\n      if (!event) {\n        this._isPaused = false\n      }\n\n      if (this._interval) {\n        clearInterval(this._interval)\n        this._interval = null\n      }\n\n      if (this._config.interval && !this._isPaused) {\n        this._interval = setInterval(\n          (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n          this._config.interval\n        )\n      }\n    }\n\n    to(index) {\n      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n      const activeIndex = this._getItemIndex(this._activeElement)\n\n      if (index > this._items.length - 1 || index < 0) {\n        return\n      }\n\n      if (this._isSliding) {\n        $(this._element).one(Event.SLID, () => this.to(index))\n        return\n      }\n\n      if (activeIndex === index) {\n        this.pause()\n        this.cycle()\n        return\n      }\n\n      const direction = index > activeIndex ?\n        Direction.NEXT :\n        Direction.PREV\n\n      this._slide(direction, this._items[index])\n    }\n\n    dispose() {\n      $(this._element).off(EVENT_KEY)\n      $.removeData(this._element, DATA_KEY)\n\n      this._items             = null\n      this._config            = null\n      this._element           = null\n      this._interval          = null\n      this._isPaused          = null\n      this._isSliding         = null\n      this._activeElement     = null\n      this._indicatorsElement = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _addEventListeners() {\n      if (this._config.keyboard) {\n        $(this._element)\n          .on(Event.KEYDOWN, (event) => this._keydown(event))\n      }\n\n      if (this._config.pause === 'hover') {\n        $(this._element)\n          .on(Event.MOUSEENTER, (event) => this.pause(event))\n          .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n        if ('ontouchstart' in document.documentElement) {\n          // if it's a touch-enabled device, mouseenter/leave are fired as\n          // part of the mouse compatibility events on first tap - the carousel\n          // would stop cycling until user tapped out of it;\n          // here, we listen for touchend, explicitly pause the carousel\n          // (as if it's the second time we tap on it, mouseenter compat event\n          // is NOT fired) and after a timeout (to allow for mouse compatibility\n          // events to fire) we explicitly restart cycling\n          $(this._element).on(Event.TOUCHEND, () => {\n            this.pause()\n            if (this.touchTimeout) {\n              clearTimeout(this.touchTimeout)\n            }\n            this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n          })\n        }\n      }\n    }\n\n    _keydown(event) {\n      if (/input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      switch (event.which) {\n        case ARROW_LEFT_KEYCODE:\n          event.preventDefault()\n          this.prev()\n          break\n        case ARROW_RIGHT_KEYCODE:\n          event.preventDefault()\n          this.next()\n          break\n        default:\n          return\n      }\n    }\n\n    _getItemIndex(element) {\n      this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n      return this._items.indexOf(element)\n    }\n\n    _getItemByDirection(direction, activeElement) {\n      const isNextDirection = direction === Direction.NEXT\n      const isPrevDirection = direction === Direction.PREV\n      const activeIndex     = this._getItemIndex(activeElement)\n      const lastItemIndex   = this._items.length - 1\n      const isGoingToWrap   = isPrevDirection && activeIndex === 0 ||\n                              isNextDirection && activeIndex === lastItemIndex\n\n      if (isGoingToWrap && !this._config.wrap) {\n        return activeElement\n      }\n\n      const delta     = direction === Direction.PREV ? -1 : 1\n      const itemIndex = (activeIndex + delta) % this._items.length\n\n      return itemIndex === -1 ?\n        this._items[this._items.length - 1] : this._items[itemIndex]\n    }\n\n\n    _triggerSlideEvent(relatedTarget, eventDirectionName) {\n      const targetIndex = this._getItemIndex(relatedTarget)\n      const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n      const slideEvent = $.Event(Event.SLIDE, {\n        relatedTarget,\n        direction: eventDirectionName,\n        from: fromIndex,\n        to: targetIndex\n      })\n\n      $(this._element).trigger(slideEvent)\n\n      return slideEvent\n    }\n\n    _setActiveIndicatorElement(element) {\n      if (this._indicatorsElement) {\n        $(this._indicatorsElement)\n          .find(Selector.ACTIVE)\n          .removeClass(ClassName.ACTIVE)\n\n        const nextIndicator = this._indicatorsElement.children[\n          this._getItemIndex(element)\n        ]\n\n        if (nextIndicator) {\n          $(nextIndicator).addClass(ClassName.ACTIVE)\n        }\n      }\n    }\n\n    _slide(direction, element) {\n      const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n      const activeElementIndex = this._getItemIndex(activeElement)\n      const nextElement   = element || activeElement &&\n        this._getItemByDirection(direction, activeElement)\n      const nextElementIndex = this._getItemIndex(nextElement)\n      const isCycling = Boolean(this._interval)\n\n      let directionalClassName\n      let orderClassName\n      let eventDirectionName\n\n      if (direction === Direction.NEXT) {\n        directionalClassName = ClassName.LEFT\n        orderClassName = ClassName.NEXT\n        eventDirectionName = Direction.LEFT\n      } else {\n        directionalClassName = ClassName.RIGHT\n        orderClassName = ClassName.PREV\n        eventDirectionName = Direction.RIGHT\n      }\n\n      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n        this._isSliding = false\n        return\n      }\n\n      const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n      if (slideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (!activeElement || !nextElement) {\n        // some weirdness is happening, so we bail\n        return\n      }\n\n      this._isSliding = true\n\n      if (isCycling) {\n        this.pause()\n      }\n\n      this._setActiveIndicatorElement(nextElement)\n\n      const slidEvent = $.Event(Event.SLID, {\n        relatedTarget: nextElement,\n        direction: eventDirectionName,\n        from: activeElementIndex,\n        to: nextElementIndex\n      })\n\n      if (Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.SLIDE)) {\n\n        $(nextElement).addClass(orderClassName)\n\n        Util.reflow(nextElement)\n\n        $(activeElement).addClass(directionalClassName)\n        $(nextElement).addClass(directionalClassName)\n\n        $(activeElement)\n          .one(Util.TRANSITION_END, () => {\n            $(nextElement)\n              .removeClass(`${directionalClassName} ${orderClassName}`)\n              .addClass(ClassName.ACTIVE)\n\n            $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n            this._isSliding = false\n\n            setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n          })\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        $(activeElement).removeClass(ClassName.ACTIVE)\n        $(nextElement).addClass(ClassName.ACTIVE)\n\n        this._isSliding = false\n        $(this._element).trigger(slidEvent)\n      }\n\n      if (isCycling) {\n        this.cycle()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend({}, Default, $(this).data())\n\n        if (typeof config === 'object') {\n          $.extend(_config, config)\n        }\n\n        const action = typeof config === 'string' ? config : _config.slide\n\n        if (!data) {\n          data = new Carousel(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'number') {\n          data.to(config)\n        } else if (typeof action === 'string') {\n          if (typeof data[action] === 'undefined') {\n            throw new Error(`No method named \"${action}\"`)\n          }\n          data[action]()\n        } else if (_config.interval) {\n          data.pause()\n          data.cycle()\n        }\n      })\n    }\n\n    static _dataApiClickHandler(event) {\n      const selector = Util.getSelectorFromElement(this)\n\n      if (!selector) {\n        return\n      }\n\n      const target = $(selector)[0]\n\n      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n        return\n      }\n\n      const config     = $.extend({}, $(target).data(), $(this).data())\n      const slideIndex = this.getAttribute('data-slide-to')\n\n      if (slideIndex) {\n        config.interval = false\n      }\n\n      Carousel._jQueryInterface.call($(target), config)\n\n      if (slideIndex) {\n        $(target).data(DATA_KEY).to(slideIndex)\n      }\n\n      event.preventDefault()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    $(Selector.DATA_RIDE).each(function () {\n      const $carousel = $(this)\n      Carousel._jQueryInterface.call($carousel, $carousel.data())\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Carousel._jQueryInterface\n  $.fn[NAME].Constructor = Carousel\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Carousel._jQueryInterface\n  }\n\n  return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'collapse'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.collapse'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 600\n\n  const Default = {\n    toggle : true,\n    parent : ''\n  }\n\n  const DefaultType = {\n    toggle : 'boolean',\n    parent : '(string|element)'\n  }\n\n  const Event = {\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SHOW       : 'show',\n    COLLAPSE   : 'collapse',\n    COLLAPSING : 'collapsing',\n    COLLAPSED  : 'collapsed'\n  }\n\n  const Dimension = {\n    WIDTH  : 'width',\n    HEIGHT : 'height'\n  }\n\n  const Selector = {\n    ACTIVES     : '.show, .collapsing',\n    DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Collapse {\n\n    constructor(element, config) {\n      this._isTransitioning = false\n      this._element         = element\n      this._config          = this._getConfig(config)\n      this._triggerArray    = $.makeArray($(\n        `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n        `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n      ))\n      const tabToggles = $(Selector.DATA_TOGGLE)\n      for (let i = 0; i < tabToggles.length; i++) {\n        const elem = tabToggles[i]\n        const selector = Util.getSelectorFromElement(elem)\n        if (selector !== null && $(selector).filter(element).length > 0) {\n          this._triggerArray.push(elem)\n        }\n      }\n\n      this._parent = this._config.parent ? this._getParent() : null\n\n      if (!this._config.parent) {\n        this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n      }\n\n      if (this._config.toggle) {\n        this.toggle()\n      }\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle() {\n      if ($(this._element).hasClass(ClassName.SHOW)) {\n        this.hide()\n      } else {\n        this.show()\n      }\n    }\n\n    show() {\n      if (this._isTransitioning ||\n        $(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      let actives\n      let activesData\n\n      if (this._parent) {\n        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n        if (!actives.length) {\n          actives = null\n        }\n      }\n\n      if (actives) {\n        activesData = $(actives).data(DATA_KEY)\n        if (activesData && activesData._isTransitioning) {\n          return\n        }\n      }\n\n      const startEvent = $.Event(Event.SHOW)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (actives) {\n        Collapse._jQueryInterface.call($(actives), 'hide')\n        if (!activesData) {\n          $(actives).data(DATA_KEY, null)\n        }\n      }\n\n      const dimension = this._getDimension()\n\n      $(this._element)\n        .removeClass(ClassName.COLLAPSE)\n        .addClass(ClassName.COLLAPSING)\n\n      this._element.style[dimension] = 0\n\n      if (this._triggerArray.length) {\n        $(this._triggerArray)\n          .removeClass(ClassName.COLLAPSED)\n          .attr('aria-expanded', true)\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .addClass(ClassName.SHOW)\n\n        this._element.style[dimension] = ''\n\n        this.setTransitioning(false)\n\n        $(this._element).trigger(Event.SHOWN)\n      }\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n      const scrollSize           = `scroll${capitalizedDimension}`\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n\n      this._element.style[dimension] = `${this._element[scrollSize]}px`\n    }\n\n    hide() {\n      if (this._isTransitioning ||\n        !$(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      const startEvent = $.Event(Event.HIDE)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      const dimension       = this._getDimension()\n\n      this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n      Util.reflow(this._element)\n\n      $(this._element)\n        .addClass(ClassName.COLLAPSING)\n        .removeClass(ClassName.COLLAPSE)\n        .removeClass(ClassName.SHOW)\n\n      if (this._triggerArray.length) {\n        for (let i = 0; i < this._triggerArray.length; i++) {\n          const trigger = this._triggerArray[i]\n          const selector = Util.getSelectorFromElement(trigger)\n          if (selector !== null) {\n            const $elem = $(selector)\n            if (!$elem.hasClass(ClassName.SHOW)) {\n              $(trigger).addClass(ClassName.COLLAPSED)\n                   .attr('aria-expanded', false)\n            }\n          }\n        }\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        this.setTransitioning(false)\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .trigger(Event.HIDDEN)\n      }\n\n      this._element.style[dimension] = ''\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    setTransitioning(isTransitioning) {\n      this._isTransitioning = isTransitioning\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      this._config          = null\n      this._parent          = null\n      this._element         = null\n      this._triggerArray    = null\n      this._isTransitioning = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      config.toggle = Boolean(config.toggle) // coerce string values\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _getDimension() {\n      const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n    }\n\n    _getParent() {\n      let parent = null\n      if (Util.isElement(this._config.parent)) {\n        parent = this._config.parent\n\n        // it's a jQuery object\n        if (typeof this._config.parent.jquery !== 'undefined') {\n          parent = this._config.parent[0]\n        }\n      } else {\n        parent = $(this._config.parent)[0]\n      }\n\n      const selector =\n        `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n      $(parent).find(selector).each((i, element) => {\n        this._addAriaAndCollapsedClass(\n          Collapse._getTargetFromElement(element),\n          [element]\n        )\n      })\n\n      return parent\n    }\n\n    _addAriaAndCollapsedClass(element, triggerArray) {\n      if (element) {\n        const isOpen = $(element).hasClass(ClassName.SHOW)\n\n        if (triggerArray.length) {\n          $(triggerArray)\n            .toggleClass(ClassName.COLLAPSED, !isOpen)\n            .attr('aria-expanded', isOpen)\n        }\n      }\n    }\n\n\n    // static\n\n    static _getTargetFromElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      return selector ? $(selector)[0] : null\n    }\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this   = $(this)\n        let data      = $this.data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Default,\n          $this.data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data && _config.toggle && /show|hide/.test(config)) {\n          _config.toggle = false\n        }\n\n        if (!data) {\n          data = new Collapse(this, _config)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n    if (event.currentTarget.tagName === 'A') {\n      event.preventDefault()\n    }\n\n    const $trigger = $(this)\n    const selector = Util.getSelectorFromElement(this)\n    $(selector).each(function () {\n      const $target = $(this)\n      const data    = $target.data(DATA_KEY)\n      const config  = data ? 'toggle' : $trigger.data()\n      Collapse._jQueryInterface.call($target, config)\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Collapse._jQueryInterface\n  $.fn[NAME].Constructor = Collapse\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Collapse._jQueryInterface\n  }\n\n  return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                     = 'dropdown'\n  const VERSION                  = '4.0.0-beta.2'\n  const DATA_KEY                 = 'bs.dropdown'\n  const EVENT_KEY                = `.${DATA_KEY}`\n  const DATA_API_KEY             = '.data-api'\n  const JQUERY_NO_CONFLICT       = $.fn[NAME]\n  const ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\n  const SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\n  const TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\n  const ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\n  const ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\n  const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n  const REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n  const Event = {\n    HIDE             : `hide${EVENT_KEY}`,\n    HIDDEN           : `hidden${EVENT_KEY}`,\n    SHOW             : `show${EVENT_KEY}`,\n    SHOWN            : `shown${EVENT_KEY}`,\n    CLICK            : `click${EVENT_KEY}`,\n    CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,\n    KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n    KEYUP_DATA_API   : `keyup${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DISABLED  : 'disabled',\n    SHOW      : 'show',\n    DROPUP    : 'dropup',\n    MENURIGHT : 'dropdown-menu-right',\n    MENULEFT  : 'dropdown-menu-left'\n  }\n\n  const Selector = {\n    DATA_TOGGLE   : '[data-toggle=\"dropdown\"]',\n    FORM_CHILD    : '.dropdown form',\n    MENU          : '.dropdown-menu',\n    NAVBAR_NAV    : '.navbar-nav',\n    VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n  }\n\n  const AttachmentMap = {\n    TOP       : 'top-start',\n    TOPEND    : 'top-end',\n    BOTTOM    : 'bottom-start',\n    BOTTOMEND : 'bottom-end'\n  }\n\n  const Default = {\n    offset      : 0,\n    flip        : true\n  }\n\n  const DefaultType = {\n    offset      : '(number|string|function)',\n    flip        : 'boolean'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Dropdown {\n\n    constructor(element, config) {\n      this._element  = element\n      this._popper   = null\n      this._config   = this._getConfig(config)\n      this._menu     = this._getMenuElement()\n      this._inNavbar = this._detectNavbar()\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n    // public\n\n    toggle() {\n      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this._element)\n      const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n      Dropdown._clearMenus()\n\n      if (isActive) {\n        return\n      }\n\n      const relatedTarget = {\n        relatedTarget : this._element\n      }\n      const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n      $(parent).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      let element = this._element\n      // for dropup with alignment we use the parent as popper container\n      if ($(parent).hasClass(ClassName.DROPUP)) {\n        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n          element = parent\n        }\n      }\n      this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n      // if this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement &&\n         !$(parent).closest(Selector.NAVBAR_NAV).length) {\n        $('body').children().on('mouseover', null, $.noop)\n      }\n\n      this._element.focus()\n      this._element.setAttribute('aria-expanded', true)\n\n      $(this._menu).toggleClass(ClassName.SHOW)\n      $(parent)\n        .toggleClass(ClassName.SHOW)\n        .trigger($.Event(Event.SHOWN, relatedTarget))\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._element).off(EVENT_KEY)\n      this._element = null\n      this._menu = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n      this._popper = null\n    }\n\n    update() {\n      this._inNavbar = this._detectNavbar()\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // private\n\n    _addEventListeners() {\n      $(this._element).on(Event.CLICK, (event) => {\n        event.preventDefault()\n        event.stopPropagation()\n        this.toggle()\n      })\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this._element).data(),\n        config\n      )\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getMenuElement() {\n      if (!this._menu) {\n        const parent = Dropdown._getParentFromElement(this._element)\n        this._menu = $(parent).find(Selector.MENU)[0]\n      }\n      return this._menu\n    }\n\n    _getPlacement() {\n      const $parentDropdown = $(this._element).parent()\n      let placement = AttachmentMap.BOTTOM\n\n      // Handle dropup\n      if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n        placement = AttachmentMap.TOP\n        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n          placement = AttachmentMap.TOPEND\n        }\n      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.BOTTOMEND\n      }\n      return placement\n    }\n\n    _detectNavbar() {\n      return $(this._element).closest('.navbar').length > 0\n    }\n\n    _getPopperConfig() {\n      const offsetConf = {}\n      if (typeof this._config.offset === 'function') {\n        offsetConf.fn = (data) => {\n          data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n          return data\n        }\n      } else {\n        offsetConf.offset = this._config.offset\n      }\n      const popperConfig = {\n        placement : this._getPlacement(),\n        modifiers : {\n          offset : offsetConf,\n          flip : {\n            enabled : this._config.flip\n          }\n        }\n      }\n\n      // Disable Popper.js for Dropdown in Navbar\n      if (this._inNavbar) {\n        popperConfig.modifiers.applyStyle = {\n          enabled: !this._inNavbar\n        }\n      }\n      return popperConfig\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data) {\n          data = new Dropdown(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n    static _clearMenus(event) {\n      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n        event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n        return\n      }\n\n      const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n      for (let i = 0; i < toggles.length; i++) {\n        const parent        = Dropdown._getParentFromElement(toggles[i])\n        const context       = $(toggles[i]).data(DATA_KEY)\n        const relatedTarget = {\n          relatedTarget : toggles[i]\n        }\n\n        if (!context) {\n          continue\n        }\n\n        const dropdownMenu = context._menu\n        if (!$(parent).hasClass(ClassName.SHOW)) {\n          continue\n        }\n\n        if (event && (event.type === 'click' &&\n            /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n            && $.contains(parent, event.target)) {\n          continue\n        }\n\n        const hideEvent = $.Event(Event.HIDE, relatedTarget)\n        $(parent).trigger(hideEvent)\n        if (hideEvent.isDefaultPrevented()) {\n          continue\n        }\n\n        // if this is a touch-enabled device we remove the extra\n        // empty mouseover listeners we added for iOS support\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().off('mouseover', null, $.noop)\n        }\n\n        toggles[i].setAttribute('aria-expanded', 'false')\n\n        $(dropdownMenu).removeClass(ClassName.SHOW)\n        $(parent)\n          .removeClass(ClassName.SHOW)\n          .trigger($.Event(Event.HIDDEN, relatedTarget))\n      }\n    }\n\n    static _getParentFromElement(element) {\n      let parent\n      const selector = Util.getSelectorFromElement(element)\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      return parent || element.parentNode\n    }\n\n    static _dataApiKeydownHandler(event) {\n      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n         /input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n\n      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this)\n      const isActive = $(parent).hasClass(ClassName.SHOW)\n\n      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n           isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n        if (event.which === ESCAPE_KEYCODE) {\n          const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n          $(toggle).trigger('focus')\n        }\n\n        $(this).trigger('click')\n        return\n      }\n\n      const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n      if (!items.length) {\n        return\n      }\n\n      let index = items.indexOf(event.target)\n\n      if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n        index--\n      }\n\n      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n        index++\n      }\n\n      if (index < 0) {\n        index = 0\n      }\n\n      items[index].focus()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE,  Dropdown._dataApiKeydownHandler)\n    .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n    .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      event.stopPropagation()\n      Dropdown._jQueryInterface.call($(this), 'toggle')\n    })\n    .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n      e.stopPropagation()\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Dropdown._jQueryInterface\n  $.fn[NAME].Constructor = Dropdown\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Dropdown._jQueryInterface\n  }\n\n  return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                         = 'modal'\n  const VERSION                      = '4.0.0-beta.2'\n  const DATA_KEY                     = 'bs.modal'\n  const EVENT_KEY                    = `.${DATA_KEY}`\n  const DATA_API_KEY                 = '.data-api'\n  const JQUERY_NO_CONFLICT           = $.fn[NAME]\n  const TRANSITION_DURATION          = 300\n  const BACKDROP_TRANSITION_DURATION = 150\n  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n  const Default = {\n    backdrop : true,\n    keyboard : true,\n    focus    : true,\n    show     : true\n  }\n\n  const DefaultType = {\n    backdrop : '(boolean|string)',\n    keyboard : 'boolean',\n    focus    : 'boolean',\n    show     : 'boolean'\n  }\n\n  const Event = {\n    HIDE              : `hide${EVENT_KEY}`,\n    HIDDEN            : `hidden${EVENT_KEY}`,\n    SHOW              : `show${EVENT_KEY}`,\n    SHOWN             : `shown${EVENT_KEY}`,\n    FOCUSIN           : `focusin${EVENT_KEY}`,\n    RESIZE            : `resize${EVENT_KEY}`,\n    CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n    KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n    MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n    MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n    CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n    BACKDROP           : 'modal-backdrop',\n    OPEN               : 'modal-open',\n    FADE               : 'fade',\n    SHOW               : 'show'\n  }\n\n  const Selector = {\n    DIALOG             : '.modal-dialog',\n    DATA_TOGGLE        : '[data-toggle=\"modal\"]',\n    DATA_DISMISS       : '[data-dismiss=\"modal\"]',\n    FIXED_CONTENT      : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n    STICKY_CONTENT     : '.sticky-top',\n    NAVBAR_TOGGLER     : '.navbar-toggler'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Modal {\n\n    constructor(element, config) {\n      this._config              = this._getConfig(config)\n      this._element             = element\n      this._dialog              = $(element).find(Selector.DIALOG)[0]\n      this._backdrop            = null\n      this._isShown             = false\n      this._isBodyOverflowing   = false\n      this._ignoreBackdropClick = false\n      this._originalBodyPadding = 0\n      this._scrollbarWidth      = 0\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle(relatedTarget) {\n      return this._isShown ? this.hide() : this.show(relatedTarget)\n    }\n\n    show(relatedTarget) {\n      if (this._isTransitioning || this._isShown) {\n        return\n      }\n\n      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n        this._isTransitioning = true\n      }\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget\n      })\n\n      $(this._element).trigger(showEvent)\n\n      if (this._isShown || showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = true\n\n      this._checkScrollbar()\n      this._setScrollbar()\n\n      this._adjustDialog()\n\n      $(document.body).addClass(ClassName.OPEN)\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(this._element).on(\n        Event.CLICK_DISMISS,\n        Selector.DATA_DISMISS,\n        (event) => this.hide(event)\n      )\n\n      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n        $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n          if ($(event.target).is(this._element)) {\n            this._ignoreBackdropClick = true\n          }\n        })\n      })\n\n      this._showBackdrop(() => this._showElement(relatedTarget))\n    }\n\n    hide(event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      if (this._isTransitioning || !this._isShown) {\n        return\n      }\n\n      const hideEvent = $.Event(Event.HIDE)\n\n      $(this._element).trigger(hideEvent)\n\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = false\n\n      const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n      if (transition) {\n        this._isTransitioning = true\n      }\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(document).off(Event.FOCUSIN)\n\n      $(this._element).removeClass(ClassName.SHOW)\n\n      $(this._element).off(Event.CLICK_DISMISS)\n      $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n      if (transition) {\n\n        $(this._element)\n          .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        this._hideModal()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n      this._config              = null\n      this._element             = null\n      this._dialog              = null\n      this._backdrop            = null\n      this._isShown             = null\n      this._isBodyOverflowing   = null\n      this._ignoreBackdropClick = null\n      this._scrollbarWidth      = null\n    }\n\n    handleUpdate() {\n      this._adjustDialog()\n    }\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _showElement(relatedTarget) {\n      const transition = Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.FADE)\n\n      if (!this._element.parentNode ||\n         this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n        // don't move modals dom position\n        document.body.appendChild(this._element)\n      }\n\n      this._element.style.display = 'block'\n      this._element.removeAttribute('aria-hidden')\n      this._element.scrollTop = 0\n\n      if (transition) {\n        Util.reflow(this._element)\n      }\n\n      $(this._element).addClass(ClassName.SHOW)\n\n      if (this._config.focus) {\n        this._enforceFocus()\n      }\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget\n      })\n\n      const transitionComplete = () => {\n        if (this._config.focus) {\n          this._element.focus()\n        }\n        this._isTransitioning = false\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (transition) {\n        $(this._dialog)\n          .one(Util.TRANSITION_END, transitionComplete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        transitionComplete()\n      }\n    }\n\n    _enforceFocus() {\n      $(document)\n        .off(Event.FOCUSIN) // guard against infinite focus loop\n        .on(Event.FOCUSIN, (event) => {\n          if (document !== event.target &&\n              this._element !== event.target &&\n              !$(this._element).has(event.target).length) {\n            this._element.focus()\n          }\n        })\n    }\n\n    _setEscapeEvent() {\n      if (this._isShown && this._config.keyboard) {\n        $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n          if (event.which === ESCAPE_KEYCODE) {\n            event.preventDefault()\n            this.hide()\n          }\n        })\n\n      } else if (!this._isShown) {\n        $(this._element).off(Event.KEYDOWN_DISMISS)\n      }\n    }\n\n    _setResizeEvent() {\n      if (this._isShown) {\n        $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n      } else {\n        $(window).off(Event.RESIZE)\n      }\n    }\n\n    _hideModal() {\n      this._element.style.display = 'none'\n      this._element.setAttribute('aria-hidden', true)\n      this._isTransitioning = false\n      this._showBackdrop(() => {\n        $(document.body).removeClass(ClassName.OPEN)\n        this._resetAdjustments()\n        this._resetScrollbar()\n        $(this._element).trigger(Event.HIDDEN)\n      })\n    }\n\n    _removeBackdrop() {\n      if (this._backdrop) {\n        $(this._backdrop).remove()\n        this._backdrop = null\n      }\n    }\n\n    _showBackdrop(callback) {\n      const animate = $(this._element).hasClass(ClassName.FADE) ?\n        ClassName.FADE : ''\n\n      if (this._isShown && this._config.backdrop) {\n        const doAnimate = Util.supportsTransitionEnd() && animate\n\n        this._backdrop = document.createElement('div')\n        this._backdrop.className = ClassName.BACKDROP\n\n        if (animate) {\n          $(this._backdrop).addClass(animate)\n        }\n\n        $(this._backdrop).appendTo(document.body)\n\n        $(this._element).on(Event.CLICK_DISMISS, (event) => {\n          if (this._ignoreBackdropClick) {\n            this._ignoreBackdropClick = false\n            return\n          }\n          if (event.target !== event.currentTarget) {\n            return\n          }\n          if (this._config.backdrop === 'static') {\n            this._element.focus()\n          } else {\n            this.hide()\n          }\n        })\n\n        if (doAnimate) {\n          Util.reflow(this._backdrop)\n        }\n\n        $(this._backdrop).addClass(ClassName.SHOW)\n\n        if (!callback) {\n          return\n        }\n\n        if (!doAnimate) {\n          callback()\n          return\n        }\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callback)\n          .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n      } else if (!this._isShown && this._backdrop) {\n        $(this._backdrop).removeClass(ClassName.SHOW)\n\n        const callbackRemove = () => {\n          this._removeBackdrop()\n          if (callback) {\n            callback()\n          }\n        }\n\n        if (Util.supportsTransitionEnd() &&\n           $(this._element).hasClass(ClassName.FADE)) {\n          $(this._backdrop)\n            .one(Util.TRANSITION_END, callbackRemove)\n            .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n        } else {\n          callbackRemove()\n        }\n\n      } else if (callback) {\n        callback()\n      }\n    }\n\n\n    // ----------------------------------------------------------------------\n    // the following methods are used to handle overflowing modals\n    // todo (fat): these should probably be refactored out of modal.js\n    // ----------------------------------------------------------------------\n\n    _adjustDialog() {\n      const isModalOverflowing =\n        this._element.scrollHeight > document.documentElement.clientHeight\n\n      if (!this._isBodyOverflowing && isModalOverflowing) {\n        this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n      }\n\n      if (this._isBodyOverflowing && !isModalOverflowing) {\n        this._element.style.paddingRight = `${this._scrollbarWidth}px`\n      }\n    }\n\n    _resetAdjustments() {\n      this._element.style.paddingLeft = ''\n      this._element.style.paddingRight = ''\n    }\n\n    _checkScrollbar() {\n      const rect = document.body.getBoundingClientRect()\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n      this._scrollbarWidth = this._getScrollbarWidth()\n    }\n\n    _setScrollbar() {\n      if (this._isBodyOverflowing) {\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n        // Adjust fixed content padding\n        $(Selector.FIXED_CONTENT).each((index, element) => {\n          const actualPadding = $(element)[0].style.paddingRight\n          const calculatedPadding = $(element).css('padding-right')\n          $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust sticky content margin\n        $(Selector.STICKY_CONTENT).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n        })\n\n        // Adjust navbar-toggler margin\n        $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust body padding\n        const actualPadding = document.body.style.paddingRight\n        const calculatedPadding = $('body').css('padding-right')\n        $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      }\n    }\n\n    _resetScrollbar() {\n      // Restore fixed content padding\n      $(Selector.FIXED_CONTENT).each((index, element) => {\n        const padding = $(element).data('padding-right')\n        if (typeof padding !== 'undefined') {\n          $(element).css('padding-right', padding).removeData('padding-right')\n        }\n      })\n\n      // Restore sticky content and navbar-toggler margin\n      $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n        const margin = $(element).data('margin-right')\n        if (typeof margin !== 'undefined') {\n          $(element).css('margin-right', margin).removeData('margin-right')\n        }\n      })\n\n      // Restore body padding\n      const padding = $('body').data('padding-right')\n      if (typeof padding !== 'undefined') {\n        $('body').css('padding-right', padding).removeData('padding-right')\n      }\n    }\n\n    _getScrollbarWidth() { // thx d.walsh\n      const scrollDiv = document.createElement('div')\n      scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n      document.body.appendChild(scrollDiv)\n      const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n      document.body.removeChild(scrollDiv)\n      return scrollbarWidth\n    }\n\n\n    // static\n\n    static _jQueryInterface(config, relatedTarget) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Modal.Default,\n          $(this).data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data) {\n          data = new Modal(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config](relatedTarget)\n        } else if (_config.show) {\n          data.show(relatedTarget)\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    let target\n    const selector = Util.getSelectorFromElement(this)\n\n    if (selector) {\n      target = $(selector)[0]\n    }\n\n    const config = $(target).data(DATA_KEY) ?\n      'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\n      event.preventDefault()\n    }\n\n    const $target = $(target).one(Event.SHOW, (showEvent) => {\n      if (showEvent.isDefaultPrevented()) {\n        // only register focus restorer if modal will actually get shown\n        return\n      }\n\n      $target.one(Event.HIDDEN, () => {\n        if ($(this).is(':visible')) {\n          this.focus()\n        }\n      })\n    })\n\n    Modal._jQueryInterface.call($(target), config, this)\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Modal._jQueryInterface\n  $.fn[NAME].Constructor = Modal\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Modal._jQueryInterface\n  }\n\n  return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tooltip'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tooltip'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n  const CLASS_PREFIX        = 'bs-tooltip'\n  const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const DefaultType = {\n    animation           : 'boolean',\n    template            : 'string',\n    title               : '(string|element|function)',\n    trigger             : 'string',\n    delay               : '(number|object)',\n    html                : 'boolean',\n    selector            : '(string|boolean)',\n    placement           : '(string|function)',\n    offset              : '(number|string)',\n    container           : '(string|element|boolean)',\n    fallbackPlacement   : '(string|array)'\n  }\n\n  const AttachmentMap = {\n    AUTO   : 'auto',\n    TOP    : 'top',\n    RIGHT  : 'right',\n    BOTTOM : 'bottom',\n    LEFT   : 'left'\n  }\n\n  const Default = {\n    animation           : true,\n    template            : '<div class=\"tooltip\" role=\"tooltip\">'\n                        + '<div class=\"arrow\"></div>'\n                        + '<div class=\"tooltip-inner\"></div></div>',\n    trigger             : 'hover focus',\n    title               : '',\n    delay               : 0,\n    html                : false,\n    selector            : false,\n    placement           : 'top',\n    offset              : 0,\n    container           : false,\n    fallbackPlacement   : 'flip'\n  }\n\n  const HoverState = {\n    SHOW : 'show',\n    OUT  : 'out'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TOOLTIP       : '.tooltip',\n    TOOLTIP_INNER : '.tooltip-inner',\n    ARROW         : '.arrow'\n  }\n\n  const Trigger = {\n    HOVER  : 'hover',\n    FOCUS  : 'focus',\n    CLICK  : 'click',\n    MANUAL : 'manual'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tooltip {\n\n    constructor(element, config) {\n\n      // private\n      this._isEnabled     = true\n      this._timeout       = 0\n      this._hoverState    = ''\n      this._activeTrigger = {}\n      this._popper        = null\n\n      // protected\n      this.element = element\n      this.config  = this._getConfig(config)\n      this.tip     = null\n\n      this._setListeners()\n\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // public\n\n    enable() {\n      this._isEnabled = true\n    }\n\n    disable() {\n      this._isEnabled = false\n    }\n\n    toggleEnabled() {\n      this._isEnabled = !this._isEnabled\n    }\n\n    toggle(event) {\n      if (!this._isEnabled) {\n        return\n      }\n\n      if (event) {\n        const dataKey = this.constructor.DATA_KEY\n        let context = $(event.currentTarget).data(dataKey)\n\n        if (!context) {\n          context = new this.constructor(\n            event.currentTarget,\n            this._getDelegateConfig()\n          )\n          $(event.currentTarget).data(dataKey, context)\n        }\n\n        context._activeTrigger.click = !context._activeTrigger.click\n\n        if (context._isWithActiveTrigger()) {\n          context._enter(null, context)\n        } else {\n          context._leave(null, context)\n        }\n\n      } else {\n\n        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n          this._leave(null, this)\n          return\n        }\n\n        this._enter(null, this)\n      }\n    }\n\n    dispose() {\n      clearTimeout(this._timeout)\n\n      $.removeData(this.element, this.constructor.DATA_KEY)\n\n      $(this.element).off(this.constructor.EVENT_KEY)\n      $(this.element).closest('.modal').off('hide.bs.modal')\n\n      if (this.tip) {\n        $(this.tip).remove()\n      }\n\n      this._isEnabled     = null\n      this._timeout       = null\n      this._hoverState    = null\n      this._activeTrigger = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      this._popper = null\n      this.element = null\n      this.config  = null\n      this.tip     = null\n    }\n\n    show() {\n      if ($(this.element).css('display') === 'none') {\n        throw new Error('Please use show on visible elements')\n      }\n\n      const showEvent = $.Event(this.constructor.Event.SHOW)\n      if (this.isWithContent() && this._isEnabled) {\n        $(this.element).trigger(showEvent)\n\n        const isInTheDom = $.contains(\n          this.element.ownerDocument.documentElement,\n          this.element\n        )\n\n        if (showEvent.isDefaultPrevented() || !isInTheDom) {\n          return\n        }\n\n        const tip   = this.getTipElement()\n        const tipId = Util.getUID(this.constructor.NAME)\n\n        tip.setAttribute('id', tipId)\n        this.element.setAttribute('aria-describedby', tipId)\n\n        this.setContent()\n\n        if (this.config.animation) {\n          $(tip).addClass(ClassName.FADE)\n        }\n\n        const placement  = typeof this.config.placement === 'function' ?\n          this.config.placement.call(this, tip, this.element) :\n          this.config.placement\n\n        const attachment = this._getAttachment(placement)\n        this.addAttachmentClass(attachment)\n\n        const container = this.config.container === false ? document.body : $(this.config.container)\n\n        $(tip).data(this.constructor.DATA_KEY, this)\n\n        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n          $(tip).appendTo(container)\n        }\n\n        $(this.element).trigger(this.constructor.Event.INSERTED)\n\n        this._popper = new Popper(this.element, tip, {\n          placement: attachment,\n          modifiers: {\n            offset: {\n              offset: this.config.offset\n            },\n            flip: {\n              behavior: this.config.fallbackPlacement\n            },\n            arrow: {\n              element: Selector.ARROW\n            }\n          },\n          onCreate: (data) => {\n            if (data.originalPlacement !== data.placement) {\n              this._handlePopperPlacementChange(data)\n            }\n          },\n          onUpdate : (data) => {\n            this._handlePopperPlacementChange(data)\n          }\n        })\n\n        $(tip).addClass(ClassName.SHOW)\n\n        // if this is a touch-enabled device we add extra\n        // empty mouseover listeners to the body's immediate children;\n        // only needed because of broken event delegation on iOS\n        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().on('mouseover', null, $.noop)\n        }\n\n        const complete = () => {\n          if (this.config.animation) {\n            this._fixTransition()\n          }\n          const prevHoverState = this._hoverState\n          this._hoverState     = null\n\n          $(this.element).trigger(this.constructor.Event.SHOWN)\n\n          if (prevHoverState === HoverState.OUT) {\n            this._leave(null, this)\n          }\n        }\n\n        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n          $(this.tip)\n            .one(Util.TRANSITION_END, complete)\n            .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n        } else {\n          complete()\n        }\n      }\n    }\n\n    hide(callback) {\n      const tip       = this.getTipElement()\n      const hideEvent = $.Event(this.constructor.Event.HIDE)\n      const complete  = () => {\n        if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n          tip.parentNode.removeChild(tip)\n        }\n\n        this._cleanTipClass()\n        this.element.removeAttribute('aria-describedby')\n        $(this.element).trigger(this.constructor.Event.HIDDEN)\n        if (this._popper !== null) {\n          this._popper.destroy()\n        }\n\n        if (callback) {\n          callback()\n        }\n      }\n\n      $(this.element).trigger(hideEvent)\n\n      if (hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      $(tip).removeClass(ClassName.SHOW)\n\n      // if this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $('body').children().off('mouseover', null, $.noop)\n      }\n\n      this._activeTrigger[Trigger.CLICK] = false\n      this._activeTrigger[Trigger.FOCUS] = false\n      this._activeTrigger[Trigger.HOVER] = false\n\n      if (Util.supportsTransitionEnd() &&\n          $(this.tip).hasClass(ClassName.FADE)) {\n\n        $(tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      this._hoverState = ''\n\n    }\n\n    update() {\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // protected\n\n    isWithContent() {\n      return Boolean(this.getTitle())\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    setElementContent($element, content) {\n      const html = this.config.html\n      if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n        // content is a DOM node or a jQuery\n        if (html) {\n          if (!$(content).parent().is($element)) {\n            $element.empty().append(content)\n          }\n        } else {\n          $element.text($(content).text())\n        }\n      } else {\n        $element[html ? 'html' : 'text'](content)\n      }\n    }\n\n    getTitle() {\n      let title = this.element.getAttribute('data-original-title')\n\n      if (!title) {\n        title = typeof this.config.title === 'function' ?\n          this.config.title.call(this.element) :\n          this.config.title\n      }\n\n      return title\n    }\n\n\n    // private\n\n    _getAttachment(placement) {\n      return AttachmentMap[placement.toUpperCase()]\n    }\n\n    _setListeners() {\n      const triggers = this.config.trigger.split(' ')\n\n      triggers.forEach((trigger) => {\n        if (trigger === 'click') {\n          $(this.element).on(\n            this.constructor.Event.CLICK,\n            this.config.selector,\n            (event) => this.toggle(event)\n          )\n\n        } else if (trigger !== Trigger.MANUAL) {\n          const eventIn  = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSEENTER :\n            this.constructor.Event.FOCUSIN\n          const eventOut = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSELEAVE :\n            this.constructor.Event.FOCUSOUT\n\n          $(this.element)\n            .on(\n              eventIn,\n              this.config.selector,\n              (event) => this._enter(event)\n            )\n            .on(\n              eventOut,\n              this.config.selector,\n              (event) => this._leave(event)\n            )\n        }\n\n        $(this.element).closest('.modal').on(\n          'hide.bs.modal',\n          () => this.hide()\n        )\n      })\n\n      if (this.config.selector) {\n        this.config = $.extend({}, this.config, {\n          trigger  : 'manual',\n          selector : ''\n        })\n      } else {\n        this._fixTitle()\n      }\n    }\n\n    _fixTitle() {\n      const titleType = typeof this.element.getAttribute('data-original-title')\n      if (this.element.getAttribute('title') ||\n         titleType !== 'string') {\n        this.element.setAttribute(\n          'data-original-title',\n          this.element.getAttribute('title') || ''\n        )\n        this.element.setAttribute('title', '')\n      }\n    }\n\n    _enter(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n        ] = true\n      }\n\n      if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n         context._hoverState === HoverState.SHOW) {\n        context._hoverState = HoverState.SHOW\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.SHOW\n\n      if (!context.config.delay || !context.config.delay.show) {\n        context.show()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.SHOW) {\n          context.show()\n        }\n      }, context.config.delay.show)\n    }\n\n    _leave(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n        ] = false\n      }\n\n      if (context._isWithActiveTrigger()) {\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.OUT\n\n      if (!context.config.delay || !context.config.delay.hide) {\n        context.hide()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.OUT) {\n          context.hide()\n        }\n      }, context.config.delay.hide)\n    }\n\n    _isWithActiveTrigger() {\n      for (const trigger in this._activeTrigger) {\n        if (this._activeTrigger[trigger]) {\n          return true\n        }\n      }\n\n      return false\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this.element).data(),\n        config\n      )\n\n      if (typeof config.delay === 'number') {\n        config.delay = {\n          show : config.delay,\n          hide : config.delay\n        }\n      }\n\n      if (typeof config.title === 'number') {\n        config.title = config.title.toString()\n      }\n\n      if (typeof config.content === 'number') {\n        config.content = config.content.toString()\n      }\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getDelegateConfig() {\n      const config = {}\n\n      if (this.config) {\n        for (const key in this.config) {\n          if (this.constructor.Default[key] !== this.config[key]) {\n            config[key] = this.config[key]\n          }\n        }\n      }\n\n      return config\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n    _handlePopperPlacementChange(data) {\n      this._cleanTipClass()\n      this.addAttachmentClass(this._getAttachment(data.placement))\n    }\n\n    _fixTransition() {\n      const tip                 = this.getTipElement()\n      const initConfigAnimation = this.config.animation\n      if (tip.getAttribute('x-placement') !== null) {\n        return\n      }\n      $(tip).removeClass(ClassName.FADE)\n      this.config.animation = false\n      this.hide()\n      this.show()\n      this.config.animation = initConfigAnimation\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data && /dispose|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Tooltip(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tooltip._jQueryInterface\n  $.fn[NAME].Constructor = Tooltip\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tooltip._jQueryInterface\n  }\n\n  return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'popover'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.popover'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const CLASS_PREFIX        = 'bs-popover'\n  const BSCLS_PREFIX_REGEX  = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const Default = $.extend({}, Tooltip.Default, {\n    placement : 'right',\n    trigger   : 'click',\n    content   : '',\n    template  : '<div class=\"popover\" role=\"tooltip\">'\n              + '<div class=\"arrow\"></div>'\n              + '<h3 class=\"popover-header\"></h3>'\n              + '<div class=\"popover-body\"></div></div>'\n  })\n\n  const DefaultType = $.extend({}, Tooltip.DefaultType, {\n    content : '(string|element|function)'\n  })\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TITLE   : '.popover-header',\n    CONTENT : '.popover-body'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Popover extends Tooltip {\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // overrides\n\n    isWithContent() {\n      return this.getTitle() || this._getContent()\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n\n      // we use append for html objects to maintain js events\n      this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n      this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    // private\n\n    _getContent() {\n      return this.element.getAttribute('data-content')\n        || (typeof this.config.content === 'function' ?\n              this.config.content.call(this.element) :\n              this.config.content)\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data && /destroy|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Popover(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Popover._jQueryInterface\n  $.fn[NAME].Constructor = Popover\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Popover._jQueryInterface\n  }\n\n  return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME               = 'scrollspy'\n  const VERSION            = '4.0.0-beta.2'\n  const DATA_KEY           = 'bs.scrollspy'\n  const EVENT_KEY          = `.${DATA_KEY}`\n  const DATA_API_KEY       = '.data-api'\n  const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n  const Default = {\n    offset : 10,\n    method : 'auto',\n    target : ''\n  }\n\n  const DefaultType = {\n    offset : 'number',\n    method : 'string',\n    target : '(string|element)'\n  }\n\n  const Event = {\n    ACTIVATE      : `activate${EVENT_KEY}`,\n    SCROLL        : `scroll${EVENT_KEY}`,\n    LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_ITEM : 'dropdown-item',\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active'\n  }\n\n  const Selector = {\n    DATA_SPY        : '[data-spy=\"scroll\"]',\n    ACTIVE          : '.active',\n    NAV_LIST_GROUP  : '.nav, .list-group',\n    NAV_LINKS       : '.nav-link',\n    NAV_ITEMS       : '.nav-item',\n    LIST_ITEMS      : '.list-group-item',\n    DROPDOWN        : '.dropdown',\n    DROPDOWN_ITEMS  : '.dropdown-item',\n    DROPDOWN_TOGGLE : '.dropdown-toggle'\n  }\n\n  const OffsetMethod = {\n    OFFSET   : 'offset',\n    POSITION : 'position'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class ScrollSpy {\n\n    constructor(element, config) {\n      this._element       = element\n      this._scrollElement = element.tagName === 'BODY' ? window : element\n      this._config        = this._getConfig(config)\n      this._selector      = `${this._config.target} ${Selector.NAV_LINKS},`\n                          + `${this._config.target} ${Selector.LIST_ITEMS},`\n                          + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n      this._offsets       = []\n      this._targets       = []\n      this._activeTarget  = null\n      this._scrollHeight  = 0\n\n      $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n      this.refresh()\n      this._process()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    refresh() {\n      const autoMethod = this._scrollElement !== this._scrollElement.window ?\n        OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n      const offsetMethod = this._config.method === 'auto' ?\n        autoMethod : this._config.method\n\n      const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n        this._getScrollTop() : 0\n\n      this._offsets = []\n      this._targets = []\n\n      this._scrollHeight = this._getScrollHeight()\n\n      const targets = $.makeArray($(this._selector))\n\n      targets\n        .map((element) => {\n          let target\n          const targetSelector = Util.getSelectorFromElement(element)\n\n          if (targetSelector) {\n            target = $(targetSelector)[0]\n          }\n\n          if (target) {\n            const targetBCR = target.getBoundingClientRect()\n            if (targetBCR.width || targetBCR.height) {\n              // todo (fat): remove sketch reliance on jQuery position/offset\n              return [\n                $(target)[offsetMethod]().top + offsetBase,\n                targetSelector\n              ]\n            }\n          }\n          return null\n        })\n        .filter((item)  => item)\n        .sort((a, b)    => a[0] - b[0])\n        .forEach((item) => {\n          this._offsets.push(item[0])\n          this._targets.push(item[1])\n        })\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._scrollElement).off(EVENT_KEY)\n\n      this._element       = null\n      this._scrollElement = null\n      this._config        = null\n      this._selector      = null\n      this._offsets       = null\n      this._targets       = null\n      this._activeTarget  = null\n      this._scrollHeight  = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n\n      if (typeof config.target !== 'string') {\n        let id = $(config.target).attr('id')\n        if (!id) {\n          id = Util.getUID(NAME)\n          $(config.target).attr('id', id)\n        }\n        config.target = `#${id}`\n      }\n\n      Util.typeCheckConfig(NAME, config, DefaultType)\n\n      return config\n    }\n\n    _getScrollTop() {\n      return this._scrollElement === window ?\n          this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n    }\n\n    _getScrollHeight() {\n      return this._scrollElement.scrollHeight || Math.max(\n        document.body.scrollHeight,\n        document.documentElement.scrollHeight\n      )\n    }\n\n    _getOffsetHeight() {\n      return this._scrollElement === window ?\n          window.innerHeight : this._scrollElement.getBoundingClientRect().height\n    }\n\n    _process() {\n      const scrollTop    = this._getScrollTop() + this._config.offset\n      const scrollHeight = this._getScrollHeight()\n      const maxScroll    = this._config.offset\n        + scrollHeight\n        - this._getOffsetHeight()\n\n      if (this._scrollHeight !== scrollHeight) {\n        this.refresh()\n      }\n\n      if (scrollTop >= maxScroll) {\n        const target = this._targets[this._targets.length - 1]\n\n        if (this._activeTarget !== target) {\n          this._activate(target)\n        }\n        return\n      }\n\n      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n        this._activeTarget = null\n        this._clear()\n        return\n      }\n\n      for (let i = this._offsets.length; i--;) {\n        const isActiveTarget = this._activeTarget !== this._targets[i]\n            && scrollTop >= this._offsets[i]\n            && (typeof this._offsets[i + 1] === 'undefined' ||\n                scrollTop < this._offsets[i + 1])\n\n        if (isActiveTarget) {\n          this._activate(this._targets[i])\n        }\n      }\n    }\n\n    _activate(target) {\n      this._activeTarget = target\n\n      this._clear()\n\n      let queries = this._selector.split(',')\n      // eslint-disable-next-line arrow-body-style\n      queries     = queries.map((selector) => {\n        return `${selector}[data-target=\"${target}\"],` +\n               `${selector}[href=\"${target}\"]`\n      })\n\n      const $link = $(queries.join(','))\n\n      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        $link.addClass(ClassName.ACTIVE)\n      } else {\n        // Set triggered link as active\n        $link.addClass(ClassName.ACTIVE)\n        // Set triggered links parents as active\n        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n        $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n        // Handle special case when .nav-link is inside .nav-item\n        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n      }\n\n      $(this._scrollElement).trigger(Event.ACTIVATE, {\n        relatedTarget: target\n      })\n    }\n\n    _clear() {\n      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data) {\n          data = new ScrollSpy(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n    for (let i = scrollSpys.length; i--;) {\n      const $spy = $(scrollSpys[i])\n      ScrollSpy._jQueryInterface.call($spy, $spy.data())\n    }\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = ScrollSpy._jQueryInterface\n  $.fn[NAME].Constructor = ScrollSpy\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return ScrollSpy._jQueryInterface\n  }\n\n  return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tab'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tab'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Event = {\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active',\n    DISABLED      : 'disabled',\n    FADE          : 'fade',\n    SHOW          : 'show'\n  }\n\n  const Selector = {\n    DROPDOWN              : '.dropdown',\n    NAV_LIST_GROUP        : '.nav, .list-group',\n    ACTIVE                : '.active',\n    ACTIVE_UL             : '> li > .active',\n    DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n    DROPDOWN_TOGGLE       : '.dropdown-toggle',\n    DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tab {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    show() {\n      if (this._element.parentNode &&\n          this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n          $(this._element).hasClass(ClassName.ACTIVE) ||\n          $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      let target\n      let previous\n      const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n      const selector    = Util.getSelectorFromElement(this._element)\n\n      if (listElement) {\n        const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n        previous = $.makeArray($(listElement).find(itemSelector))\n        previous = previous[previous.length - 1]\n      }\n\n      const hideEvent = $.Event(Event.HIDE, {\n        relatedTarget: this._element\n      })\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget: previous\n      })\n\n      if (previous) {\n        $(previous).trigger(hideEvent)\n      }\n\n      $(this._element).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented() ||\n         hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (selector) {\n        target = $(selector)[0]\n      }\n\n      this._activate(\n        this._element,\n        listElement\n      )\n\n      const complete = () => {\n        const hiddenEvent = $.Event(Event.HIDDEN, {\n          relatedTarget: this._element\n        })\n\n        const shownEvent = $.Event(Event.SHOWN, {\n          relatedTarget: previous\n        })\n\n        $(previous).trigger(hiddenEvent)\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (target) {\n        this._activate(target, target.parentNode, complete)\n      } else {\n        complete()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _activate(element, container, callback) {\n      let activeElements\n      if (container.nodeName === 'UL') {\n        activeElements = $(container).find(Selector.ACTIVE_UL)\n      } else {\n        activeElements = $(container).children(Selector.ACTIVE)\n      }\n\n      const active          = activeElements[0]\n      const isTransitioning = callback\n        && Util.supportsTransitionEnd()\n        && (active && $(active).hasClass(ClassName.FADE))\n\n      const complete = () => this._transitionComplete(\n        element,\n        active,\n        isTransitioning,\n        callback\n      )\n\n      if (active && isTransitioning) {\n        $(active)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      if (active) {\n        $(active).removeClass(ClassName.SHOW)\n      }\n    }\n\n    _transitionComplete(element, active, isTransitioning, callback) {\n      if (active) {\n        $(active).removeClass(ClassName.ACTIVE)\n\n        const dropdownChild = $(active.parentNode).find(\n          Selector.DROPDOWN_ACTIVE_CHILD\n        )[0]\n\n        if (dropdownChild) {\n          $(dropdownChild).removeClass(ClassName.ACTIVE)\n        }\n\n        if (active.getAttribute('role') === 'tab') {\n          active.setAttribute('aria-selected', false)\n        }\n      }\n\n      $(element).addClass(ClassName.ACTIVE)\n      if (element.getAttribute('role') === 'tab') {\n        element.setAttribute('aria-selected', true)\n      }\n\n      if (isTransitioning) {\n        Util.reflow(element)\n        $(element).addClass(ClassName.SHOW)\n      } else {\n        $(element).removeClass(ClassName.FADE)\n      }\n\n      if (element.parentNode &&\n          $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n        const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n        if (dropdownElement) {\n          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        }\n\n        element.setAttribute('aria-expanded', true)\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this = $(this)\n        let data    = $this.data(DATA_KEY)\n\n        if (!data) {\n          data = new Tab(this)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      Tab._jQueryInterface.call($(this), 'show')\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tab._jQueryInterface\n  $.fn[NAME].Constructor = Tab\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tab._jQueryInterface\n  }\n\n  return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor  = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})($)\n\nexport {\n  Util,\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Popover,\n  Scrollspy,\n  Tab,\n  Tooltip\n}\n"],"names":["Util","transition","MAX_UID","TransitionEndEvent","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","prefix","Math","random","getElementById","element","selector","getAttribute","$selector","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"}
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.min.js b/workspace/public/js/bootstrap.min.js
new file mode 100644
index 0000000..27aace3
--- /dev/null
+++ b/workspace/public/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+  * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
+  * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+var bootstrap=function(t,e,n){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}e=e&&e.hasOwnProperty("default")?e.default:e,n=n&&n.hasOwnProperty("default")?n.default:n;var s=function(){function t(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(){return{bindType:r.end,delegateType:r.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}}}function i(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in o)if("undefined"!=typeof t.style[e])return{end:o[e]};return!1}function s(t){var n=this,i=!1;return e(this).one(a.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||a.triggerTransitionEnd(n)},t),this}var r=!1,o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},a={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var n=t.getAttribute("data-target");n&&"#"!==n||(n=t.getAttribute("href")||"");try{return e(document).find(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(r.end)},supportsTransitionEnd:function(){return Boolean(r)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(e,n,i){for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){var r=i[s],o=n[s],l=o&&a.isElement(o)?"element":t(o);if(!new RegExp(r).test(l))throw new Error(e.toUpperCase()+': Option "'+s+'" provided type "'+l+'" but expected type "'+r+'".')}}};return r=i(),e.fn.emulateTransitionEnd=s,a.supportsTransitionEnd()&&(e.event.special[a.TRANSITION_END]=n()),a}(),r=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},o=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e},a=function(){var t="alert",n=e.fn[t],i={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},o={ALERT:"alert",FADE:"fade",SHOW:"show"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=s.getSelectorFromElement(t),i=!1;return n&&(i=e(n)[0]),i||(i=e(t).closest("."+o.ALERT)[0]),i},n._triggerCloseEvent=function(t){var n=e.Event(i.CLOSE);return e(t).trigger(n),n},n._removeElement=function(t){var n=this;e(t).removeClass(o.SHOW),s.supportsTransitionEnd()&&e(t).hasClass(o.FADE)?e(t).one(s.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(150):this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger(i.CLOSED).remove()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.alert");s||(s=new t(this),i.data("bs.alert",s)),"close"===n&&s[n](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(i.CLICK_DATA_API,{DISMISS:'[data-dismiss="alert"]'}.DISMISS,a._handleDismiss(new a)),e.fn[t]=a._jQueryInterface,e.fn[t].Constructor=a,e.fn[t].noConflict=function(){return e.fn[t]=n,a._jQueryInterface},a}(),l=function(){var t="button",n=e.fn[t],i={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},o={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,r=e(this._element).closest(s.DATA_TOGGLE)[0];if(r){var o=e(this._element).find(s.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&e(this._element).hasClass(i.ACTIVE))t=!1;else{var a=e(r).find(s.ACTIVE)[0];a&&e(a).removeClass(i.ACTIVE)}if(t){if(o.hasAttribute("disabled")||r.hasAttribute("disabled")||o.classList.contains("disabled")||r.classList.contains("disabled"))return;o.checked=!e(this._element).hasClass(i.ACTIVE),e(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!e(this._element).hasClass(i.ACTIVE)),t&&e(this._element).toggleClass(i.ACTIVE)},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each(function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(o.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(t){t.preventDefault();var n=t.target;e(n).hasClass(i.BUTTON)||(n=e(n).closest(s.BUTTON)),a._jQueryInterface.call(e(n),"toggle")}).on(o.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(t){var n=e(t.target).closest(s.BUTTON)[0];e(n).toggleClass(i.FOCUS,/^focus(in)?$/.test(t.type))}),e.fn[t]=a._jQueryInterface,e.fn[t].Constructor=a,e.fn[t].noConflict=function(){return e.fn[t]=n,a._jQueryInterface},a}(),h=function(){var t="carousel",n="bs.carousel",i="."+n,o=e.fn[t],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},c={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},u={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},d={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},f=function(){function o(t,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=e(t)[0],this._indicatorsElement=e(this._element).find(d.INDICATORS)[0],this._addEventListeners()}var f=o.prototype;return f.next=function(){this._isSliding||this._slide(h.NEXT)},f.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},f.prev=function(){this._isSliding||this._slide(h.PREV)},f.pause=function(t){t||(this._isPaused=!0),e(this._element).find(d.NEXT_PREV)[0]&&s.supportsTransitionEnd()&&(s.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},f.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},f.to=function(t){var n=this;this._activeElement=e(this._element).find(d.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one(c.SLID,function(){return n.to(t)});else{if(i===t)return this.pause(),void this.cycle();var s=t>i?h.NEXT:h.PREV;this._slide(s,this._items[t])}},f.dispose=function(){e(this._element).off(i),e.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},f._getConfig=function(n){return n=e.extend({},a,n),s.typeCheckConfig(t,n,l),n},f._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on(c.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(e(this._element).on(c.MOUSEENTER,function(e){return t.pause(e)}).on(c.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&e(this._element).on(c.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},f._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},f._getItemIndex=function(t){return this._items=e.makeArray(e(t).parent().find(d.ITEM)),this._items.indexOf(t)},f._getItemByDirection=function(t,e){var n=t===h.NEXT,i=t===h.PREV,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===h.PREV?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},f._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),s=this._getItemIndex(e(this._element).find(d.ACTIVE_ITEM)[0]),r=e.Event(c.SLIDE,{relatedTarget:t,direction:n,from:s,to:i});return e(this._element).trigger(r),r},f._setActiveIndicatorElement=function(t){if(this._indicatorsElement){e(this._indicatorsElement).find(d.ACTIVE).removeClass(u.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&e(n).addClass(u.ACTIVE)}},f._slide=function(t,n){var i,r,o,a=this,l=e(this._element).find(d.ACTIVE_ITEM)[0],f=this._getItemIndex(l),_=n||l&&this._getItemByDirection(t,l),g=this._getItemIndex(_),m=Boolean(this._interval);if(t===h.NEXT?(i=u.LEFT,r=u.NEXT,o=h.LEFT):(i=u.RIGHT,r=u.PREV,o=h.RIGHT),_&&e(_).hasClass(u.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(_,o).isDefaultPrevented()&&l&&_){this._isSliding=!0,m&&this.pause(),this._setActiveIndicatorElement(_);var p=e.Event(c.SLID,{relatedTarget:_,direction:o,from:f,to:g});s.supportsTransitionEnd()&&e(this._element).hasClass(u.SLIDE)?(e(_).addClass(r),s.reflow(_),e(l).addClass(i),e(_).addClass(i),e(l).one(s.TRANSITION_END,function(){e(_).removeClass(i+" "+r).addClass(u.ACTIVE),e(l).removeClass(u.ACTIVE+" "+r+" "+i),a._isSliding=!1,setTimeout(function(){return e(a._element).trigger(p)},0)}).emulateTransitionEnd(600)):(e(l).removeClass(u.ACTIVE),e(_).addClass(u.ACTIVE),this._isSliding=!1,e(this._element).trigger(p)),m&&this.cycle()}},o._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),s=e.extend({},a,e(this).data());"object"==typeof t&&e.extend(s,t);var r="string"==typeof t?t:s.slide;if(i||(i=new o(this,s),e(this).data(n,i)),"number"==typeof t)i.to(t);else if("string"==typeof r){if("undefined"==typeof i[r])throw new Error('No method named "'+r+'"');i[r]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(t){var i=s.getSelectorFromElement(this);if(i){var r=e(i)[0];if(r&&e(r).hasClass(u.CAROUSEL)){var a=e.extend({},e(r).data(),e(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(e(r),a),l&&e(r).data(n).to(l),t.preventDefault()}}},r(o,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}}]),o}();return e(document).on(c.CLICK_DATA_API,d.DATA_SLIDE,f._dataApiClickHandler),e(window).on(c.LOAD_DATA_API,function(){e(d.DATA_RIDE).each(function(){var t=e(this);f._jQueryInterface.call(t,t.data())})}),e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=o,f._jQueryInterface},f}(),c=function(){var t="collapse",n="bs.collapse",i=e.fn[t],o={toggle:!0,parent:""},a={toggle:"boolean",parent:"(string|element)"},l={SHOW:"show.bs.collapse",SHOWN:"shown.bs.collapse",HIDE:"hide.bs.collapse",HIDDEN:"hidden.bs.collapse",CLICK_DATA_API:"click.bs.collapse.data-api"},h={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},c={WIDTH:"width",HEIGHT:"height"},u={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},d=function(){function i(t,n){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(n),this._triggerArray=e.makeArray(e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var i=e(u.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],a=s.getSelectorFromElement(o);null!==a&&e(a).filter(t).length>0&&this._triggerArray.push(o)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var d=i.prototype;return d.toggle=function(){e(this._element).hasClass(h.SHOW)?this.hide():this.show()},d.show=function(){var t=this;if(!this._isTransitioning&&!e(this._element).hasClass(h.SHOW)){var r,o;if(this._parent&&((r=e.makeArray(e(this._parent).children().children(u.ACTIVES))).length||(r=null)),!(r&&(o=e(r).data(n))&&o._isTransitioning)){var a=e.Event(l.SHOW);if(e(this._element).trigger(a),!a.isDefaultPrevented()){r&&(i._jQueryInterface.call(e(r),"hide"),o||e(r).data(n,null));var c=this._getDimension();e(this._element).removeClass(h.COLLAPSE).addClass(h.COLLAPSING),this._element.style[c]=0,this._triggerArray.length&&e(this._triggerArray).removeClass(h.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var d=function(){e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).addClass(h.SHOW),t._element.style[c]="",t.setTransitioning(!1),e(t._element).trigger(l.SHOWN)};if(s.supportsTransitionEnd()){var f="scroll"+(c[0].toUpperCase()+c.slice(1));e(this._element).one(s.TRANSITION_END,d).emulateTransitionEnd(600),this._element.style[c]=this._element[f]+"px"}else d()}}}},d.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass(h.SHOW)){var n=e.Event(l.HIDE);if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",s.reflow(this._element),e(this._element).addClass(h.COLLAPSING).removeClass(h.COLLAPSE).removeClass(h.SHOW),this._triggerArray.length)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],a=s.getSelectorFromElement(o);null!==a&&(e(a).hasClass(h.SHOW)||e(o).addClass(h.COLLAPSED).attr("aria-expanded",!1))}this.setTransitioning(!0);var c=function(){t.setTransitioning(!1),e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).trigger(l.HIDDEN)};this._element.style[i]="",s.supportsTransitionEnd()?e(this._element).one(s.TRANSITION_END,c).emulateTransitionEnd(600):c()}}},d.setTransitioning=function(t){this._isTransitioning=t},d.dispose=function(){e.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},d._getConfig=function(n){return n=e.extend({},o,n),n.toggle=Boolean(n.toggle),s.typeCheckConfig(t,n,a),n},d._getDimension=function(){return e(this._element).hasClass(c.WIDTH)?c.WIDTH:c.HEIGHT},d._getParent=function(){var t=this,n=null;s.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=e(this._config.parent)[0];var r='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return e(n).find(r).each(function(e,n){t._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},d._addAriaAndCollapsedClass=function(t,n){if(t){var i=e(t).hasClass(h.SHOW);n.length&&e(n).toggleClass(h.COLLAPSED,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(t){var n=s.getSelectorFromElement(t);return n?e(n)[0]:null},i._jQueryInterface=function(t){return this.each(function(){var s=e(this),r=s.data(n),a=e.extend({},o,s.data(),"object"==typeof t&&t);if(!r&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),r||(r=new i(this,a),s.data(n,r)),"string"==typeof t){if("undefined"==typeof r[t])throw new Error('No method named "'+t+'"');r[t]()}})},r(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),i}();return e(document).on(l.CLICK_DATA_API,u.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var i=e(this),r=s.getSelectorFromElement(this);e(r).each(function(){var t=e(this),s=t.data(n)?"toggle":i.data();d._jQueryInterface.call(t,s)})}),e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),u=function(){if("undefined"==typeof n)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var t="dropdown",i="bs.dropdown",o="."+i,a=e.fn[t],l=new RegExp("38|40|27"),h={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},c={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},u={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},d={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},f={offset:0,flip:!0},_={offset:"(number|string|function)",flip:"boolean"},g=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var g=a.prototype;return g.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass(c.DISABLED)){var t=a._getParentFromElement(this._element),i=e(this._menu).hasClass(c.SHOW);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=e.Event(h.SHOW,s);if(e(t).trigger(r),!r.isDefaultPrevented()){var o=this._element;e(t).hasClass(c.DROPUP)&&(e(this._menu).hasClass(c.MENULEFT)||e(this._menu).hasClass(c.MENURIGHT))&&(o=t),this._popper=new n(o,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!e(t).closest(u.NAVBAR_NAV).length&&e("body").children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass(c.SHOW),e(t).toggleClass(c.SHOW).trigger(e.Event(h.SHOWN,s))}}}},g.dispose=function(){e.removeData(this._element,i),e(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},g.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},g._addEventListeners=function(){var t=this;e(this._element).on(h.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},g._getConfig=function(n){return n=e.extend({},this.constructor.Default,e(this._element).data(),n),s.typeCheckConfig(t,n,this.constructor.DefaultType),n},g._getMenuElement=function(){if(!this._menu){var t=a._getParentFromElement(this._element);this._menu=e(t).find(u.MENU)[0]}return this._menu},g._getPlacement=function(){var t=e(this._element).parent(),n=d.BOTTOM;return t.hasClass(c.DROPUP)?(n=d.TOP,e(this._menu).hasClass(c.MENURIGHT)&&(n=d.TOPEND)):e(this._menu).hasClass(c.MENURIGHT)&&(n=d.BOTTOMEND),n},g._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},g._getPopperConfig=function(){var t=this,n={};"function"==typeof this._config.offset?n.fn=function(n){return n.offsets=e.extend({},n.offsets,t._config.offset(n.offsets)||{}),n}:n.offset=this._config.offset;var i={placement:this._getPlacement(),modifiers:{offset:n,flip:{enabled:this._config.flip}}};return this._inNavbar&&(i.modifiers.applyStyle={enabled:!this._inNavbar}),i},a._jQueryInterface=function(t){return this.each(function(){var n=e(this).data(i),s="object"==typeof t?t:null;if(n||(n=new a(this,s),e(this).data(i,n)),"string"==typeof t){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},a._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=e.makeArray(e(u.DATA_TOGGLE)),s=0;s<n.length;s++){var r=a._getParentFromElement(n[s]),o=e(n[s]).data(i),l={relatedTarget:n[s]};if(o){var d=o._menu;if(e(r).hasClass(c.SHOW)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&e.contains(r,t.target))){var f=e.Event(h.HIDE,l);e(r).trigger(f),f.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),n[s].setAttribute("aria-expanded","false"),e(d).removeClass(c.SHOW),e(r).removeClass(c.SHOW).trigger(e.Event(h.HIDDEN,l)))}}}},a._getParentFromElement=function(t){var n,i=s.getSelectorFromElement(t);return i&&(n=e(i)[0]),n||t.parentNode},a._dataApiKeydownHandler=function(t){if(!(!l.test(t.which)||/button/i.test(t.target.tagName)&&32===t.which||/input|textarea/i.test(t.target.tagName)||(t.preventDefault(),t.stopPropagation(),this.disabled||e(this).hasClass(c.DISABLED)))){var n=a._getParentFromElement(this),i=e(n).hasClass(c.SHOW);if((i||27===t.which&&32===t.which)&&(!i||27!==t.which&&32!==t.which)){var s=e(n).find(u.VISIBLE_ITEMS).get();if(s.length){var r=s.indexOf(t.target);38===t.which&&r>0&&r--,40===t.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}else{if(27===t.which){var o=e(n).find(u.DATA_TOGGLE)[0];e(o).trigger("focus")}e(this).trigger("click")}}},r(a,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return f}},{key:"DefaultType",get:function(){return _}}]),a}();return e(document).on(h.KEYDOWN_DATA_API,u.DATA_TOGGLE,g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API,u.MENU,g._dataApiKeydownHandler).on(h.CLICK_DATA_API+" "+h.KEYUP_DATA_API,g._clearMenus).on(h.CLICK_DATA_API,u.DATA_TOGGLE,function(t){t.preventDefault(),t.stopPropagation(),g._jQueryInterface.call(e(this),"toggle")}).on(h.CLICK_DATA_API,u.FORM_CHILD,function(t){t.stopPropagation()}),e.fn[t]=g._jQueryInterface,e.fn[t].Constructor=g,e.fn[t].noConflict=function(){return e.fn[t]=a,g._jQueryInterface},g}(),d=function(){var t="modal",n=".bs.modal",i=e.fn[t],o={backdrop:!0,keyboard:!0,focus:!0,show:!0},a={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},l={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},h={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},c={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},u=function(){function i(t,n){this._config=this._getConfig(n),this._element=t,this._dialog=e(t).find(c.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var u=i.prototype;return u.toggle=function(t){return this._isShown?this.hide():this.show(t)},u.show=function(t){var n=this;if(!this._isTransitioning&&!this._isShown){s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE)&&(this._isTransitioning=!0);var i=e.Event(l.SHOW,{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),e(document.body).addClass(h.OPEN),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on(l.CLICK_DISMISS,c.DATA_DISMISS,function(t){return n.hide(t)}),e(this._dialog).on(l.MOUSEDOWN_DISMISS,function(){e(n._element).one(l.MOUSEUP_DISMISS,function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(t)}))}},u.hide=function(t){var n=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var i=e.Event(l.HIDE);if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off(l.FOCUSIN),e(this._element).removeClass(h.SHOW),e(this._element).off(l.CLICK_DISMISS),e(this._dialog).off(l.MOUSEDOWN_DISMISS),r?e(this._element).one(s.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},u.dispose=function(){e.removeData(this._element,"bs.modal"),e(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},u.handleUpdate=function(){this._adjustDialog()},u._getConfig=function(n){return n=e.extend({},o,n),s.typeCheckConfig(t,n,a),n},u._showElement=function(t){var n=this,i=s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&s.reflow(this._element),e(this._element).addClass(h.SHOW),this._config.focus&&this._enforceFocus();var r=e.Event(l.SHOWN,{relatedTarget:t}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(r)};i?e(this._dialog).one(s.TRANSITION_END,o).emulateTransitionEnd(300):o()},u._enforceFocus=function(){var t=this;e(document).off(l.FOCUSIN).on(l.FOCUSIN,function(n){document===n.target||t._element===n.target||e(t._element).has(n.target).length||t._element.focus()})},u._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?e(this._element).on(l.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||e(this._element).off(l.KEYDOWN_DISMISS)},u._setResizeEvent=function(){var t=this;this._isShown?e(window).on(l.RESIZE,function(e){return t.handleUpdate(e)}):e(window).off(l.RESIZE)},u._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){e(document.body).removeClass(h.OPEN),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger(l.HIDDEN)})},u._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},u._showBackdrop=function(t){var n=this,i=e(this._element).hasClass(h.FADE)?h.FADE:"";if(this._isShown&&this._config.backdrop){var r=s.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=h.BACKDROP,i&&e(this._backdrop).addClass(i),e(this._backdrop).appendTo(document.body),e(this._element).on(l.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&s.reflow(this._backdrop),e(this._backdrop).addClass(h.SHOW),!t)return;if(!r)return void t();e(this._backdrop).one(s.TRANSITION_END,t).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass(h.SHOW);var o=function(){n._removeBackdrop(),t&&t()};s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE)?e(this._backdrop).one(s.TRANSITION_END,o).emulateTransitionEnd(150):o()}else t&&t()},u._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},u._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},u._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},u._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){e(c.FIXED_CONTENT).each(function(n,i){var s=e(i)[0].style.paddingRight,r=e(i).css("padding-right");e(i).data("padding-right",s).css("padding-right",parseFloat(r)+t._scrollbarWidth+"px")}),e(c.STICKY_CONTENT).each(function(n,i){var s=e(i)[0].style.marginRight,r=e(i).css("margin-right");e(i).data("margin-right",s).css("margin-right",parseFloat(r)-t._scrollbarWidth+"px")}),e(c.NAVBAR_TOGGLER).each(function(n,i){var s=e(i)[0].style.marginRight,r=e(i).css("margin-right");e(i).data("margin-right",s).css("margin-right",parseFloat(r)+t._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=e("body").css("padding-right");e("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},u._resetScrollbar=function(){e(c.FIXED_CONTENT).each(function(t,n){var i=e(n).data("padding-right");"undefined"!=typeof i&&e(n).css("padding-right",i).removeData("padding-right")}),e(c.STICKY_CONTENT+", "+c.NAVBAR_TOGGLER).each(function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")});var t=e("body").data("padding-right");"undefined"!=typeof t&&e("body").css("padding-right",t).removeData("padding-right")},u._getScrollbarWidth=function(){var t=document.createElement("div");t.className=h.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},i._jQueryInterface=function(t,n){return this.each(function(){var s=e(this).data("bs.modal"),r=e.extend({},i.Default,e(this).data(),"object"==typeof t&&t);if(s||(s=new i(this,r),e(this).data("bs.modal",s)),"string"==typeof t){if("undefined"==typeof s[t])throw new Error('No method named "'+t+'"');s[t](n)}else r.show&&s.show(n)})},r(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),i}();return e(document).on(l.CLICK_DATA_API,c.DATA_TOGGLE,function(t){var n,i=this,r=s.getSelectorFromElement(this);r&&(n=e(r)[0]);var o=e(n).data("bs.modal")?"toggle":e.extend({},e(n).data(),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var a=e(n).one(l.SHOW,function(t){t.isDefaultPrevented()||a.one(l.HIDDEN,function(){e(i).is(":visible")&&i.focus()})});u._jQueryInterface.call(e(n),o,this)}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=i,u._jQueryInterface},u}(),f=function(){if("undefined"==typeof n)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var t="tooltip",i=".bs.tooltip",o=e.fn[t],a=new RegExp("(^|\\s)bs-tooltip\\S+","g"),l={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},h={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},c={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},u={SHOW:"show",OUT:"out"},d={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},f={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},g={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function o(t,e){this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var m=o.prototype;return m.enable=function(){this._isEnabled=!0},m.disable=function(){this._isEnabled=!1},m.toggleEnabled=function(){this._isEnabled=!this._isEnabled},m.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},m.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},m.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var r=e.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!r)return;var a=this.getTipElement(),l=s.getUID(this.constructor.NAME);a.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&e(a).addClass(f.FADE);var h="function"==typeof this.config.placement?this.config.placement.call(this,a,this.element):this.config.placement,c=this._getAttachment(h);this.addAttachmentClass(c);var d=!1===this.config.container?document.body:e(this.config.container);e(a).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(a).appendTo(d),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,a,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_.ARROW}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),e(a).addClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().on("mouseover",null,e.noop);var g=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),n===u.OUT&&t._leave(null,t)};s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(this.tip).one(s.TRANSITION_END,g).emulateTransitionEnd(o._TRANSITION_DURATION):g()}},m.hide=function(t){var n=this,i=this.getTipElement(),r=e.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==u.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};e(this.element).trigger(r),r.isDefaultPrevented()||(e(i).removeClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),this._activeTrigger[g.CLICK]=!1,this._activeTrigger[g.FOCUS]=!1,this._activeTrigger[g.HOVER]=!1,s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(i).one(s.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},m.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},m.isWithContent=function(){return Boolean(this.getTitle())},m.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},m.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},m.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(_.TOOLTIP_INNER),this.getTitle()),t.removeClass(f.FADE+" "+f.SHOW)},m.setElementContent=function(t,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},m.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},m._getAttachment=function(t){return h[t.toUpperCase()]},m._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==g.MANUAL){var i=n===g.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,s=n===g.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(s,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},m._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},m._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?g.FOCUS:g.HOVER]=!0),e(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===u.SHOW?n._hoverState=u.SHOW:(clearTimeout(n._timeout),n._hoverState=u.SHOW,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===u.SHOW&&n.show()},n.config.delay.show):n.show())},m._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?g.FOCUS:g.HOVER]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u.OUT,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u.OUT&&n.hide()},n.config.delay.hide):n.hide())},m._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},m._getConfig=function(n){return"number"==typeof(n=e.extend({},this.constructor.Default,e(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),s.typeCheckConfig(t,n,this.constructor.DefaultType),n},m._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},m._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(a);null!==n&&n.length>0&&t.removeClass(n.join(""))},m._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},m._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass(f.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},o._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new o(this,i),e(this).data("bs.tooltip",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(o,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return c}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return l}}]),o}();return e.fn[t]=m._jQueryInterface,e.fn[t].Constructor=m,e.fn[t].noConflict=function(){return e.fn[t]=o,m._jQueryInterface},m}(),_=function(){var t="popover",n=".bs.popover",i=e.fn[t],s=new RegExp("(^|\\s)bs-popover\\S+","g"),a=e.extend({},f.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),l=e.extend({},f.DefaultType,{content:"(string|element|function)"}),h={FADE:"fade",SHOW:"show"},c={TITLE:".popover-header",CONTENT:".popover-body"},u={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},d=function(i){function d(){return i.apply(this,arguments)||this}o(d,i);var f=d.prototype;return f.isWithContent=function(){return this.getTitle()||this._getContent()},f.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},f.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},f.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(c.TITLE),this.getTitle()),this.setElementContent(t.find(c.CONTENT),this._getContent()),t.removeClass(h.FADE+" "+h.SHOW)},f._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},f._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(s);null!==n&&n.length>0&&t.removeClass(n.join(""))},d._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/destroy|hide/.test(t))&&(n||(n=new d(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(d,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return u}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return l}}]),d}(f);return e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),g=function(){var t="scrollspy",n=e.fn[t],i={offset:10,method:"auto",target:""},o={offset:"number",method:"string",target:"(string|element)"},a={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},l={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},h={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},c={OFFSET:"offset",POSITION:"position"},u=function(){function n(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" "+h.NAV_LINKS+","+this._config.target+" "+h.LIST_ITEMS+","+this._config.target+" "+h.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(a.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var u=n.prototype;return u.refresh=function(){var t=this,n=this._scrollElement!==this._scrollElement.window?c.POSITION:c.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===c.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),e.makeArray(e(this._selector)).map(function(t){var n,o=s.getSelectorFromElement(t);if(o&&(n=e(o)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[e(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},u.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},u._getConfig=function(n){if("string"!=typeof(n=e.extend({},i,n)).target){var r=e(n.target).attr("id");r||(r=s.getUID(t),e(n.target).attr("id",r)),n.target="#"+r}return s.typeCheckConfig(t,n,o),n},u._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},u._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},u._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},u._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;)this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t<this._offsets[s+1])&&this._activate(this._targets[s])}},u._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",");n=n.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var i=e(n.join(","));i.hasClass(l.DROPDOWN_ITEM)?(i.closest(h.DROPDOWN).find(h.DROPDOWN_TOGGLE).addClass(l.ACTIVE),i.addClass(l.ACTIVE)):(i.addClass(l.ACTIVE),i.parents(h.NAV_LIST_GROUP).prev(h.NAV_LINKS+", "+h.LIST_ITEMS).addClass(l.ACTIVE),i.parents(h.NAV_LIST_GROUP).prev(h.NAV_ITEMS).children(h.NAV_LINKS).addClass(l.ACTIVE)),e(this._scrollElement).trigger(a.ACTIVATE,{relatedTarget:t})},u._clear=function(){e(this._selector).filter(h.ACTIVE).removeClass(l.ACTIVE)},n._jQueryInterface=function(t){return this.each(function(){var i=e(this).data("bs.scrollspy"),s="object"==typeof t&&t;if(i||(i=new n(this,s),e(this).data("bs.scrollspy",i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},r(n,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return i}}]),n}();return e(window).on(a.LOAD_DATA_API,function(){for(var t=e.makeArray(e(h.DATA_SPY)),n=t.length;n--;){var i=e(t[n]);u._jQueryInterface.call(i,i.data())}}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=n,u._jQueryInterface},u}(),m=function(){var t=e.fn.tab,n={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},i={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},o={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:"> li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},a=function(){function t(t){this._element=t}var a=t.prototype;return a.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(i.ACTIVE)||e(this._element).hasClass(i.DISABLED))){var r,a,l=e(this._element).closest(o.NAV_LIST_GROUP)[0],h=s.getSelectorFromElement(this._element);if(l){var c="UL"===l.nodeName?o.ACTIVE_UL:o.ACTIVE;a=e.makeArray(e(l).find(c)),a=a[a.length-1]}var u=e.Event(n.HIDE,{relatedTarget:this._element}),d=e.Event(n.SHOW,{relatedTarget:a});if(a&&e(a).trigger(u),e(this._element).trigger(d),!d.isDefaultPrevented()&&!u.isDefaultPrevented()){h&&(r=e(h)[0]),this._activate(this._element,l);var f=function(){var i=e.Event(n.HIDDEN,{relatedTarget:t._element}),s=e.Event(n.SHOWN,{relatedTarget:a});e(a).trigger(i),e(t._element).trigger(s)};r?this._activate(r,r.parentNode,f):f()}}},a.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},a._activate=function(t,n,r){var a,l=this,h=(a="UL"===n.nodeName?e(n).find(o.ACTIVE_UL):e(n).children(o.ACTIVE))[0],c=r&&s.supportsTransitionEnd()&&h&&e(h).hasClass(i.FADE),u=function(){return l._transitionComplete(t,h,c,r)};h&&c?e(h).one(s.TRANSITION_END,u).emulateTransitionEnd(150):u(),h&&e(h).removeClass(i.SHOW)},a._transitionComplete=function(t,n,r,a){if(n){e(n).removeClass(i.ACTIVE);var l=e(n.parentNode).find(o.DROPDOWN_ACTIVE_CHILD)[0];l&&e(l).removeClass(i.ACTIVE),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass(i.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),r?(s.reflow(t),e(t).addClass(i.SHOW)):e(t).removeClass(i.FADE),t.parentNode&&e(t.parentNode).hasClass(i.DROPDOWN_MENU)){var h=e(t).closest(o.DROPDOWN)[0];h&&e(h).find(o.DROPDOWN_TOGGLE).addClass(i.ACTIVE),t.setAttribute("aria-expanded",!0)}a&&a()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.tab");if(s||(s=new t(this),i.data("bs.tab",s)),"string"==typeof n){if("undefined"==typeof s[n])throw new Error('No method named "'+n+'"');s[n]()}})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(n.CLICK_DATA_API,o.DATA_TOGGLE,function(t){t.preventDefault(),a._jQueryInterface.call(e(this),"show")}),e.fn.tab=a._jQueryInterface,e.fn.tab.Constructor=a,e.fn.tab.noConflict=function(){return e.fn.tab=t,a._jQueryInterface},a}();return function(){if("undefined"==typeof e)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=s,t.Alert=a,t.Button=l,t.Carousel=h,t.Collapse=c,t.Dropdown=u,t.Modal=d,t.Popover=_,t.Scrollspy=g,t.Tab=m,t.Tooltip=f,t}({},$,Popper);
+//# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
diff --git a/workspace/public/js/bootstrap.min.js.map b/workspace/public/js/bootstrap.min.js.map
new file mode 100644
index 0000000..613897d
--- /dev/null
+++ b/workspace/public/js/bootstrap.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["Util","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","transition","end","event","$","target","is","this","handleObj","handler","apply","arguments","transitionEndTest","window","QUnit","el","document","createElement","name","TransitionEndEvent","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","getElementById","element","selector","getAttribute","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","CLASS_PREFIX","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Private TransitionEnd Helpers\n   * ------------------------------------------------------------------------\n   */\n\n  let transition = false\n\n  const MAX_UID = 1000000\n\n  const TransitionEndEvent = {\n    WebkitTransition : 'webkitTransitionEnd',\n    MozTransition    : 'transitionend',\n    OTransition      : 'oTransitionEnd otransitionend',\n    transition       : 'transitionend'\n  }\n\n  // shoutout AngusCroll (https://goo.gl/pxwQGp)\n  function toType(obj) {\n    return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n  }\n\n  function getSpecialTransitionEndEvent() {\n    return {\n      bindType: transition.end,\n      delegateType: transition.end,\n      handle(event) {\n        if ($(event.target).is(this)) {\n          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n        }\n        return undefined // eslint-disable-line no-undefined\n      }\n    }\n  }\n\n  function transitionEndTest() {\n    if (window.QUnit) {\n      return false\n    }\n\n    const el = document.createElement('bootstrap')\n\n    for (const name in TransitionEndEvent) {\n      if (typeof el.style[name] !== 'undefined') {\n        return {\n          end: TransitionEndEvent[name]\n        }\n      }\n    }\n\n    return false\n  }\n\n  function transitionEndEmulator(duration) {\n    let called = false\n\n    $(this).one(Util.TRANSITION_END, () => {\n      called = true\n    })\n\n    setTimeout(() => {\n      if (!called) {\n        Util.triggerTransitionEnd(this)\n      }\n    }, duration)\n\n    return this\n  }\n\n  function setTransitionEndSupport() {\n    transition = transitionEndTest()\n\n    $.fn.emulateTransitionEnd = transitionEndEmulator\n\n    if (Util.supportsTransitionEnd()) {\n      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n    }\n  }\n\n\n  /**\n   * --------------------------------------------------------------------------\n   * Public Util Api\n   * --------------------------------------------------------------------------\n   */\n\n  const Util = {\n\n    TRANSITION_END: 'bsTransitionEnd',\n\n    getUID(prefix) {\n      do {\n        // eslint-disable-next-line no-bitwise\n        prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n      } while (document.getElementById(prefix))\n      return prefix\n    },\n\n    getSelectorFromElement(element) {\n      let selector = element.getAttribute('data-target')\n      if (!selector || selector === '#') {\n        selector = element.getAttribute('href') || ''\n      }\n\n      try {\n        const $selector = $(document).find(selector)\n        return $selector.length > 0 ? selector : null\n      } catch (error) {\n        return null\n      }\n    },\n\n    reflow(element) {\n      return element.offsetHeight\n    },\n\n    triggerTransitionEnd(element) {\n      $(element).trigger(transition.end)\n    },\n\n    supportsTransitionEnd() {\n      return Boolean(transition)\n    },\n\n    isElement(obj) {\n      return (obj[0] || obj).nodeType\n    },\n\n    typeCheckConfig(componentName, config, configTypes) {\n      for (const property in configTypes) {\n        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n          const expectedTypes = configTypes[property]\n          const value         = config[property]\n          const valueType     = value && Util.isElement(value) ?\n                                'element' : toType(value)\n\n          if (!new RegExp(expectedTypes).test(valueType)) {\n            throw new Error(\n              `${componentName.toUpperCase()}: ` +\n              `Option \"${property}\" provided type \"${valueType}\" ` +\n              `but expected type \"${expectedTypes}\".`)\n          }\n        }\n      }\n    }\n  }\n\n  setTransitionEndSupport()\n\n  return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'alert'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.alert'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Selector = {\n    DISMISS : '[data-dismiss=\"alert\"]'\n  }\n\n  const Event = {\n    CLOSE          : `close${EVENT_KEY}`,\n    CLOSED         : `closed${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    ALERT : 'alert',\n    FADE  : 'fade',\n    SHOW  : 'show'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Alert {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    close(element) {\n      element = element || this._element\n\n      const rootElement = this._getRootElement(element)\n      const customEvent = this._triggerCloseEvent(rootElement)\n\n      if (customEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._removeElement(rootElement)\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _getRootElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      let parent     = false\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      if (!parent) {\n        parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n      }\n\n      return parent\n    }\n\n    _triggerCloseEvent(element) {\n      const closeEvent = $.Event(Event.CLOSE)\n\n      $(element).trigger(closeEvent)\n      return closeEvent\n    }\n\n    _removeElement(element) {\n      $(element).removeClass(ClassName.SHOW)\n\n      if (!Util.supportsTransitionEnd() ||\n          !$(element).hasClass(ClassName.FADE)) {\n        this._destroyElement(element)\n        return\n      }\n\n      $(element)\n        .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    _destroyElement(element) {\n      $(element)\n        .detach()\n        .trigger(Event.CLOSED)\n        .remove()\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $element = $(this)\n        let data       = $element.data(DATA_KEY)\n\n        if (!data) {\n          data = new Alert(this)\n          $element.data(DATA_KEY, data)\n        }\n\n        if (config === 'close') {\n          data[config](this)\n        }\n      })\n    }\n\n    static _handleDismiss(alertInstance) {\n      return function (event) {\n        if (event) {\n          event.preventDefault()\n        }\n\n        alertInstance.close(this)\n      }\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(\n    Event.CLICK_DATA_API,\n    Selector.DISMISS,\n    Alert._handleDismiss(new Alert())\n  )\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Alert._jQueryInterface\n  $.fn[NAME].Constructor = Alert\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Alert._jQueryInterface\n  }\n\n  return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'button'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.button'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n\n  const ClassName = {\n    ACTIVE : 'active',\n    BUTTON : 'btn',\n    FOCUS  : 'focus'\n  }\n\n  const Selector = {\n    DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n    DATA_TOGGLE        : '[data-toggle=\"buttons\"]',\n    INPUT              : 'input',\n    ACTIVE             : '.active',\n    BUTTON             : '.btn'\n  }\n\n  const Event = {\n    CLICK_DATA_API      : `click${EVENT_KEY}${DATA_API_KEY}`,\n    FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n                        + `blur${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Button {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    toggle() {\n      let triggerChangeEvent = true\n      let addAriaPressed = true\n      const rootElement      = $(this._element).closest(\n        Selector.DATA_TOGGLE\n      )[0]\n\n      if (rootElement) {\n        const input = $(this._element).find(Selector.INPUT)[0]\n\n        if (input) {\n          if (input.type === 'radio') {\n            if (input.checked &&\n              $(this._element).hasClass(ClassName.ACTIVE)) {\n              triggerChangeEvent = false\n\n            } else {\n              const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n              if (activeElement) {\n                $(activeElement).removeClass(ClassName.ACTIVE)\n              }\n            }\n          }\n\n          if (triggerChangeEvent) {\n            if (input.hasAttribute('disabled') ||\n              rootElement.hasAttribute('disabled') ||\n              input.classList.contains('disabled') ||\n              rootElement.classList.contains('disabled')) {\n              return\n            }\n            input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n            $(input).trigger('change')\n          }\n\n          input.focus()\n          addAriaPressed = false\n        }\n\n      }\n\n      if (addAriaPressed) {\n        this._element.setAttribute('aria-pressed',\n          !$(this._element).hasClass(ClassName.ACTIVE))\n      }\n\n      if (triggerChangeEvent) {\n        $(this._element).toggleClass(ClassName.ACTIVE)\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n\n        if (!data) {\n          data = new Button(this)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (config === 'toggle') {\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      event.preventDefault()\n\n      let button = event.target\n\n      if (!$(button).hasClass(ClassName.BUTTON)) {\n        button = $(button).closest(Selector.BUTTON)\n      }\n\n      Button._jQueryInterface.call($(button), 'toggle')\n    })\n    .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n      const button = $(event.target).closest(Selector.BUTTON)[0]\n      $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Button._jQueryInterface\n  $.fn[NAME].Constructor = Button\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Button._jQueryInterface\n  }\n\n  return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                   = 'carousel'\n  const VERSION                = '4.0.0-beta.2'\n  const DATA_KEY               = 'bs.carousel'\n  const EVENT_KEY              = `.${DATA_KEY}`\n  const DATA_API_KEY           = '.data-api'\n  const JQUERY_NO_CONFLICT     = $.fn[NAME]\n  const TRANSITION_DURATION    = 600\n  const ARROW_LEFT_KEYCODE     = 37 // KeyboardEvent.which value for left arrow key\n  const ARROW_RIGHT_KEYCODE    = 39 // KeyboardEvent.which value for right arrow key\n  const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n  const Default = {\n    interval : 5000,\n    keyboard : true,\n    slide    : false,\n    pause    : 'hover',\n    wrap     : true\n  }\n\n  const DefaultType = {\n    interval : '(number|boolean)',\n    keyboard : 'boolean',\n    slide    : '(boolean|string)',\n    pause    : '(string|boolean)',\n    wrap     : 'boolean'\n  }\n\n  const Direction = {\n    NEXT     : 'next',\n    PREV     : 'prev',\n    LEFT     : 'left',\n    RIGHT    : 'right'\n  }\n\n  const Event = {\n    SLIDE          : `slide${EVENT_KEY}`,\n    SLID           : `slid${EVENT_KEY}`,\n    KEYDOWN        : `keydown${EVENT_KEY}`,\n    MOUSEENTER     : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE     : `mouseleave${EVENT_KEY}`,\n    TOUCHEND       : `touchend${EVENT_KEY}`,\n    LOAD_DATA_API  : `load${EVENT_KEY}${DATA_API_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    CAROUSEL : 'carousel',\n    ACTIVE   : 'active',\n    SLIDE    : 'slide',\n    RIGHT    : 'carousel-item-right',\n    LEFT     : 'carousel-item-left',\n    NEXT     : 'carousel-item-next',\n    PREV     : 'carousel-item-prev',\n    ITEM     : 'carousel-item'\n  }\n\n  const Selector = {\n    ACTIVE      : '.active',\n    ACTIVE_ITEM : '.active.carousel-item',\n    ITEM        : '.carousel-item',\n    NEXT_PREV   : '.carousel-item-next, .carousel-item-prev',\n    INDICATORS  : '.carousel-indicators',\n    DATA_SLIDE  : '[data-slide], [data-slide-to]',\n    DATA_RIDE   : '[data-ride=\"carousel\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Carousel {\n\n    constructor(element, config) {\n      this._items             = null\n      this._interval          = null\n      this._activeElement     = null\n\n      this._isPaused          = false\n      this._isSliding         = false\n\n      this.touchTimeout       = null\n\n      this._config            = this._getConfig(config)\n      this._element           = $(element)[0]\n      this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    next() {\n      if (!this._isSliding) {\n        this._slide(Direction.NEXT)\n      }\n    }\n\n    nextWhenVisible() {\n      // Don't call next when the page isn't visible\n      // or the carousel or its parent isn't visible\n      if (!document.hidden &&\n        ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n        this.next()\n      }\n    }\n\n    prev() {\n      if (!this._isSliding) {\n        this._slide(Direction.PREV)\n      }\n    }\n\n    pause(event) {\n      if (!event) {\n        this._isPaused = true\n      }\n\n      if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n        Util.supportsTransitionEnd()) {\n        Util.triggerTransitionEnd(this._element)\n        this.cycle(true)\n      }\n\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    cycle(event) {\n      if (!event) {\n        this._isPaused = false\n      }\n\n      if (this._interval) {\n        clearInterval(this._interval)\n        this._interval = null\n      }\n\n      if (this._config.interval && !this._isPaused) {\n        this._interval = setInterval(\n          (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n          this._config.interval\n        )\n      }\n    }\n\n    to(index) {\n      this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n      const activeIndex = this._getItemIndex(this._activeElement)\n\n      if (index > this._items.length - 1 || index < 0) {\n        return\n      }\n\n      if (this._isSliding) {\n        $(this._element).one(Event.SLID, () => this.to(index))\n        return\n      }\n\n      if (activeIndex === index) {\n        this.pause()\n        this.cycle()\n        return\n      }\n\n      const direction = index > activeIndex ?\n        Direction.NEXT :\n        Direction.PREV\n\n      this._slide(direction, this._items[index])\n    }\n\n    dispose() {\n      $(this._element).off(EVENT_KEY)\n      $.removeData(this._element, DATA_KEY)\n\n      this._items             = null\n      this._config            = null\n      this._element           = null\n      this._interval          = null\n      this._isPaused          = null\n      this._isSliding         = null\n      this._activeElement     = null\n      this._indicatorsElement = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _addEventListeners() {\n      if (this._config.keyboard) {\n        $(this._element)\n          .on(Event.KEYDOWN, (event) => this._keydown(event))\n      }\n\n      if (this._config.pause === 'hover') {\n        $(this._element)\n          .on(Event.MOUSEENTER, (event) => this.pause(event))\n          .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n        if ('ontouchstart' in document.documentElement) {\n          // if it's a touch-enabled device, mouseenter/leave are fired as\n          // part of the mouse compatibility events on first tap - the carousel\n          // would stop cycling until user tapped out of it;\n          // here, we listen for touchend, explicitly pause the carousel\n          // (as if it's the second time we tap on it, mouseenter compat event\n          // is NOT fired) and after a timeout (to allow for mouse compatibility\n          // events to fire) we explicitly restart cycling\n          $(this._element).on(Event.TOUCHEND, () => {\n            this.pause()\n            if (this.touchTimeout) {\n              clearTimeout(this.touchTimeout)\n            }\n            this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n          })\n        }\n      }\n    }\n\n    _keydown(event) {\n      if (/input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      switch (event.which) {\n        case ARROW_LEFT_KEYCODE:\n          event.preventDefault()\n          this.prev()\n          break\n        case ARROW_RIGHT_KEYCODE:\n          event.preventDefault()\n          this.next()\n          break\n        default:\n          return\n      }\n    }\n\n    _getItemIndex(element) {\n      this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n      return this._items.indexOf(element)\n    }\n\n    _getItemByDirection(direction, activeElement) {\n      const isNextDirection = direction === Direction.NEXT\n      const isPrevDirection = direction === Direction.PREV\n      const activeIndex     = this._getItemIndex(activeElement)\n      const lastItemIndex   = this._items.length - 1\n      const isGoingToWrap   = isPrevDirection && activeIndex === 0 ||\n                              isNextDirection && activeIndex === lastItemIndex\n\n      if (isGoingToWrap && !this._config.wrap) {\n        return activeElement\n      }\n\n      const delta     = direction === Direction.PREV ? -1 : 1\n      const itemIndex = (activeIndex + delta) % this._items.length\n\n      return itemIndex === -1 ?\n        this._items[this._items.length - 1] : this._items[itemIndex]\n    }\n\n\n    _triggerSlideEvent(relatedTarget, eventDirectionName) {\n      const targetIndex = this._getItemIndex(relatedTarget)\n      const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n      const slideEvent = $.Event(Event.SLIDE, {\n        relatedTarget,\n        direction: eventDirectionName,\n        from: fromIndex,\n        to: targetIndex\n      })\n\n      $(this._element).trigger(slideEvent)\n\n      return slideEvent\n    }\n\n    _setActiveIndicatorElement(element) {\n      if (this._indicatorsElement) {\n        $(this._indicatorsElement)\n          .find(Selector.ACTIVE)\n          .removeClass(ClassName.ACTIVE)\n\n        const nextIndicator = this._indicatorsElement.children[\n          this._getItemIndex(element)\n        ]\n\n        if (nextIndicator) {\n          $(nextIndicator).addClass(ClassName.ACTIVE)\n        }\n      }\n    }\n\n    _slide(direction, element) {\n      const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n      const activeElementIndex = this._getItemIndex(activeElement)\n      const nextElement   = element || activeElement &&\n        this._getItemByDirection(direction, activeElement)\n      const nextElementIndex = this._getItemIndex(nextElement)\n      const isCycling = Boolean(this._interval)\n\n      let directionalClassName\n      let orderClassName\n      let eventDirectionName\n\n      if (direction === Direction.NEXT) {\n        directionalClassName = ClassName.LEFT\n        orderClassName = ClassName.NEXT\n        eventDirectionName = Direction.LEFT\n      } else {\n        directionalClassName = ClassName.RIGHT\n        orderClassName = ClassName.PREV\n        eventDirectionName = Direction.RIGHT\n      }\n\n      if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n        this._isSliding = false\n        return\n      }\n\n      const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n      if (slideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (!activeElement || !nextElement) {\n        // some weirdness is happening, so we bail\n        return\n      }\n\n      this._isSliding = true\n\n      if (isCycling) {\n        this.pause()\n      }\n\n      this._setActiveIndicatorElement(nextElement)\n\n      const slidEvent = $.Event(Event.SLID, {\n        relatedTarget: nextElement,\n        direction: eventDirectionName,\n        from: activeElementIndex,\n        to: nextElementIndex\n      })\n\n      if (Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.SLIDE)) {\n\n        $(nextElement).addClass(orderClassName)\n\n        Util.reflow(nextElement)\n\n        $(activeElement).addClass(directionalClassName)\n        $(nextElement).addClass(directionalClassName)\n\n        $(activeElement)\n          .one(Util.TRANSITION_END, () => {\n            $(nextElement)\n              .removeClass(`${directionalClassName} ${orderClassName}`)\n              .addClass(ClassName.ACTIVE)\n\n            $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n            this._isSliding = false\n\n            setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n          })\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        $(activeElement).removeClass(ClassName.ACTIVE)\n        $(nextElement).addClass(ClassName.ACTIVE)\n\n        this._isSliding = false\n        $(this._element).trigger(slidEvent)\n      }\n\n      if (isCycling) {\n        this.cycle()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend({}, Default, $(this).data())\n\n        if (typeof config === 'object') {\n          $.extend(_config, config)\n        }\n\n        const action = typeof config === 'string' ? config : _config.slide\n\n        if (!data) {\n          data = new Carousel(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'number') {\n          data.to(config)\n        } else if (typeof action === 'string') {\n          if (typeof data[action] === 'undefined') {\n            throw new Error(`No method named \"${action}\"`)\n          }\n          data[action]()\n        } else if (_config.interval) {\n          data.pause()\n          data.cycle()\n        }\n      })\n    }\n\n    static _dataApiClickHandler(event) {\n      const selector = Util.getSelectorFromElement(this)\n\n      if (!selector) {\n        return\n      }\n\n      const target = $(selector)[0]\n\n      if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n        return\n      }\n\n      const config     = $.extend({}, $(target).data(), $(this).data())\n      const slideIndex = this.getAttribute('data-slide-to')\n\n      if (slideIndex) {\n        config.interval = false\n      }\n\n      Carousel._jQueryInterface.call($(target), config)\n\n      if (slideIndex) {\n        $(target).data(DATA_KEY).to(slideIndex)\n      }\n\n      event.preventDefault()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    $(Selector.DATA_RIDE).each(function () {\n      const $carousel = $(this)\n      Carousel._jQueryInterface.call($carousel, $carousel.data())\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Carousel._jQueryInterface\n  $.fn[NAME].Constructor = Carousel\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Carousel._jQueryInterface\n  }\n\n  return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'collapse'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.collapse'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 600\n\n  const Default = {\n    toggle : true,\n    parent : ''\n  }\n\n  const DefaultType = {\n    toggle : 'boolean',\n    parent : '(string|element)'\n  }\n\n  const Event = {\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SHOW       : 'show',\n    COLLAPSE   : 'collapse',\n    COLLAPSING : 'collapsing',\n    COLLAPSED  : 'collapsed'\n  }\n\n  const Dimension = {\n    WIDTH  : 'width',\n    HEIGHT : 'height'\n  }\n\n  const Selector = {\n    ACTIVES     : '.show, .collapsing',\n    DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Collapse {\n\n    constructor(element, config) {\n      this._isTransitioning = false\n      this._element         = element\n      this._config          = this._getConfig(config)\n      this._triggerArray    = $.makeArray($(\n        `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n        `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n      ))\n      const tabToggles = $(Selector.DATA_TOGGLE)\n      for (let i = 0; i < tabToggles.length; i++) {\n        const elem = tabToggles[i]\n        const selector = Util.getSelectorFromElement(elem)\n        if (selector !== null && $(selector).filter(element).length > 0) {\n          this._triggerArray.push(elem)\n        }\n      }\n\n      this._parent = this._config.parent ? this._getParent() : null\n\n      if (!this._config.parent) {\n        this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n      }\n\n      if (this._config.toggle) {\n        this.toggle()\n      }\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle() {\n      if ($(this._element).hasClass(ClassName.SHOW)) {\n        this.hide()\n      } else {\n        this.show()\n      }\n    }\n\n    show() {\n      if (this._isTransitioning ||\n        $(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      let actives\n      let activesData\n\n      if (this._parent) {\n        actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n        if (!actives.length) {\n          actives = null\n        }\n      }\n\n      if (actives) {\n        activesData = $(actives).data(DATA_KEY)\n        if (activesData && activesData._isTransitioning) {\n          return\n        }\n      }\n\n      const startEvent = $.Event(Event.SHOW)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (actives) {\n        Collapse._jQueryInterface.call($(actives), 'hide')\n        if (!activesData) {\n          $(actives).data(DATA_KEY, null)\n        }\n      }\n\n      const dimension = this._getDimension()\n\n      $(this._element)\n        .removeClass(ClassName.COLLAPSE)\n        .addClass(ClassName.COLLAPSING)\n\n      this._element.style[dimension] = 0\n\n      if (this._triggerArray.length) {\n        $(this._triggerArray)\n          .removeClass(ClassName.COLLAPSED)\n          .attr('aria-expanded', true)\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .addClass(ClassName.SHOW)\n\n        this._element.style[dimension] = ''\n\n        this.setTransitioning(false)\n\n        $(this._element).trigger(Event.SHOWN)\n      }\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n      const scrollSize           = `scroll${capitalizedDimension}`\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n\n      this._element.style[dimension] = `${this._element[scrollSize]}px`\n    }\n\n    hide() {\n      if (this._isTransitioning ||\n        !$(this._element).hasClass(ClassName.SHOW)) {\n        return\n      }\n\n      const startEvent = $.Event(Event.HIDE)\n      $(this._element).trigger(startEvent)\n      if (startEvent.isDefaultPrevented()) {\n        return\n      }\n\n      const dimension       = this._getDimension()\n\n      this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n      Util.reflow(this._element)\n\n      $(this._element)\n        .addClass(ClassName.COLLAPSING)\n        .removeClass(ClassName.COLLAPSE)\n        .removeClass(ClassName.SHOW)\n\n      if (this._triggerArray.length) {\n        for (let i = 0; i < this._triggerArray.length; i++) {\n          const trigger = this._triggerArray[i]\n          const selector = Util.getSelectorFromElement(trigger)\n          if (selector !== null) {\n            const $elem = $(selector)\n            if (!$elem.hasClass(ClassName.SHOW)) {\n              $(trigger).addClass(ClassName.COLLAPSED)\n                   .attr('aria-expanded', false)\n            }\n          }\n        }\n      }\n\n      this.setTransitioning(true)\n\n      const complete = () => {\n        this.setTransitioning(false)\n        $(this._element)\n          .removeClass(ClassName.COLLAPSING)\n          .addClass(ClassName.COLLAPSE)\n          .trigger(Event.HIDDEN)\n      }\n\n      this._element.style[dimension] = ''\n\n      if (!Util.supportsTransitionEnd()) {\n        complete()\n        return\n      }\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(TRANSITION_DURATION)\n    }\n\n    setTransitioning(isTransitioning) {\n      this._isTransitioning = isTransitioning\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      this._config          = null\n      this._parent          = null\n      this._element         = null\n      this._triggerArray    = null\n      this._isTransitioning = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      config.toggle = Boolean(config.toggle) // coerce string values\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _getDimension() {\n      const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n    }\n\n    _getParent() {\n      let parent = null\n      if (Util.isElement(this._config.parent)) {\n        parent = this._config.parent\n\n        // it's a jQuery object\n        if (typeof this._config.parent.jquery !== 'undefined') {\n          parent = this._config.parent[0]\n        }\n      } else {\n        parent = $(this._config.parent)[0]\n      }\n\n      const selector =\n        `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n      $(parent).find(selector).each((i, element) => {\n        this._addAriaAndCollapsedClass(\n          Collapse._getTargetFromElement(element),\n          [element]\n        )\n      })\n\n      return parent\n    }\n\n    _addAriaAndCollapsedClass(element, triggerArray) {\n      if (element) {\n        const isOpen = $(element).hasClass(ClassName.SHOW)\n\n        if (triggerArray.length) {\n          $(triggerArray)\n            .toggleClass(ClassName.COLLAPSED, !isOpen)\n            .attr('aria-expanded', isOpen)\n        }\n      }\n    }\n\n\n    // static\n\n    static _getTargetFromElement(element) {\n      const selector = Util.getSelectorFromElement(element)\n      return selector ? $(selector)[0] : null\n    }\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this   = $(this)\n        let data      = $this.data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Default,\n          $this.data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data && _config.toggle && /show|hide/.test(config)) {\n          _config.toggle = false\n        }\n\n        if (!data) {\n          data = new Collapse(this, _config)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n    if (event.currentTarget.tagName === 'A') {\n      event.preventDefault()\n    }\n\n    const $trigger = $(this)\n    const selector = Util.getSelectorFromElement(this)\n    $(selector).each(function () {\n      const $target = $(this)\n      const data    = $target.data(DATA_KEY)\n      const config  = data ? 'toggle' : $trigger.data()\n      Collapse._jQueryInterface.call($target, config)\n    })\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Collapse._jQueryInterface\n  $.fn[NAME].Constructor = Collapse\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Collapse._jQueryInterface\n  }\n\n  return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                     = 'dropdown'\n  const VERSION                  = '4.0.0-beta.2'\n  const DATA_KEY                 = 'bs.dropdown'\n  const EVENT_KEY                = `.${DATA_KEY}`\n  const DATA_API_KEY             = '.data-api'\n  const JQUERY_NO_CONFLICT       = $.fn[NAME]\n  const ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\n  const SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\n  const TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\n  const ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\n  const ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\n  const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n  const REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n  const Event = {\n    HIDE             : `hide${EVENT_KEY}`,\n    HIDDEN           : `hidden${EVENT_KEY}`,\n    SHOW             : `show${EVENT_KEY}`,\n    SHOWN            : `shown${EVENT_KEY}`,\n    CLICK            : `click${EVENT_KEY}`,\n    CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,\n    KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n    KEYUP_DATA_API   : `keyup${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DISABLED  : 'disabled',\n    SHOW      : 'show',\n    DROPUP    : 'dropup',\n    MENURIGHT : 'dropdown-menu-right',\n    MENULEFT  : 'dropdown-menu-left'\n  }\n\n  const Selector = {\n    DATA_TOGGLE   : '[data-toggle=\"dropdown\"]',\n    FORM_CHILD    : '.dropdown form',\n    MENU          : '.dropdown-menu',\n    NAVBAR_NAV    : '.navbar-nav',\n    VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n  }\n\n  const AttachmentMap = {\n    TOP       : 'top-start',\n    TOPEND    : 'top-end',\n    BOTTOM    : 'bottom-start',\n    BOTTOMEND : 'bottom-end'\n  }\n\n  const Default = {\n    offset      : 0,\n    flip        : true\n  }\n\n  const DefaultType = {\n    offset      : '(number|string|function)',\n    flip        : 'boolean'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Dropdown {\n\n    constructor(element, config) {\n      this._element  = element\n      this._popper   = null\n      this._config   = this._getConfig(config)\n      this._menu     = this._getMenuElement()\n      this._inNavbar = this._detectNavbar()\n\n      this._addEventListeners()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n    // public\n\n    toggle() {\n      if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this._element)\n      const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n      Dropdown._clearMenus()\n\n      if (isActive) {\n        return\n      }\n\n      const relatedTarget = {\n        relatedTarget : this._element\n      }\n      const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n      $(parent).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      let element = this._element\n      // for dropup with alignment we use the parent as popper container\n      if ($(parent).hasClass(ClassName.DROPUP)) {\n        if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n          element = parent\n        }\n      }\n      this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n      // if this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement &&\n         !$(parent).closest(Selector.NAVBAR_NAV).length) {\n        $('body').children().on('mouseover', null, $.noop)\n      }\n\n      this._element.focus()\n      this._element.setAttribute('aria-expanded', true)\n\n      $(this._menu).toggleClass(ClassName.SHOW)\n      $(parent)\n        .toggleClass(ClassName.SHOW)\n        .trigger($.Event(Event.SHOWN, relatedTarget))\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._element).off(EVENT_KEY)\n      this._element = null\n      this._menu = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n      this._popper = null\n    }\n\n    update() {\n      this._inNavbar = this._detectNavbar()\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // private\n\n    _addEventListeners() {\n      $(this._element).on(Event.CLICK, (event) => {\n        event.preventDefault()\n        event.stopPropagation()\n        this.toggle()\n      })\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this._element).data(),\n        config\n      )\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getMenuElement() {\n      if (!this._menu) {\n        const parent = Dropdown._getParentFromElement(this._element)\n        this._menu = $(parent).find(Selector.MENU)[0]\n      }\n      return this._menu\n    }\n\n    _getPlacement() {\n      const $parentDropdown = $(this._element).parent()\n      let placement = AttachmentMap.BOTTOM\n\n      // Handle dropup\n      if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n        placement = AttachmentMap.TOP\n        if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n          placement = AttachmentMap.TOPEND\n        }\n      } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.BOTTOMEND\n      }\n      return placement\n    }\n\n    _detectNavbar() {\n      return $(this._element).closest('.navbar').length > 0\n    }\n\n    _getPopperConfig() {\n      const offsetConf = {}\n      if (typeof this._config.offset === 'function') {\n        offsetConf.fn = (data) => {\n          data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n          return data\n        }\n      } else {\n        offsetConf.offset = this._config.offset\n      }\n      const popperConfig = {\n        placement : this._getPlacement(),\n        modifiers : {\n          offset : offsetConf,\n          flip : {\n            enabled : this._config.flip\n          }\n        }\n      }\n\n      // Disable Popper.js for Dropdown in Navbar\n      if (this._inNavbar) {\n        popperConfig.modifiers.applyStyle = {\n          enabled: !this._inNavbar\n        }\n      }\n      return popperConfig\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data) {\n          data = new Dropdown(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n    static _clearMenus(event) {\n      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n        event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n        return\n      }\n\n      const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n      for (let i = 0; i < toggles.length; i++) {\n        const parent        = Dropdown._getParentFromElement(toggles[i])\n        const context       = $(toggles[i]).data(DATA_KEY)\n        const relatedTarget = {\n          relatedTarget : toggles[i]\n        }\n\n        if (!context) {\n          continue\n        }\n\n        const dropdownMenu = context._menu\n        if (!$(parent).hasClass(ClassName.SHOW)) {\n          continue\n        }\n\n        if (event && (event.type === 'click' &&\n            /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n            && $.contains(parent, event.target)) {\n          continue\n        }\n\n        const hideEvent = $.Event(Event.HIDE, relatedTarget)\n        $(parent).trigger(hideEvent)\n        if (hideEvent.isDefaultPrevented()) {\n          continue\n        }\n\n        // if this is a touch-enabled device we remove the extra\n        // empty mouseover listeners we added for iOS support\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().off('mouseover', null, $.noop)\n        }\n\n        toggles[i].setAttribute('aria-expanded', 'false')\n\n        $(dropdownMenu).removeClass(ClassName.SHOW)\n        $(parent)\n          .removeClass(ClassName.SHOW)\n          .trigger($.Event(Event.HIDDEN, relatedTarget))\n      }\n    }\n\n    static _getParentFromElement(element) {\n      let parent\n      const selector = Util.getSelectorFromElement(element)\n\n      if (selector) {\n        parent = $(selector)[0]\n      }\n\n      return parent || element.parentNode\n    }\n\n    static _dataApiKeydownHandler(event) {\n      if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n         /input|textarea/i.test(event.target.tagName)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n\n      if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      const parent   = Dropdown._getParentFromElement(this)\n      const isActive = $(parent).hasClass(ClassName.SHOW)\n\n      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n           isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n        if (event.which === ESCAPE_KEYCODE) {\n          const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n          $(toggle).trigger('focus')\n        }\n\n        $(this).trigger('click')\n        return\n      }\n\n      const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n      if (!items.length) {\n        return\n      }\n\n      let index = items.indexOf(event.target)\n\n      if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n        index--\n      }\n\n      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n        index++\n      }\n\n      if (index < 0) {\n        index = 0\n      }\n\n      items[index].focus()\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE,  Dropdown._dataApiKeydownHandler)\n    .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n    .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      event.stopPropagation()\n      Dropdown._jQueryInterface.call($(this), 'toggle')\n    })\n    .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n      e.stopPropagation()\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Dropdown._jQueryInterface\n  $.fn[NAME].Constructor = Dropdown\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Dropdown._jQueryInterface\n  }\n\n  return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                         = 'modal'\n  const VERSION                      = '4.0.0-beta.2'\n  const DATA_KEY                     = 'bs.modal'\n  const EVENT_KEY                    = `.${DATA_KEY}`\n  const DATA_API_KEY                 = '.data-api'\n  const JQUERY_NO_CONFLICT           = $.fn[NAME]\n  const TRANSITION_DURATION          = 300\n  const BACKDROP_TRANSITION_DURATION = 150\n  const ESCAPE_KEYCODE               = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n  const Default = {\n    backdrop : true,\n    keyboard : true,\n    focus    : true,\n    show     : true\n  }\n\n  const DefaultType = {\n    backdrop : '(boolean|string)',\n    keyboard : 'boolean',\n    focus    : 'boolean',\n    show     : 'boolean'\n  }\n\n  const Event = {\n    HIDE              : `hide${EVENT_KEY}`,\n    HIDDEN            : `hidden${EVENT_KEY}`,\n    SHOW              : `show${EVENT_KEY}`,\n    SHOWN             : `shown${EVENT_KEY}`,\n    FOCUSIN           : `focusin${EVENT_KEY}`,\n    RESIZE            : `resize${EVENT_KEY}`,\n    CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n    KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n    MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n    MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n    CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n    BACKDROP           : 'modal-backdrop',\n    OPEN               : 'modal-open',\n    FADE               : 'fade',\n    SHOW               : 'show'\n  }\n\n  const Selector = {\n    DIALOG             : '.modal-dialog',\n    DATA_TOGGLE        : '[data-toggle=\"modal\"]',\n    DATA_DISMISS       : '[data-dismiss=\"modal\"]',\n    FIXED_CONTENT      : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n    STICKY_CONTENT     : '.sticky-top',\n    NAVBAR_TOGGLER     : '.navbar-toggler'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Modal {\n\n    constructor(element, config) {\n      this._config              = this._getConfig(config)\n      this._element             = element\n      this._dialog              = $(element).find(Selector.DIALOG)[0]\n      this._backdrop            = null\n      this._isShown             = false\n      this._isBodyOverflowing   = false\n      this._ignoreBackdropClick = false\n      this._originalBodyPadding = 0\n      this._scrollbarWidth      = 0\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    toggle(relatedTarget) {\n      return this._isShown ? this.hide() : this.show(relatedTarget)\n    }\n\n    show(relatedTarget) {\n      if (this._isTransitioning || this._isShown) {\n        return\n      }\n\n      if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n        this._isTransitioning = true\n      }\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget\n      })\n\n      $(this._element).trigger(showEvent)\n\n      if (this._isShown || showEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = true\n\n      this._checkScrollbar()\n      this._setScrollbar()\n\n      this._adjustDialog()\n\n      $(document.body).addClass(ClassName.OPEN)\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(this._element).on(\n        Event.CLICK_DISMISS,\n        Selector.DATA_DISMISS,\n        (event) => this.hide(event)\n      )\n\n      $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n        $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n          if ($(event.target).is(this._element)) {\n            this._ignoreBackdropClick = true\n          }\n        })\n      })\n\n      this._showBackdrop(() => this._showElement(relatedTarget))\n    }\n\n    hide(event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      if (this._isTransitioning || !this._isShown) {\n        return\n      }\n\n      const hideEvent = $.Event(Event.HIDE)\n\n      $(this._element).trigger(hideEvent)\n\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      this._isShown = false\n\n      const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n      if (transition) {\n        this._isTransitioning = true\n      }\n\n      this._setEscapeEvent()\n      this._setResizeEvent()\n\n      $(document).off(Event.FOCUSIN)\n\n      $(this._element).removeClass(ClassName.SHOW)\n\n      $(this._element).off(Event.CLICK_DISMISS)\n      $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n      if (transition) {\n\n        $(this._element)\n          .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        this._hideModal()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n\n      $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n      this._config              = null\n      this._element             = null\n      this._dialog              = null\n      this._backdrop            = null\n      this._isShown             = null\n      this._isBodyOverflowing   = null\n      this._ignoreBackdropClick = null\n      this._scrollbarWidth      = null\n    }\n\n    handleUpdate() {\n      this._adjustDialog()\n    }\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n      Util.typeCheckConfig(NAME, config, DefaultType)\n      return config\n    }\n\n    _showElement(relatedTarget) {\n      const transition = Util.supportsTransitionEnd() &&\n        $(this._element).hasClass(ClassName.FADE)\n\n      if (!this._element.parentNode ||\n         this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n        // don't move modals dom position\n        document.body.appendChild(this._element)\n      }\n\n      this._element.style.display = 'block'\n      this._element.removeAttribute('aria-hidden')\n      this._element.scrollTop = 0\n\n      if (transition) {\n        Util.reflow(this._element)\n      }\n\n      $(this._element).addClass(ClassName.SHOW)\n\n      if (this._config.focus) {\n        this._enforceFocus()\n      }\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget\n      })\n\n      const transitionComplete = () => {\n        if (this._config.focus) {\n          this._element.focus()\n        }\n        this._isTransitioning = false\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (transition) {\n        $(this._dialog)\n          .one(Util.TRANSITION_END, transitionComplete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n      } else {\n        transitionComplete()\n      }\n    }\n\n    _enforceFocus() {\n      $(document)\n        .off(Event.FOCUSIN) // guard against infinite focus loop\n        .on(Event.FOCUSIN, (event) => {\n          if (document !== event.target &&\n              this._element !== event.target &&\n              !$(this._element).has(event.target).length) {\n            this._element.focus()\n          }\n        })\n    }\n\n    _setEscapeEvent() {\n      if (this._isShown && this._config.keyboard) {\n        $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n          if (event.which === ESCAPE_KEYCODE) {\n            event.preventDefault()\n            this.hide()\n          }\n        })\n\n      } else if (!this._isShown) {\n        $(this._element).off(Event.KEYDOWN_DISMISS)\n      }\n    }\n\n    _setResizeEvent() {\n      if (this._isShown) {\n        $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n      } else {\n        $(window).off(Event.RESIZE)\n      }\n    }\n\n    _hideModal() {\n      this._element.style.display = 'none'\n      this._element.setAttribute('aria-hidden', true)\n      this._isTransitioning = false\n      this._showBackdrop(() => {\n        $(document.body).removeClass(ClassName.OPEN)\n        this._resetAdjustments()\n        this._resetScrollbar()\n        $(this._element).trigger(Event.HIDDEN)\n      })\n    }\n\n    _removeBackdrop() {\n      if (this._backdrop) {\n        $(this._backdrop).remove()\n        this._backdrop = null\n      }\n    }\n\n    _showBackdrop(callback) {\n      const animate = $(this._element).hasClass(ClassName.FADE) ?\n        ClassName.FADE : ''\n\n      if (this._isShown && this._config.backdrop) {\n        const doAnimate = Util.supportsTransitionEnd() && animate\n\n        this._backdrop = document.createElement('div')\n        this._backdrop.className = ClassName.BACKDROP\n\n        if (animate) {\n          $(this._backdrop).addClass(animate)\n        }\n\n        $(this._backdrop).appendTo(document.body)\n\n        $(this._element).on(Event.CLICK_DISMISS, (event) => {\n          if (this._ignoreBackdropClick) {\n            this._ignoreBackdropClick = false\n            return\n          }\n          if (event.target !== event.currentTarget) {\n            return\n          }\n          if (this._config.backdrop === 'static') {\n            this._element.focus()\n          } else {\n            this.hide()\n          }\n        })\n\n        if (doAnimate) {\n          Util.reflow(this._backdrop)\n        }\n\n        $(this._backdrop).addClass(ClassName.SHOW)\n\n        if (!callback) {\n          return\n        }\n\n        if (!doAnimate) {\n          callback()\n          return\n        }\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callback)\n          .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n      } else if (!this._isShown && this._backdrop) {\n        $(this._backdrop).removeClass(ClassName.SHOW)\n\n        const callbackRemove = () => {\n          this._removeBackdrop()\n          if (callback) {\n            callback()\n          }\n        }\n\n        if (Util.supportsTransitionEnd() &&\n           $(this._element).hasClass(ClassName.FADE)) {\n          $(this._backdrop)\n            .one(Util.TRANSITION_END, callbackRemove)\n            .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n        } else {\n          callbackRemove()\n        }\n\n      } else if (callback) {\n        callback()\n      }\n    }\n\n\n    // ----------------------------------------------------------------------\n    // the following methods are used to handle overflowing modals\n    // todo (fat): these should probably be refactored out of modal.js\n    // ----------------------------------------------------------------------\n\n    _adjustDialog() {\n      const isModalOverflowing =\n        this._element.scrollHeight > document.documentElement.clientHeight\n\n      if (!this._isBodyOverflowing && isModalOverflowing) {\n        this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n      }\n\n      if (this._isBodyOverflowing && !isModalOverflowing) {\n        this._element.style.paddingRight = `${this._scrollbarWidth}px`\n      }\n    }\n\n    _resetAdjustments() {\n      this._element.style.paddingLeft = ''\n      this._element.style.paddingRight = ''\n    }\n\n    _checkScrollbar() {\n      const rect = document.body.getBoundingClientRect()\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n      this._scrollbarWidth = this._getScrollbarWidth()\n    }\n\n    _setScrollbar() {\n      if (this._isBodyOverflowing) {\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n        // Adjust fixed content padding\n        $(Selector.FIXED_CONTENT).each((index, element) => {\n          const actualPadding = $(element)[0].style.paddingRight\n          const calculatedPadding = $(element).css('padding-right')\n          $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust sticky content margin\n        $(Selector.STICKY_CONTENT).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n        })\n\n        // Adjust navbar-toggler margin\n        $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n          const actualMargin = $(element)[0].style.marginRight\n          const calculatedMargin = $(element).css('margin-right')\n          $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n        })\n\n        // Adjust body padding\n        const actualPadding = document.body.style.paddingRight\n        const calculatedPadding = $('body').css('padding-right')\n        $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      }\n    }\n\n    _resetScrollbar() {\n      // Restore fixed content padding\n      $(Selector.FIXED_CONTENT).each((index, element) => {\n        const padding = $(element).data('padding-right')\n        if (typeof padding !== 'undefined') {\n          $(element).css('padding-right', padding).removeData('padding-right')\n        }\n      })\n\n      // Restore sticky content and navbar-toggler margin\n      $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n        const margin = $(element).data('margin-right')\n        if (typeof margin !== 'undefined') {\n          $(element).css('margin-right', margin).removeData('margin-right')\n        }\n      })\n\n      // Restore body padding\n      const padding = $('body').data('padding-right')\n      if (typeof padding !== 'undefined') {\n        $('body').css('padding-right', padding).removeData('padding-right')\n      }\n    }\n\n    _getScrollbarWidth() { // thx d.walsh\n      const scrollDiv = document.createElement('div')\n      scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n      document.body.appendChild(scrollDiv)\n      const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n      document.body.removeChild(scrollDiv)\n      return scrollbarWidth\n    }\n\n\n    // static\n\n    static _jQueryInterface(config, relatedTarget) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = $.extend(\n          {},\n          Modal.Default,\n          $(this).data(),\n          typeof config === 'object' && config\n        )\n\n        if (!data) {\n          data = new Modal(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config](relatedTarget)\n        } else if (_config.show) {\n          data.show(relatedTarget)\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    let target\n    const selector = Util.getSelectorFromElement(this)\n\n    if (selector) {\n      target = $(selector)[0]\n    }\n\n    const config = $(target).data(DATA_KEY) ?\n      'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\n      event.preventDefault()\n    }\n\n    const $target = $(target).one(Event.SHOW, (showEvent) => {\n      if (showEvent.isDefaultPrevented()) {\n        // only register focus restorer if modal will actually get shown\n        return\n      }\n\n      $target.one(Event.HIDDEN, () => {\n        if ($(this).is(':visible')) {\n          this.focus()\n        }\n      })\n    })\n\n    Modal._jQueryInterface.call($(target), config, this)\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Modal._jQueryInterface\n  $.fn[NAME].Constructor = Modal\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Modal._jQueryInterface\n  }\n\n  return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n  /**\n   * Check for Popper dependency\n   * Popper - https://popper.js.org\n   */\n  if (typeof Popper === 'undefined') {\n    throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tooltip'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tooltip'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n  const CLASS_PREFIX        = 'bs-tooltip'\n  const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const DefaultType = {\n    animation           : 'boolean',\n    template            : 'string',\n    title               : '(string|element|function)',\n    trigger             : 'string',\n    delay               : '(number|object)',\n    html                : 'boolean',\n    selector            : '(string|boolean)',\n    placement           : '(string|function)',\n    offset              : '(number|string)',\n    container           : '(string|element|boolean)',\n    fallbackPlacement   : '(string|array)'\n  }\n\n  const AttachmentMap = {\n    AUTO   : 'auto',\n    TOP    : 'top',\n    RIGHT  : 'right',\n    BOTTOM : 'bottom',\n    LEFT   : 'left'\n  }\n\n  const Default = {\n    animation           : true,\n    template            : '<div class=\"tooltip\" role=\"tooltip\">'\n                        + '<div class=\"arrow\"></div>'\n                        + '<div class=\"tooltip-inner\"></div></div>',\n    trigger             : 'hover focus',\n    title               : '',\n    delay               : 0,\n    html                : false,\n    selector            : false,\n    placement           : 'top',\n    offset              : 0,\n    container           : false,\n    fallbackPlacement   : 'flip'\n  }\n\n  const HoverState = {\n    SHOW : 'show',\n    OUT  : 'out'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TOOLTIP       : '.tooltip',\n    TOOLTIP_INNER : '.tooltip-inner',\n    ARROW         : '.arrow'\n  }\n\n  const Trigger = {\n    HOVER  : 'hover',\n    FOCUS  : 'focus',\n    CLICK  : 'click',\n    MANUAL : 'manual'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tooltip {\n\n    constructor(element, config) {\n\n      // private\n      this._isEnabled     = true\n      this._timeout       = 0\n      this._hoverState    = ''\n      this._activeTrigger = {}\n      this._popper        = null\n\n      // protected\n      this.element = element\n      this.config  = this._getConfig(config)\n      this.tip     = null\n\n      this._setListeners()\n\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // public\n\n    enable() {\n      this._isEnabled = true\n    }\n\n    disable() {\n      this._isEnabled = false\n    }\n\n    toggleEnabled() {\n      this._isEnabled = !this._isEnabled\n    }\n\n    toggle(event) {\n      if (!this._isEnabled) {\n        return\n      }\n\n      if (event) {\n        const dataKey = this.constructor.DATA_KEY\n        let context = $(event.currentTarget).data(dataKey)\n\n        if (!context) {\n          context = new this.constructor(\n            event.currentTarget,\n            this._getDelegateConfig()\n          )\n          $(event.currentTarget).data(dataKey, context)\n        }\n\n        context._activeTrigger.click = !context._activeTrigger.click\n\n        if (context._isWithActiveTrigger()) {\n          context._enter(null, context)\n        } else {\n          context._leave(null, context)\n        }\n\n      } else {\n\n        if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n          this._leave(null, this)\n          return\n        }\n\n        this._enter(null, this)\n      }\n    }\n\n    dispose() {\n      clearTimeout(this._timeout)\n\n      $.removeData(this.element, this.constructor.DATA_KEY)\n\n      $(this.element).off(this.constructor.EVENT_KEY)\n      $(this.element).closest('.modal').off('hide.bs.modal')\n\n      if (this.tip) {\n        $(this.tip).remove()\n      }\n\n      this._isEnabled     = null\n      this._timeout       = null\n      this._hoverState    = null\n      this._activeTrigger = null\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      this._popper = null\n      this.element = null\n      this.config  = null\n      this.tip     = null\n    }\n\n    show() {\n      if ($(this.element).css('display') === 'none') {\n        throw new Error('Please use show on visible elements')\n      }\n\n      const showEvent = $.Event(this.constructor.Event.SHOW)\n      if (this.isWithContent() && this._isEnabled) {\n        $(this.element).trigger(showEvent)\n\n        const isInTheDom = $.contains(\n          this.element.ownerDocument.documentElement,\n          this.element\n        )\n\n        if (showEvent.isDefaultPrevented() || !isInTheDom) {\n          return\n        }\n\n        const tip   = this.getTipElement()\n        const tipId = Util.getUID(this.constructor.NAME)\n\n        tip.setAttribute('id', tipId)\n        this.element.setAttribute('aria-describedby', tipId)\n\n        this.setContent()\n\n        if (this.config.animation) {\n          $(tip).addClass(ClassName.FADE)\n        }\n\n        const placement  = typeof this.config.placement === 'function' ?\n          this.config.placement.call(this, tip, this.element) :\n          this.config.placement\n\n        const attachment = this._getAttachment(placement)\n        this.addAttachmentClass(attachment)\n\n        const container = this.config.container === false ? document.body : $(this.config.container)\n\n        $(tip).data(this.constructor.DATA_KEY, this)\n\n        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n          $(tip).appendTo(container)\n        }\n\n        $(this.element).trigger(this.constructor.Event.INSERTED)\n\n        this._popper = new Popper(this.element, tip, {\n          placement: attachment,\n          modifiers: {\n            offset: {\n              offset: this.config.offset\n            },\n            flip: {\n              behavior: this.config.fallbackPlacement\n            },\n            arrow: {\n              element: Selector.ARROW\n            }\n          },\n          onCreate: (data) => {\n            if (data.originalPlacement !== data.placement) {\n              this._handlePopperPlacementChange(data)\n            }\n          },\n          onUpdate : (data) => {\n            this._handlePopperPlacementChange(data)\n          }\n        })\n\n        $(tip).addClass(ClassName.SHOW)\n\n        // if this is a touch-enabled device we add extra\n        // empty mouseover listeners to the body's immediate children;\n        // only needed because of broken event delegation on iOS\n        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n        if ('ontouchstart' in document.documentElement) {\n          $('body').children().on('mouseover', null, $.noop)\n        }\n\n        const complete = () => {\n          if (this.config.animation) {\n            this._fixTransition()\n          }\n          const prevHoverState = this._hoverState\n          this._hoverState     = null\n\n          $(this.element).trigger(this.constructor.Event.SHOWN)\n\n          if (prevHoverState === HoverState.OUT) {\n            this._leave(null, this)\n          }\n        }\n\n        if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n          $(this.tip)\n            .one(Util.TRANSITION_END, complete)\n            .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n        } else {\n          complete()\n        }\n      }\n    }\n\n    hide(callback) {\n      const tip       = this.getTipElement()\n      const hideEvent = $.Event(this.constructor.Event.HIDE)\n      const complete  = () => {\n        if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n          tip.parentNode.removeChild(tip)\n        }\n\n        this._cleanTipClass()\n        this.element.removeAttribute('aria-describedby')\n        $(this.element).trigger(this.constructor.Event.HIDDEN)\n        if (this._popper !== null) {\n          this._popper.destroy()\n        }\n\n        if (callback) {\n          callback()\n        }\n      }\n\n      $(this.element).trigger(hideEvent)\n\n      if (hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      $(tip).removeClass(ClassName.SHOW)\n\n      // if this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $('body').children().off('mouseover', null, $.noop)\n      }\n\n      this._activeTrigger[Trigger.CLICK] = false\n      this._activeTrigger[Trigger.FOCUS] = false\n      this._activeTrigger[Trigger.HOVER] = false\n\n      if (Util.supportsTransitionEnd() &&\n          $(this.tip).hasClass(ClassName.FADE)) {\n\n        $(tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      this._hoverState = ''\n\n    }\n\n    update() {\n      if (this._popper !== null) {\n        this._popper.scheduleUpdate()\n      }\n    }\n\n    // protected\n\n    isWithContent() {\n      return Boolean(this.getTitle())\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    setElementContent($element, content) {\n      const html = this.config.html\n      if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n        // content is a DOM node or a jQuery\n        if (html) {\n          if (!$(content).parent().is($element)) {\n            $element.empty().append(content)\n          }\n        } else {\n          $element.text($(content).text())\n        }\n      } else {\n        $element[html ? 'html' : 'text'](content)\n      }\n    }\n\n    getTitle() {\n      let title = this.element.getAttribute('data-original-title')\n\n      if (!title) {\n        title = typeof this.config.title === 'function' ?\n          this.config.title.call(this.element) :\n          this.config.title\n      }\n\n      return title\n    }\n\n\n    // private\n\n    _getAttachment(placement) {\n      return AttachmentMap[placement.toUpperCase()]\n    }\n\n    _setListeners() {\n      const triggers = this.config.trigger.split(' ')\n\n      triggers.forEach((trigger) => {\n        if (trigger === 'click') {\n          $(this.element).on(\n            this.constructor.Event.CLICK,\n            this.config.selector,\n            (event) => this.toggle(event)\n          )\n\n        } else if (trigger !== Trigger.MANUAL) {\n          const eventIn  = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSEENTER :\n            this.constructor.Event.FOCUSIN\n          const eventOut = trigger === Trigger.HOVER ?\n            this.constructor.Event.MOUSELEAVE :\n            this.constructor.Event.FOCUSOUT\n\n          $(this.element)\n            .on(\n              eventIn,\n              this.config.selector,\n              (event) => this._enter(event)\n            )\n            .on(\n              eventOut,\n              this.config.selector,\n              (event) => this._leave(event)\n            )\n        }\n\n        $(this.element).closest('.modal').on(\n          'hide.bs.modal',\n          () => this.hide()\n        )\n      })\n\n      if (this.config.selector) {\n        this.config = $.extend({}, this.config, {\n          trigger  : 'manual',\n          selector : ''\n        })\n      } else {\n        this._fixTitle()\n      }\n    }\n\n    _fixTitle() {\n      const titleType = typeof this.element.getAttribute('data-original-title')\n      if (this.element.getAttribute('title') ||\n         titleType !== 'string') {\n        this.element.setAttribute(\n          'data-original-title',\n          this.element.getAttribute('title') || ''\n        )\n        this.element.setAttribute('title', '')\n      }\n    }\n\n    _enter(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n        ] = true\n      }\n\n      if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n         context._hoverState === HoverState.SHOW) {\n        context._hoverState = HoverState.SHOW\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.SHOW\n\n      if (!context.config.delay || !context.config.delay.show) {\n        context.show()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.SHOW) {\n          context.show()\n        }\n      }, context.config.delay.show)\n    }\n\n    _leave(event, context) {\n      const dataKey = this.constructor.DATA_KEY\n\n      context = context || $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      if (event) {\n        context._activeTrigger[\n          event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n        ] = false\n      }\n\n      if (context._isWithActiveTrigger()) {\n        return\n      }\n\n      clearTimeout(context._timeout)\n\n      context._hoverState = HoverState.OUT\n\n      if (!context.config.delay || !context.config.delay.hide) {\n        context.hide()\n        return\n      }\n\n      context._timeout = setTimeout(() => {\n        if (context._hoverState === HoverState.OUT) {\n          context.hide()\n        }\n      }, context.config.delay.hide)\n    }\n\n    _isWithActiveTrigger() {\n      for (const trigger in this._activeTrigger) {\n        if (this._activeTrigger[trigger]) {\n          return true\n        }\n      }\n\n      return false\n    }\n\n    _getConfig(config) {\n      config = $.extend(\n        {},\n        this.constructor.Default,\n        $(this.element).data(),\n        config\n      )\n\n      if (typeof config.delay === 'number') {\n        config.delay = {\n          show : config.delay,\n          hide : config.delay\n        }\n      }\n\n      if (typeof config.title === 'number') {\n        config.title = config.title.toString()\n      }\n\n      if (typeof config.content === 'number') {\n        config.content = config.content.toString()\n      }\n\n      Util.typeCheckConfig(\n        NAME,\n        config,\n        this.constructor.DefaultType\n      )\n\n      return config\n    }\n\n    _getDelegateConfig() {\n      const config = {}\n\n      if (this.config) {\n        for (const key in this.config) {\n          if (this.constructor.Default[key] !== this.config[key]) {\n            config[key] = this.config[key]\n          }\n        }\n      }\n\n      return config\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n    _handlePopperPlacementChange(data) {\n      this._cleanTipClass()\n      this.addAttachmentClass(this._getAttachment(data.placement))\n    }\n\n    _fixTransition() {\n      const tip                 = this.getTipElement()\n      const initConfigAnimation = this.config.animation\n      if (tip.getAttribute('x-placement') !== null) {\n        return\n      }\n      $(tip).removeClass(ClassName.FADE)\n      this.config.animation = false\n      this.hide()\n      this.show()\n      this.config.animation = initConfigAnimation\n    }\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data && /dispose|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Tooltip(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tooltip._jQueryInterface\n  $.fn[NAME].Constructor = Tooltip\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tooltip._jQueryInterface\n  }\n\n  return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'popover'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.popover'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const CLASS_PREFIX        = 'bs-popover'\n  const BSCLS_PREFIX_REGEX  = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n  const Default = $.extend({}, Tooltip.Default, {\n    placement : 'right',\n    trigger   : 'click',\n    content   : '',\n    template  : '<div class=\"popover\" role=\"tooltip\">'\n              + '<div class=\"arrow\"></div>'\n              + '<h3 class=\"popover-header\"></h3>'\n              + '<div class=\"popover-body\"></div></div>'\n  })\n\n  const DefaultType = $.extend({}, Tooltip.DefaultType, {\n    content : '(string|element|function)'\n  })\n\n  const ClassName = {\n    FADE : 'fade',\n    SHOW : 'show'\n  }\n\n  const Selector = {\n    TITLE   : '.popover-header',\n    CONTENT : '.popover-body'\n  }\n\n  const Event = {\n    HIDE       : `hide${EVENT_KEY}`,\n    HIDDEN     : `hidden${EVENT_KEY}`,\n    SHOW       : `show${EVENT_KEY}`,\n    SHOWN      : `shown${EVENT_KEY}`,\n    INSERTED   : `inserted${EVENT_KEY}`,\n    CLICK      : `click${EVENT_KEY}`,\n    FOCUSIN    : `focusin${EVENT_KEY}`,\n    FOCUSOUT   : `focusout${EVENT_KEY}`,\n    MOUSEENTER : `mouseenter${EVENT_KEY}`,\n    MOUSELEAVE : `mouseleave${EVENT_KEY}`\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Popover extends Tooltip {\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n    static get NAME() {\n      return NAME\n    }\n\n    static get DATA_KEY() {\n      return DATA_KEY\n    }\n\n    static get Event() {\n      return Event\n    }\n\n    static get EVENT_KEY() {\n      return EVENT_KEY\n    }\n\n    static get DefaultType() {\n      return DefaultType\n    }\n\n\n    // overrides\n\n    isWithContent() {\n      return this.getTitle() || this._getContent()\n    }\n\n    addAttachmentClass(attachment) {\n      $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n    }\n\n    getTipElement() {\n      this.tip = this.tip || $(this.config.template)[0]\n      return this.tip\n    }\n\n    setContent() {\n      const $tip = $(this.getTipElement())\n\n      // we use append for html objects to maintain js events\n      this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n      this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n      $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n    }\n\n    // private\n\n    _getContent() {\n      return this.element.getAttribute('data-content')\n        || (typeof this.config.content === 'function' ?\n              this.config.content.call(this.element) :\n              this.config.content)\n    }\n\n    _cleanTipClass() {\n      const $tip = $(this.getTipElement())\n      const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n      if (tabClass !== null && tabClass.length > 0) {\n        $tip.removeClass(tabClass.join(''))\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' ? config : null\n\n        if (!data && /destroy|hide/.test(config)) {\n          return\n        }\n\n        if (!data) {\n          data = new Popover(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Popover._jQueryInterface\n  $.fn[NAME].Constructor = Popover\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Popover._jQueryInterface\n  }\n\n  return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME               = 'scrollspy'\n  const VERSION            = '4.0.0-beta.2'\n  const DATA_KEY           = 'bs.scrollspy'\n  const EVENT_KEY          = `.${DATA_KEY}`\n  const DATA_API_KEY       = '.data-api'\n  const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n  const Default = {\n    offset : 10,\n    method : 'auto',\n    target : ''\n  }\n\n  const DefaultType = {\n    offset : 'number',\n    method : 'string',\n    target : '(string|element)'\n  }\n\n  const Event = {\n    ACTIVATE      : `activate${EVENT_KEY}`,\n    SCROLL        : `scroll${EVENT_KEY}`,\n    LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_ITEM : 'dropdown-item',\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active'\n  }\n\n  const Selector = {\n    DATA_SPY        : '[data-spy=\"scroll\"]',\n    ACTIVE          : '.active',\n    NAV_LIST_GROUP  : '.nav, .list-group',\n    NAV_LINKS       : '.nav-link',\n    NAV_ITEMS       : '.nav-item',\n    LIST_ITEMS      : '.list-group-item',\n    DROPDOWN        : '.dropdown',\n    DROPDOWN_ITEMS  : '.dropdown-item',\n    DROPDOWN_TOGGLE : '.dropdown-toggle'\n  }\n\n  const OffsetMethod = {\n    OFFSET   : 'offset',\n    POSITION : 'position'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class ScrollSpy {\n\n    constructor(element, config) {\n      this._element       = element\n      this._scrollElement = element.tagName === 'BODY' ? window : element\n      this._config        = this._getConfig(config)\n      this._selector      = `${this._config.target} ${Selector.NAV_LINKS},`\n                          + `${this._config.target} ${Selector.LIST_ITEMS},`\n                          + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n      this._offsets       = []\n      this._targets       = []\n      this._activeTarget  = null\n      this._scrollHeight  = 0\n\n      $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n      this.refresh()\n      this._process()\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    static get Default() {\n      return Default\n    }\n\n\n    // public\n\n    refresh() {\n      const autoMethod = this._scrollElement !== this._scrollElement.window ?\n        OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n      const offsetMethod = this._config.method === 'auto' ?\n        autoMethod : this._config.method\n\n      const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n        this._getScrollTop() : 0\n\n      this._offsets = []\n      this._targets = []\n\n      this._scrollHeight = this._getScrollHeight()\n\n      const targets = $.makeArray($(this._selector))\n\n      targets\n        .map((element) => {\n          let target\n          const targetSelector = Util.getSelectorFromElement(element)\n\n          if (targetSelector) {\n            target = $(targetSelector)[0]\n          }\n\n          if (target) {\n            const targetBCR = target.getBoundingClientRect()\n            if (targetBCR.width || targetBCR.height) {\n              // todo (fat): remove sketch reliance on jQuery position/offset\n              return [\n                $(target)[offsetMethod]().top + offsetBase,\n                targetSelector\n              ]\n            }\n          }\n          return null\n        })\n        .filter((item)  => item)\n        .sort((a, b)    => a[0] - b[0])\n        .forEach((item) => {\n          this._offsets.push(item[0])\n          this._targets.push(item[1])\n        })\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      $(this._scrollElement).off(EVENT_KEY)\n\n      this._element       = null\n      this._scrollElement = null\n      this._config        = null\n      this._selector      = null\n      this._offsets       = null\n      this._targets       = null\n      this._activeTarget  = null\n      this._scrollHeight  = null\n    }\n\n\n    // private\n\n    _getConfig(config) {\n      config = $.extend({}, Default, config)\n\n      if (typeof config.target !== 'string') {\n        let id = $(config.target).attr('id')\n        if (!id) {\n          id = Util.getUID(NAME)\n          $(config.target).attr('id', id)\n        }\n        config.target = `#${id}`\n      }\n\n      Util.typeCheckConfig(NAME, config, DefaultType)\n\n      return config\n    }\n\n    _getScrollTop() {\n      return this._scrollElement === window ?\n          this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n    }\n\n    _getScrollHeight() {\n      return this._scrollElement.scrollHeight || Math.max(\n        document.body.scrollHeight,\n        document.documentElement.scrollHeight\n      )\n    }\n\n    _getOffsetHeight() {\n      return this._scrollElement === window ?\n          window.innerHeight : this._scrollElement.getBoundingClientRect().height\n    }\n\n    _process() {\n      const scrollTop    = this._getScrollTop() + this._config.offset\n      const scrollHeight = this._getScrollHeight()\n      const maxScroll    = this._config.offset\n        + scrollHeight\n        - this._getOffsetHeight()\n\n      if (this._scrollHeight !== scrollHeight) {\n        this.refresh()\n      }\n\n      if (scrollTop >= maxScroll) {\n        const target = this._targets[this._targets.length - 1]\n\n        if (this._activeTarget !== target) {\n          this._activate(target)\n        }\n        return\n      }\n\n      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n        this._activeTarget = null\n        this._clear()\n        return\n      }\n\n      for (let i = this._offsets.length; i--;) {\n        const isActiveTarget = this._activeTarget !== this._targets[i]\n            && scrollTop >= this._offsets[i]\n            && (typeof this._offsets[i + 1] === 'undefined' ||\n                scrollTop < this._offsets[i + 1])\n\n        if (isActiveTarget) {\n          this._activate(this._targets[i])\n        }\n      }\n    }\n\n    _activate(target) {\n      this._activeTarget = target\n\n      this._clear()\n\n      let queries = this._selector.split(',')\n      // eslint-disable-next-line arrow-body-style\n      queries     = queries.map((selector) => {\n        return `${selector}[data-target=\"${target}\"],` +\n               `${selector}[href=\"${target}\"]`\n      })\n\n      const $link = $(queries.join(','))\n\n      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        $link.addClass(ClassName.ACTIVE)\n      } else {\n        // Set triggered link as active\n        $link.addClass(ClassName.ACTIVE)\n        // Set triggered links parents as active\n        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n        $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n        // Handle special case when .nav-link is inside .nav-item\n        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n      }\n\n      $(this._scrollElement).trigger(Event.ACTIVATE, {\n        relatedTarget: target\n      })\n    }\n\n    _clear() {\n      $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        let data      = $(this).data(DATA_KEY)\n        const _config = typeof config === 'object' && config\n\n        if (!data) {\n          data = new ScrollSpy(this, _config)\n          $(this).data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(window).on(Event.LOAD_DATA_API, () => {\n    const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n    for (let i = scrollSpys.length; i--;) {\n      const $spy = $(scrollSpys[i])\n      ScrollSpy._jQueryInterface.call($spy, $spy.data())\n    }\n  })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = ScrollSpy._jQueryInterface\n  $.fn[NAME].Constructor = ScrollSpy\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return ScrollSpy._jQueryInterface\n  }\n\n  return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME                = 'tab'\n  const VERSION             = '4.0.0-beta.2'\n  const DATA_KEY            = 'bs.tab'\n  const EVENT_KEY           = `.${DATA_KEY}`\n  const DATA_API_KEY        = '.data-api'\n  const JQUERY_NO_CONFLICT  = $.fn[NAME]\n  const TRANSITION_DURATION = 150\n\n  const Event = {\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active',\n    DISABLED      : 'disabled',\n    FADE          : 'fade',\n    SHOW          : 'show'\n  }\n\n  const Selector = {\n    DROPDOWN              : '.dropdown',\n    NAV_LIST_GROUP        : '.nav, .list-group',\n    ACTIVE                : '.active',\n    ACTIVE_UL             : '> li > .active',\n    DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n    DROPDOWN_TOGGLE       : '.dropdown-toggle',\n    DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tab {\n\n    constructor(element) {\n      this._element = element\n    }\n\n\n    // getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n\n    // public\n\n    show() {\n      if (this._element.parentNode &&\n          this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n          $(this._element).hasClass(ClassName.ACTIVE) ||\n          $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      let target\n      let previous\n      const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n      const selector    = Util.getSelectorFromElement(this._element)\n\n      if (listElement) {\n        const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n        previous = $.makeArray($(listElement).find(itemSelector))\n        previous = previous[previous.length - 1]\n      }\n\n      const hideEvent = $.Event(Event.HIDE, {\n        relatedTarget: this._element\n      })\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget: previous\n      })\n\n      if (previous) {\n        $(previous).trigger(hideEvent)\n      }\n\n      $(this._element).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented() ||\n         hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (selector) {\n        target = $(selector)[0]\n      }\n\n      this._activate(\n        this._element,\n        listElement\n      )\n\n      const complete = () => {\n        const hiddenEvent = $.Event(Event.HIDDEN, {\n          relatedTarget: this._element\n        })\n\n        const shownEvent = $.Event(Event.SHOWN, {\n          relatedTarget: previous\n        })\n\n        $(previous).trigger(hiddenEvent)\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (target) {\n        this._activate(target, target.parentNode, complete)\n      } else {\n        complete()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n\n    // private\n\n    _activate(element, container, callback) {\n      let activeElements\n      if (container.nodeName === 'UL') {\n        activeElements = $(container).find(Selector.ACTIVE_UL)\n      } else {\n        activeElements = $(container).children(Selector.ACTIVE)\n      }\n\n      const active          = activeElements[0]\n      const isTransitioning = callback\n        && Util.supportsTransitionEnd()\n        && (active && $(active).hasClass(ClassName.FADE))\n\n      const complete = () => this._transitionComplete(\n        element,\n        active,\n        isTransitioning,\n        callback\n      )\n\n      if (active && isTransitioning) {\n        $(active)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(TRANSITION_DURATION)\n\n      } else {\n        complete()\n      }\n\n      if (active) {\n        $(active).removeClass(ClassName.SHOW)\n      }\n    }\n\n    _transitionComplete(element, active, isTransitioning, callback) {\n      if (active) {\n        $(active).removeClass(ClassName.ACTIVE)\n\n        const dropdownChild = $(active.parentNode).find(\n          Selector.DROPDOWN_ACTIVE_CHILD\n        )[0]\n\n        if (dropdownChild) {\n          $(dropdownChild).removeClass(ClassName.ACTIVE)\n        }\n\n        if (active.getAttribute('role') === 'tab') {\n          active.setAttribute('aria-selected', false)\n        }\n      }\n\n      $(element).addClass(ClassName.ACTIVE)\n      if (element.getAttribute('role') === 'tab') {\n        element.setAttribute('aria-selected', true)\n      }\n\n      if (isTransitioning) {\n        Util.reflow(element)\n        $(element).addClass(ClassName.SHOW)\n      } else {\n        $(element).removeClass(ClassName.FADE)\n      }\n\n      if (element.parentNode &&\n          $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n        const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n        if (dropdownElement) {\n          $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n        }\n\n        element.setAttribute('aria-expanded', true)\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n\n    // static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this = $(this)\n        let data    = $this.data(DATA_KEY)\n\n        if (!data) {\n          data = new Tab(this)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new Error(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n\n  }\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      Tab._jQueryInterface.call($(this), 'show')\n    })\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME]             = Tab._jQueryInterface\n  $.fn[NAME].Constructor = Tab\n  $.fn[NAME].noConflict  = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tab._jQueryInterface\n  }\n\n  return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor  = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})($)\n\nexport {\n  Util,\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Popover,\n  Scrollspy,\n  Tab,\n  Tooltip\n}\n"]}
\ No newline at end of file
diff --git a/workspace/public/js/contact_me.js b/workspace/public/js/contact_me.js
new file mode 100644
index 0000000..6e91590
--- /dev/null
+++ b/workspace/public/js/contact_me.js
@@ -0,0 +1,75 @@
+$(function() {
+
+  $("#contactForm input,#contactForm textarea").jqBootstrapValidation({
+    preventSubmit: true,
+    submitError: function($form, event, errors) {
+      // additional error messages or events
+    },
+    submitSuccess: function($form, event) {
+      event.preventDefault(); // prevent default submit behaviour
+      // get values from FORM
+      var name = $("input#name").val();
+      var email = $("input#email").val();
+      var phone = $("input#phone").val();
+      var message = $("textarea#message").val();
+      var firstName = name; // For Success/Failure Message
+      // Check for white space in name for Success/Fail message
+      if (firstName.indexOf(' ') >= 0) {
+        firstName = name.split(' ').slice(0, -1).join(' ');
+      }
+      $this = $("#sendMessageButton");
+      $this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages
+      $.ajax({
+        url: "././mail/contact_me.php",
+        type: "POST",
+        data: {
+          name: name,
+          phone: phone,
+          email: email,
+          message: message
+        },
+        cache: false,
+        success: function() {
+          // Success message
+          $('#success').html("<div class='alert alert-success'>");
+          $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
+            .append("</button>");
+          $('#success > .alert-success')
+            .append("<strong>Your message has been sent. </strong>");
+          $('#success > .alert-success')
+            .append('</div>');
+          //clear all fields
+          $('#contactForm').trigger("reset");
+        },
+        error: function() {
+          // Fail message
+          $('#success').html("<div class='alert alert-danger'>");
+          $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
+            .append("</button>");
+          $('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
+          $('#success > .alert-danger').append('</div>');
+          //clear all fields
+          $('#contactForm').trigger("reset");
+        },
+        complete: function() {
+          setTimeout(function() {
+            $this.prop("disabled", false); // Re-enable submit button when AJAX call is complete
+          }, 1000);
+        }
+      });
+    },
+    filter: function() {
+      return $(this).is(":visible");
+    },
+  });
+
+  $("a[data-toggle=\"tab\"]").click(function(e) {
+    e.preventDefault();
+    $(this).tab("show");
+  });
+});
+
+/*When clicking on Full hide fail/success boxes */
+$('#name').focus(function() {
+  $('#success').html('');
+});
diff --git a/workspace/public/js/freelancer.js b/workspace/public/js/freelancer.js
new file mode 100644
index 0000000..9e95fc9
--- /dev/null
+++ b/workspace/public/js/freelancer.js
@@ -0,0 +1,53 @@
+(function($) {
+  "use strict"; // Start of use strict
+
+  // Smooth scrolling using jQuery easing
+  $('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
+    if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
+      var target = $(this.hash);
+      target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
+      if (target.length) {
+        $('html, body').animate({
+          scrollTop: (target.offset().top - 48)
+        }, 1000, "easeInOutExpo");
+        return false;
+      }
+    }
+  });
+
+  // Closes responsive menu when a scroll trigger link is clicked
+  $('.js-scroll-trigger').click(function() {
+    $('.navbar-collapse').collapse('hide');
+  });
+
+  // Activate scrollspy to add active class to navbar items on scroll
+  $('body').scrollspy({
+    target: '#mainNav',
+    offset: 54
+  });
+
+  // Collapse Navbar
+  var navbarCollapse = function() {
+    if ($("#mainNav").offset().top > 100) {
+      $("#mainNav").addClass("navbar-shrink");
+    } else {
+      $("#mainNav").removeClass("navbar-shrink");
+    }
+  };
+  // Collapse now if page is not at top
+  navbarCollapse();
+  // Collapse the navbar when page is scrolled
+  $(window).scroll(navbarCollapse);
+
+  // Floating label headings for the contact form
+  $(function() {
+    $("body").on("input propertychange", ".floating-label-form-group", function(e) {
+      $(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val());
+    }).on("focus", ".floating-label-form-group", function() {
+      $(this).addClass("floating-label-form-group-with-focus");
+    }).on("blur", ".floating-label-form-group", function() {
+      $(this).removeClass("floating-label-form-group-with-focus");
+    });
+  });
+
+})(jQuery); // End of use strict
diff --git a/workspace/public/js/freelancer.min.js b/workspace/public/js/freelancer.min.js
new file mode 100644
index 0000000..27001d6
--- /dev/null
+++ b/workspace/public/js/freelancer.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Start Bootstrap - Freelancer v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/freelancer)
+ * Copyright 2013-2017 Start Bootstrap
+ * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE)
+ */
+!function(o){"use strict";o('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=o(this.hash);if((a=a.length?a:o("[name="+this.hash.slice(1)+"]")).length)return o("html, body").animate({scrollTop:a.offset().top-48},1e3,"easeInOutExpo"),!1}}),o(".js-scroll-trigger").click(function(){o(".navbar-collapse").collapse("hide")}),o("body").scrollspy({target:"#mainNav",offset:54});var a=function(){o("#mainNav").offset().top>100?o("#mainNav").addClass("navbar-shrink"):o("#mainNav").removeClass("navbar-shrink")};a(),o(window).scroll(a),o(function(){o("body").on("input propertychange",".floating-label-form-group",function(a){o(this).toggleClass("floating-label-form-group-with-value",!!o(a.target).val())}).on("focus",".floating-label-form-group",function(){o(this).addClass("floating-label-form-group-with-focus")}).on("blur",".floating-label-form-group",function(){o(this).removeClass("floating-label-form-group-with-focus")})})}(jQuery);
\ No newline at end of file
diff --git a/workspace/public/js/jqBootstrapValidation.js b/workspace/public/js/jqBootstrapValidation.js
new file mode 100644
index 0000000..29cbb08
--- /dev/null
+++ b/workspace/public/js/jqBootstrapValidation.js
@@ -0,0 +1,912 @@
+/* jqBootstrapValidation
+ * A plugin for automating validation on Twitter Bootstrap formatted forms.
+ *
+ * v1.3.6
+ *
+ * License: MIT <http://opensource.org/licenses/mit-license.php> - see LICENSE file
+ *
+ * http://ReactiveRaven.github.com/jqBootstrapValidation/
+ */
+
+(function( $ ){
+
+	var createdElements = [];
+
+	var defaults = {
+		options: {
+			prependExistingHelpBlock: false,
+			sniffHtml: true, // sniff for 'required', 'maxlength', etc
+			preventSubmit: true, // stop the form submit event from firing if validation fails
+			submitError: false, // function called if there is an error when trying to submit
+			submitSuccess: false, // function called just before a successful submit event is sent to the server
+            semanticallyStrict: false, // set to true to tidy up generated HTML output
+			autoAdd: {
+				helpBlocks: true
+			},
+            filter: function () {
+                // return $(this).is(":visible"); // only validate elements you can see
+                return true; // validate everything
+            }
+		},
+    methods: {
+      init : function( options ) {
+
+        var settings = $.extend(true, {}, defaults);
+
+        settings.options = $.extend(true, settings.options, options);
+
+        var $siblingElements = this;
+
+        var uniqueForms = $.unique(
+          $siblingElements.map( function () {
+            return $(this).parents("form")[0];
+          }).toArray()
+        );
+
+        $(uniqueForms).bind("submit", function (e) {
+          var $form = $(this);
+          var warningsFound = 0;
+          var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
+          $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
+
+          $inputs.each(function (i, el) {
+            var $this = $(el),
+              $controlGroup = $this.parents(".control-group").first();
+            if (
+              $controlGroup.hasClass("warning")
+            ) {
+              $controlGroup.removeClass("warning").addClass("error");
+              warningsFound++;
+            }
+          });
+
+          $inputs.trigger("validationLostFocus.validation");
+
+          if (warningsFound) {
+            if (settings.options.preventSubmit) {
+              e.preventDefault();
+            }
+            $form.addClass("error");
+            if ($.isFunction(settings.options.submitError)) {
+              settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));
+            }
+          } else {
+            $form.removeClass("error");
+            if ($.isFunction(settings.options.submitSuccess)) {
+              settings.options.submitSuccess($form, e);
+            }
+          }
+        });
+
+        return this.each(function(){
+
+          // Get references to everything we're interested in
+          var $this = $(this),
+            $controlGroup = $this.parents(".control-group").first(),
+            $helpBlock = $controlGroup.find(".help-block").first(),
+            $form = $this.parents("form").first(),
+            validatorNames = [];
+
+          // create message container if not exists
+          if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
+              $helpBlock = $('<div class="help-block" />');
+              $controlGroup.find('.controls').append($helpBlock);
+							createdElements.push($helpBlock[0]);
+          }
+
+          // =============================================================
+          //                                     SNIFF HTML FOR VALIDATORS
+          // =============================================================
+
+          // *snort sniff snuffle*
+
+          if (settings.options.sniffHtml) {
+            var message = "";
+            // ---------------------------------------------------------
+            //                                                   PATTERN
+            // ---------------------------------------------------------
+            if ($this.attr("pattern") !== undefined) {
+              message = "Not in the expected format<!-- data-validation-pattern-message to override -->";
+              if ($this.data("validationPatternMessage")) {
+                message = $this.data("validationPatternMessage");
+              }
+              $this.data("validationPatternMessage", message);
+              $this.data("validationPatternRegex", $this.attr("pattern"));
+            }
+            // ---------------------------------------------------------
+            //                                                       MAX
+            // ---------------------------------------------------------
+            if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
+              var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
+              message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";
+              if ($this.data("validationMaxMessage")) {
+                message = $this.data("validationMaxMessage");
+              }
+              $this.data("validationMaxMessage", message);
+              $this.data("validationMaxMax", max);
+            }
+            // ---------------------------------------------------------
+            //                                                       MIN
+            // ---------------------------------------------------------
+            if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
+              var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
+              message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";
+              if ($this.data("validationMinMessage")) {
+                message = $this.data("validationMinMessage");
+              }
+              $this.data("validationMinMessage", message);
+              $this.data("validationMinMin", min);
+            }
+            // ---------------------------------------------------------
+            //                                                 MAXLENGTH
+            // ---------------------------------------------------------
+            if ($this.attr("maxlength") !== undefined) {
+              message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";
+              if ($this.data("validationMaxlengthMessage")) {
+                message = $this.data("validationMaxlengthMessage");
+              }
+              $this.data("validationMaxlengthMessage", message);
+              $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
+            }
+            // ---------------------------------------------------------
+            //                                                 MINLENGTH
+            // ---------------------------------------------------------
+            if ($this.attr("minlength") !== undefined) {
+              message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";
+              if ($this.data("validationMinlengthMessage")) {
+                message = $this.data("validationMinlengthMessage");
+              }
+              $this.data("validationMinlengthMessage", message);
+              $this.data("validationMinlengthMinlength", $this.attr("minlength"));
+            }
+            // ---------------------------------------------------------
+            //                                                  REQUIRED
+            // ---------------------------------------------------------
+            if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
+              message = settings.builtInValidators.required.message;
+              if ($this.data("validationRequiredMessage")) {
+                message = $this.data("validationRequiredMessage");
+              }
+              $this.data("validationRequiredMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                    NUMBER
+            // ---------------------------------------------------------
+            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
+              message = settings.builtInValidators.number.message;
+              if ($this.data("validationNumberMessage")) {
+                message = $this.data("validationNumberMessage");
+              }
+              $this.data("validationNumberMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                     EMAIL
+            // ---------------------------------------------------------
+            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
+              message = "Not a valid email address<!-- data-validator-validemail-message to override -->";
+              if ($this.data("validationValidemailMessage")) {
+                message = $this.data("validationValidemailMessage");
+              } else if ($this.data("validationEmailMessage")) {
+                message = $this.data("validationEmailMessage");
+              }
+              $this.data("validationValidemailMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                MINCHECKED
+            // ---------------------------------------------------------
+            if ($this.attr("minchecked") !== undefined) {
+              message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";
+              if ($this.data("validationMincheckedMessage")) {
+                message = $this.data("validationMincheckedMessage");
+              }
+              $this.data("validationMincheckedMessage", message);
+              $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
+            }
+            // ---------------------------------------------------------
+            //                                                MAXCHECKED
+            // ---------------------------------------------------------
+            if ($this.attr("maxchecked") !== undefined) {
+              message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";
+              if ($this.data("validationMaxcheckedMessage")) {
+                message = $this.data("validationMaxcheckedMessage");
+              }
+              $this.data("validationMaxcheckedMessage", message);
+              $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
+            }
+          }
+
+          // =============================================================
+          //                                       COLLECT VALIDATOR NAMES
+          // =============================================================
+
+          // Get named validators
+          if ($this.data("validation") !== undefined) {
+            validatorNames = $this.data("validation").split(",");
+          }
+
+          // Get extra ones defined on the element's data attributes
+          $.each($this.data(), function (i, el) {
+            var parts = i.replace(/([A-Z])/g, ",$1").split(",");
+            if (parts[0] === "validation" && parts[1]) {
+              validatorNames.push(parts[1]);
+            }
+          });
+
+          // =============================================================
+          //                                     NORMALISE VALIDATOR NAMES
+          // =============================================================
+
+          var validatorNamesToInspect = validatorNames;
+          var newValidatorNamesToInspect = [];
+
+          do // repeatedly expand 'shortcut' validators into their real validators
+          {
+            // Uppercase only the first letter of each name
+            $.each(validatorNames, function (i, el) {
+              validatorNames[i] = formatValidatorName(el);
+            });
+
+            // Remove duplicate validator names
+            validatorNames = $.unique(validatorNames);
+
+            // Pull out the new validator names from each shortcut
+            newValidatorNamesToInspect = [];
+            $.each(validatorNamesToInspect, function(i, el) {
+              if ($this.data("validation" + el + "Shortcut") !== undefined) {
+                // Are these custom validators?
+                // Pull them out!
+                $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {
+                  newValidatorNamesToInspect.push(el2);
+                });
+              } else if (settings.builtInValidators[el.toLowerCase()]) {
+                // Is this a recognised built-in?
+                // Pull it out!
+                var validator = settings.builtInValidators[el.toLowerCase()];
+                if (validator.type.toLowerCase() === "shortcut") {
+                  $.each(validator.shortcut.split(","), function (i, el) {
+                    el = formatValidatorName(el);
+                    newValidatorNamesToInspect.push(el);
+                    validatorNames.push(el);
+                  });
+                }
+              }
+            });
+
+            validatorNamesToInspect = newValidatorNamesToInspect;
+
+          } while (validatorNamesToInspect.length > 0)
+
+          // =============================================================
+          //                                       SET UP VALIDATOR ARRAYS
+          // =============================================================
+
+          var validators = {};
+
+          $.each(validatorNames, function (i, el) {
+            // Set up the 'override' message
+            var message = $this.data("validation" + el + "Message");
+            var hasOverrideMessage = (message !== undefined);
+            var foundValidator = false;
+            message =
+              (
+                message
+                  ? message
+                  : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
+              )
+            ;
+
+            $.each(
+              settings.validatorTypes,
+              function (validatorType, validatorTemplate) {
+                if (validators[validatorType] === undefined) {
+                  validators[validatorType] = [];
+                }
+                if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
+                  validators[validatorType].push(
+                    $.extend(
+                      true,
+                      {
+                        name: formatValidatorName(validatorTemplate.name),
+                        message: message
+                      },
+                      validatorTemplate.init($this, el)
+                    )
+                  );
+                  foundValidator = true;
+                }
+              }
+            );
+
+            if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
+
+              var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
+              if (hasOverrideMessage) {
+                validator.message = message;
+              }
+              var validatorType = validator.type.toLowerCase();
+
+              if (validatorType === "shortcut") {
+                foundValidator = true;
+              } else {
+                $.each(
+                  settings.validatorTypes,
+                  function (validatorTemplateType, validatorTemplate) {
+                    if (validators[validatorTemplateType] === undefined) {
+                      validators[validatorTemplateType] = [];
+                    }
+                    if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
+                      $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);
+                      validators[validatorType].push(
+                        $.extend(
+                          validator,
+                          validatorTemplate.init($this, el)
+                        )
+                      );
+                      foundValidator = true;
+                    }
+                  }
+                );
+              }
+            }
+
+            if (! foundValidator) {
+              $.error("Cannot find validation info for '" + el + "'");
+            }
+          });
+
+          // =============================================================
+          //                                         STORE FALLBACK VALUES
+          // =============================================================
+
+          $helpBlock.data(
+            "original-contents",
+            (
+              $helpBlock.data("original-contents")
+                ? $helpBlock.data("original-contents")
+                : $helpBlock.html()
+            )
+          );
+
+          $helpBlock.data(
+            "original-role",
+            (
+              $helpBlock.data("original-role")
+                ? $helpBlock.data("original-role")
+                : $helpBlock.attr("role")
+            )
+          );
+
+          $controlGroup.data(
+            "original-classes",
+            (
+              $controlGroup.data("original-clases")
+                ? $controlGroup.data("original-classes")
+                : $controlGroup.attr("class")
+            )
+          );
+
+          $this.data(
+            "original-aria-invalid",
+            (
+              $this.data("original-aria-invalid")
+                ? $this.data("original-aria-invalid")
+                : $this.attr("aria-invalid")
+            )
+          );
+
+          // =============================================================
+          //                                                    VALIDATION
+          // =============================================================
+
+          $this.bind(
+            "validation.validation",
+            function (event, params) {
+
+              var value = getValue($this);
+
+              // Get a list of the errors to apply
+              var errorsFound = [];
+
+              $.each(validators, function (validatorType, validatorTypeArray) {
+                if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
+                  $.each(validatorTypeArray, function (i, validator) {
+                    if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
+                      errorsFound.push(validator.message);
+                    }
+                  });
+                }
+              });
+
+              return errorsFound;
+            }
+          );
+
+          $this.bind(
+            "getValidators.validation",
+            function () {
+              return validators;
+            }
+          );
+
+          // =============================================================
+          //                                             WATCH FOR CHANGES
+          // =============================================================
+          $this.bind(
+            "submit.validation",
+            function () {
+              return $this.triggerHandler("change.validation", {submitting: true});
+            }
+          );
+          $this.bind(
+            [
+              "keyup",
+              "focus",
+              "blur",
+              "click",
+              "keydown",
+              "keypress",
+              "change"
+            ].join(".validation ") + ".validation",
+            function (e, params) {
+
+              var value = getValue($this);
+
+              var errorsFound = [];
+
+              $controlGroup.find("input,textarea,select").each(function (i, el) {
+                var oldCount = errorsFound.length;
+                $.each($(el).triggerHandler("validation.validation", params), function (j, message) {
+                  errorsFound.push(message);
+                });
+                if (errorsFound.length > oldCount) {
+                  $(el).attr("aria-invalid", "true");
+                } else {
+                  var original = $this.data("original-aria-invalid");
+                  $(el).attr("aria-invalid", (original !== undefined ? original : false));
+                }
+              });
+
+              $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
+
+              errorsFound = $.unique(errorsFound.sort());
+
+              // Were there any errors?
+              if (errorsFound.length) {
+                // Better flag it up as a warning.
+                $controlGroup.removeClass("success error").addClass("warning");
+
+                // How many errors did we find?
+                if (settings.options.semanticallyStrict && errorsFound.length === 1) {
+                  // Only one? Being strict? Just output it.
+                  $helpBlock.html(errorsFound[0] + 
+                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+                } else {
+                  // Multiple? Being sloppy? Glue them together into an UL.
+                  $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
+                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+                }
+              } else {
+                $controlGroup.removeClass("warning error success");
+                if (value.length > 0) {
+                  $controlGroup.addClass("success");
+                }
+                $helpBlock.html($helpBlock.data("original-contents"));
+              }
+
+              if (e.type === "blur") {
+                $controlGroup.removeClass("success");
+              }
+            }
+          );
+          $this.bind("validationLostFocus.validation", function () {
+            $controlGroup.removeClass("success");
+          });
+        });
+      },
+      destroy : function( ) {
+
+        return this.each(
+          function() {
+
+            var
+              $this = $(this),
+              $controlGroup = $this.parents(".control-group").first(),
+              $helpBlock = $controlGroup.find(".help-block").first();
+
+            // remove our events
+            $this.unbind('.validation'); // events are namespaced.
+            // reset help text
+            $helpBlock.html($helpBlock.data("original-contents"));
+            // reset classes
+            $controlGroup.attr("class", $controlGroup.data("original-classes"));
+            // reset aria
+            $this.attr("aria-invalid", $this.data("original-aria-invalid"));
+            // reset role
+            $helpBlock.attr("role", $this.data("original-role"));
+						// remove all elements we created
+						if (createdElements.indexOf($helpBlock[0]) > -1) {
+							$helpBlock.remove();
+						}
+
+          }
+        );
+
+      },
+      collectErrors : function(includeEmpty) {
+
+        var errorMessages = {};
+        this.each(function (i, el) {
+          var $el = $(el);
+          var name = $el.attr("name");
+          var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
+          errorMessages[name] = $.extend(true, errors, errorMessages[name]);
+        });
+
+        $.each(errorMessages, function (i, el) {
+          if (el.length === 0) {
+            delete errorMessages[i];
+          }
+        });
+
+        return errorMessages;
+
+      },
+      hasErrors: function() {
+
+        var errorMessages = [];
+
+        this.each(function (i, el) {
+          errorMessages = errorMessages.concat(
+            $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
+          );
+        });
+
+        return (errorMessages.length > 0);
+      },
+      override : function (newDefaults) {
+        defaults = $.extend(true, defaults, newDefaults);
+      }
+    },
+		validatorTypes: {
+      callback: {
+        name: "callback",
+        init: function ($this, name) {
+          return {
+            validatorName: name,
+            callback: $this.data("validation" + name + "Callback"),
+            lastValue: $this.val(),
+            lastValid: true,
+            lastFinished: true
+          };
+        },
+        validate: function ($this, value, validator) {
+          if (validator.lastValue === value && validator.lastFinished) {
+            return !validator.lastValid;
+          }
+
+          if (validator.lastFinished === true)
+          {
+            validator.lastValue = value;
+            validator.lastValid = true;
+            validator.lastFinished = false;
+
+            var rrjqbvValidator = validator;
+            var rrjqbvThis = $this;
+            executeFunctionByName(
+              validator.callback,
+              window,
+              $this,
+              value,
+              function (data) {
+                if (rrjqbvValidator.lastValue === data.value) {
+                  rrjqbvValidator.lastValid = data.valid;
+                  if (data.message) {
+                    rrjqbvValidator.message = data.message;
+                  }
+                  rrjqbvValidator.lastFinished = true;
+                  rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
+                  // Timeout is set to avoid problems with the events being considered 'already fired'
+                  setTimeout(function () {
+                    rrjqbvThis.trigger("change.validation");
+                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+                }
+              }
+            );
+          }
+
+          return false;
+
+        }
+      },
+      ajax: {
+        name: "ajax",
+        init: function ($this, name) {
+          return {
+            validatorName: name,
+            url: $this.data("validation" + name + "Ajax"),
+            lastValue: $this.val(),
+            lastValid: true,
+            lastFinished: true
+          };
+        },
+        validate: function ($this, value, validator) {
+          if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
+            return validator.lastValid === false;
+          }
+
+          if (validator.lastFinished === true)
+          {
+            validator.lastValue = value;
+            validator.lastValid = true;
+            validator.lastFinished = false;
+            $.ajax({
+              url: validator.url,
+              data: "value=" + value + "&field=" + $this.attr("name"),
+              dataType: "json",
+              success: function (data) {
+                if (""+validator.lastValue === ""+data.value) {
+                  validator.lastValid = !!(data.valid);
+                  if (data.message) {
+                    validator.message = data.message;
+                  }
+                  validator.lastFinished = true;
+                  $this.data("validation" + validator.validatorName + "Message", validator.message);
+                  // Timeout is set to avoid problems with the events being considered 'already fired'
+                  setTimeout(function () {
+                    $this.trigger("change.validation");
+                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+                }
+              },
+              failure: function () {
+                validator.lastValid = true;
+                validator.message = "ajax call failed";
+                validator.lastFinished = true;
+                $this.data("validation" + validator.validatorName + "Message", validator.message);
+                // Timeout is set to avoid problems with the events being considered 'already fired'
+                setTimeout(function () {
+                  $this.trigger("change.validation");
+                }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+              }
+            });
+          }
+
+          return false;
+
+        }
+      },
+			regex: {
+				name: "regex",
+				init: function ($this, name) {
+					return {regex: regexFromString($this.data("validation" + name + "Regex"))};
+				},
+				validate: function ($this, value, validator) {
+					return (!validator.regex.test(value) && ! validator.negative)
+						|| (validator.regex.test(value) && validator.negative);
+				}
+			},
+			required: {
+				name: "required",
+				init: function ($this, name) {
+					return {};
+				},
+				validate: function ($this, value, validator) {
+					return !!(value.length === 0  && ! validator.negative)
+						|| !!(value.length > 0 && validator.negative);
+				},
+        blockSubmit: true
+			},
+			match: {
+				name: "match",
+				init: function ($this, name) {
+					var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
+					element.bind("validation.validation", function () {
+						$this.trigger("change.validation", {submitting: true});
+					});
+					return {"element": element};
+				},
+				validate: function ($this, value, validator) {
+					return (value !== validator.element.val() && ! validator.negative)
+						|| (value === validator.element.val() && validator.negative);
+				},
+        blockSubmit: true
+			},
+			max: {
+				name: "max",
+				init: function ($this, name) {
+					return {max: $this.data("validation" + name + "Max")};
+				},
+				validate: function ($this, value, validator) {
+					return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
+						|| (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
+				}
+			},
+			min: {
+				name: "min",
+				init: function ($this, name) {
+					return {min: $this.data("validation" + name + "Min")};
+				},
+				validate: function ($this, value, validator) {
+					return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
+						|| (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
+				}
+			},
+			maxlength: {
+				name: "maxlength",
+				init: function ($this, name) {
+					return {maxlength: $this.data("validation" + name + "Maxlength")};
+				},
+				validate: function ($this, value, validator) {
+					return ((value.length > validator.maxlength) && ! validator.negative)
+						|| ((value.length <= validator.maxlength) && validator.negative);
+				}
+			},
+			minlength: {
+				name: "minlength",
+				init: function ($this, name) {
+					return {minlength: $this.data("validation" + name + "Minlength")};
+				},
+				validate: function ($this, value, validator) {
+					return ((value.length < validator.minlength) && ! validator.negative)
+						|| ((value.length >= validator.minlength) && validator.negative);
+				}
+			},
+			maxchecked: {
+				name: "maxchecked",
+				init: function ($this, name) {
+					var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+					elements.bind("click.validation", function () {
+						$this.trigger("change.validation", {includeEmpty: true});
+					});
+					return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
+				},
+				validate: function ($this, value, validator) {
+					return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
+						|| (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
+				},
+        blockSubmit: true
+			},
+			minchecked: {
+				name: "minchecked",
+				init: function ($this, name) {
+					var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+					elements.bind("click.validation", function () {
+						$this.trigger("change.validation", {includeEmpty: true});
+					});
+					return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
+				},
+				validate: function ($this, value, validator) {
+					return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
+						|| (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
+				},
+        blockSubmit: true
+			}
+		},
+		builtInValidators: {
+			email: {
+				name: "Email",
+				type: "shortcut",
+				shortcut: "validemail"
+			},
+			validemail: {
+				name: "Validemail",
+				type: "regex",
+				regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
+				message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
+			},
+			passwordagain: {
+				name: "Passwordagain",
+				type: "match",
+				match: "password",
+				message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
+			},
+			positive: {
+				name: "Positive",
+				type: "shortcut",
+				shortcut: "number,positivenumber"
+			},
+			negative: {
+				name: "Negative",
+				type: "shortcut",
+				shortcut: "number,negativenumber"
+			},
+			number: {
+				name: "Number",
+				type: "regex",
+				regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
+				message: "Must be a number<!-- data-validator-number-message to override -->"
+			},
+			integer: {
+				name: "Integer",
+				type: "regex",
+				regex: "[+-]?\\\d+",
+				message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
+			},
+			positivenumber: {
+				name: "Positivenumber",
+				type: "min",
+				min: 0,
+				message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
+			},
+			negativenumber: {
+				name: "Negativenumber",
+				type: "max",
+				max: 0,
+				message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
+			},
+			required: {
+				name: "Required",
+				type: "required",
+				message: "This is required<!-- data-validator-required-message to override -->"
+			},
+			checkone: {
+				name: "Checkone",
+				type: "minchecked",
+				minchecked: 1,
+				message: "Check at least one option<!-- data-validation-checkone-message to override -->"
+			}
+		}
+	};
+
+	var formatValidatorName = function (name) {
+		return name
+			.toLowerCase()
+			.replace(
+				/(^|\s)([a-z])/g ,
+				function(m,p1,p2) {
+					return p1+p2.toUpperCase();
+				}
+			)
+		;
+	};
+
+	var getValue = function ($this) {
+		// Extract the value we're talking about
+		var value = $this.val();
+		var type = $this.attr("type");
+		if (type === "checkbox") {
+			value = ($this.is(":checked") ? value : "");
+		}
+		if (type === "radio") {
+			value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
+		}
+		return value;
+	};
+
+  function regexFromString(inputstring) {
+		return new RegExp("^" + inputstring + "$");
+	}
+
+  /**
+   * Thanks to Jason Bunting via StackOverflow.com
+   *
+   * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
+   * Short link: http://tinyurl.com/executeFunctionByName
+  **/
+  function executeFunctionByName(functionName, context /*, args*/) {
+    var args = Array.prototype.slice.call(arguments).splice(2);
+    var namespaces = functionName.split(".");
+    var func = namespaces.pop();
+    for(var i = 0; i < namespaces.length; i++) {
+      context = context[namespaces[i]];
+    }
+    return context[func].apply(this, args);
+  }
+
+	$.fn.jqBootstrapValidation = function( method ) {
+
+		if ( defaults.methods[method] ) {
+			return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
+		} else if ( typeof method === 'object' || ! method ) {
+			return defaults.methods.init.apply( this, arguments );
+		} else {
+		$.error( 'Method ' +  method + ' does not exist on jQuery.jqBootstrapValidation' );
+			return null;
+		}
+
+	};
+
+  $.jqBootstrapValidation = function (options) {
+    $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
+  };
+
+})( jQuery );
diff --git a/workspace/public/robots.txt b/workspace/public/robots.txt
new file mode 100644
index 0000000..eb05362
--- /dev/null
+++ b/workspace/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/workspace/public/web.config b/workspace/public/web.config
new file mode 100644
index 0000000..624c176
--- /dev/null
+++ b/workspace/public/web.config
@@ -0,0 +1,23 @@
+<configuration>
+  <system.webServer>
+    <rewrite>
+      <rules>
+        <rule name="Imported Rule 1" stopProcessing="true">
+          <match url="^(.*)/$" ignoreCase="false" />
+          <conditions>
+            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
+          </conditions>
+          <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
+        </rule>
+        <rule name="Imported Rule 2" stopProcessing="true">
+          <match url="^" ignoreCase="false" />
+          <conditions>
+            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
+            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
+          </conditions>
+          <action type="Rewrite" url="index.php" />
+        </rule>
+      </rules>
+    </rewrite>
+  </system.webServer>
+</configuration>
diff --git a/workspace/readme.md b/workspace/readme.md
new file mode 100644
index 0000000..7f8816d
--- /dev/null
+++ b/workspace/readme.md
@@ -0,0 +1,27 @@
+# Laravel PHP Framework
+
+[![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework)
+[![Total Downloads](https://poser.pugx.org/laravel/framework/d/total.svg)](https://packagist.org/packages/laravel/framework)
+[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework)
+[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework)
+[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework)
+
+Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
+
+Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
+
+## Official Documentation
+
+Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs).
+
+## Contributing
+
+Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions).
+
+## Security Vulnerabilities
+
+If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed.
+
+## License
+
+The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).
diff --git a/workspace/reports/iteration-X-template.md b/workspace/reports/iteration-X-template.md
new file mode 100644
index 0000000..ba601f7
--- /dev/null
+++ b/workspace/reports/iteration-X-template.md
@@ -0,0 +1,72 @@
+# Rapport d'itération  
+*Ce rapport est à fournir pour chaque équipe au moment du changement d'itération.*
+
+## Composition de l'équipe 
+*Remplir ce tableau avec la composition de l'équipe et les rôles.*
+
+|  &nbsp;                 | Itération précédente     |
+| -------------           |-------------             |
+| **Product Owner**       | *Charles*                |
+| **Scrum Master**        | *Pierre*                 |
+
+## Bilan de l'itération précédente  
+### Évènements 
+*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.*
+> Répondre ici
+
+*Exemple (à supprimer):*
+> *Pierre était en vacances toute la semaine.*
+> *Nous avons trouvé une erreur de conception qui nous a obligés à reprendre une partie du code pour pouvoir avancer.*
+
+### Taux de complétion de l'itération  
+*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?*
+> Répondre ici
+*Exemple (à supprimer):*
+> *12 terminés / 18 prévues = 66%*
+
+### Liste des User Stories terminées
+*Quelles sont les User Stories qui ont été validées par le PO à la fin de l'itération ?*
+
+## Rétrospective de l'itération précédente
+  
+### Bilans des retours et des précédentes actions 
+*Quels sont les retours faits par l'équipe pendant la rétrospective? Quelles sont les actions qui ont apporté quelque chose ou non?*
+> Répondre ici
+
+### Actions prises pour la prochaine itération
+*Quelles sont les actions décidées par l'équipe pour la prochaine itération ?*
+ 
+### Axes d'améliorations 
+*Quels sont les axes d'améliorations pour les personnes qui ont tenu les rôles de PO, SM et Dev sur la précédente itération?*
+> Répondre ici
+
+## Prévisions de l'itération suivante  
+### Évènements prévus  
+*Quels sont les évènements qui vont peut être impacter l'itération? Répertoriez ici les évènements que vous anticipez comme ayant un impact potentiel pour l'itération (absences, changement de cap, difficultés, etc.).*
+> Répondre ici
+
+### Titre des User Stories reportées  
+*Lister ici les éléments des itérations précédentes qui ont été reportés à l'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.*
+> Répondre ici
+
+### Titre des nouvelles User Stories  
+*Lister ici les nouveaux éléments pour l'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.*
+> Répondre ici
+
+## Confiance 
+### Taux de confiance de l'équipe dans l'itération  
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *0* 	    |  *0* 	|  *0* 	|
+
+### Taux de confiance de l'équipe pour la réalisation du projet 
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *0* 	    |  *0* 	|  *0* 	|
+
+ 
+ 
\ No newline at end of file
diff --git a/workspace/reports/iteration_2.md b/workspace/reports/iteration_2.md
new file mode 100644
index 0000000..a23b58a
--- /dev/null
+++ b/workspace/reports/iteration_2.md
@@ -0,0 +1,83 @@
+# Rapport d'itération  
+
+## Composition de l'équipe 
+
+
+|  &nbsp;                 | Itération précédente     |
+| -------------           |-------------             |
+| **Product Owner**       | *AICHHORN Guillaume*     |
+| **Scrum Master**        | *ALVES Alexandre*        |
+| **Dev**		  		  | *KIM Hyoseok*			 |
+| **Dev**		  		  | *ALIMEHNNI Hugues*		 |
+| **Dev**		  		  | *SANN Sokchivin*		 |
+| **Dev**		  		  | *BENCHETRIT Milan*		 |
+| **Dev**		  		  | *MELCHIOR Louis*		 |
+
+## Bilan de l'itération précédente  
+### Évènements 
+*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.*
+> Guillaume n'était pas très disponible du fait de sa participation aux élections du BDE
+> L'équipe manquait d'organisation et a donc eu du mal à se mettre au travail (tâches définies mais mal réparties)
+
+### Taux de complétion de l'itération  
+*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?*
+> 4 terminées / 7 prévues = 57%
+
+### Liste des User Stories terminées
+> Dépot d'annonce
+> Affichage des annonces (ensemble et individuel)
+
+## Rétrospective de l'itération précédente
+  
+### Bilans des retours et des précédentes actions 
+> Manque d'organisations et de communication : les membres de l'équipe ne savait pas quoi faire
+> Pas assez de stand up et état d'avancé du projet
+> Les USs étaient trop vagues et n'avaient pas été étudiées
+> Mauvaise compréhension des membres de l'équipe.
+> Difficultés à prendre en mains Laravel (nouvel environnement de travail)
+
+### Actions prises pour la prochaine itération
+> Meilleure communication (plus de réunion)
+> Meilleure plannification des tâches (répartition et objectifs)
+> US de plus petite taille.
+> Meilleur découpage des US.
+> Nouvel axe de travail (recentré sur le MVP)
+
+### Axes d'améliorations 
+> PO : Doit être plus investi dans les prises de décisions concernant l'orientation du projet
+>       - Conception/modification d'US.
+>       - Définir la valeur de chaque US.
+> SM : Doit être un élement clé pour la cohésion et la communication au sein de l'équipe
+>       - Moins animer les réunion mais doit maintenir l'égalité entre membres
+> Dev : Doivent être plus présents dans la réalisation du projet, n'hésitant pas à faire part de leurs problèmes
+
+## Prévisions de l'itération suivante  
+### Évènements prévus  
+> Conférence vendredi après-midi (24/11)
+> Conférence mardi matin (28/11)
+>
+### Titre des User Stories reportées  
+> Fin du MVP (update, suppression d'annonce, recherche simple)
+
+### Titre des nouvelles User Stories  
+> Les US reportées
+> Demande de réservation
+> Upload d'image
+
+## Confiance 
+### Taux de confiance de l'équipe dans l'itération  
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *3* 	    |  *4* 	|  *0* 	|
+
+### Taux de confiance de l'équipe pour la réalisation du projet 
+*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*
+
+|          	| :( 	| :&#124; 	| :) 	| :D 	|
+|:--------:	|:----:	|:----:	    |:----:	|:----:	|
+| Equipe 7 	|  *0* 	|  *1* 	    |  *4* 	|  *2* 	|
+
+ 
+ 
diff --git a/workspace/resources/assets/sass/app.scss b/workspace/resources/assets/sass/app.scss
new file mode 100644
index 0000000..bb76e29
--- /dev/null
+++ b/workspace/resources/assets/sass/app.scss
@@ -0,0 +1,2 @@
+// @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
+
diff --git a/workspace/resources/lang/en/auth.php b/workspace/resources/lang/en/auth.php
new file mode 100644
index 0000000..e5506df
--- /dev/null
+++ b/workspace/resources/lang/en/auth.php
@@ -0,0 +1,19 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used during authentication for various
+    | messages that we need to display to the user. You are free to modify
+    | these language lines according to your application's requirements.
+    |
+    */
+
+    'failed' => 'These credentials do not match our records.',
+    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
+
+];
diff --git a/workspace/resources/lang/en/pagination.php b/workspace/resources/lang/en/pagination.php
new file mode 100644
index 0000000..fcab34b
--- /dev/null
+++ b/workspace/resources/lang/en/pagination.php
@@ -0,0 +1,19 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Pagination Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used by the paginator library to build
+    | the simple pagination links. You are free to change them to anything
+    | you want to customize your views to better match your application.
+    |
+    */
+
+    'previous' => '&laquo; Previous',
+    'next'     => 'Next &raquo;',
+
+];
diff --git a/workspace/resources/lang/en/passwords.php b/workspace/resources/lang/en/passwords.php
new file mode 100644
index 0000000..e5544d2
--- /dev/null
+++ b/workspace/resources/lang/en/passwords.php
@@ -0,0 +1,22 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are the default lines which match reasons
+    | that are given by the password broker for a password update attempt
+    | has failed, such as for an invalid token or invalid new password.
+    |
+    */
+
+    'password' => 'Passwords must be at least six characters and match the confirmation.',
+    'reset' => 'Your password has been reset!',
+    'sent' => 'We have e-mailed your password reset link!',
+    'token' => 'This password reset token is invalid.',
+    'user' => "We can't find a user with that e-mail address.",
+
+];
diff --git a/workspace/resources/lang/en/validation.php b/workspace/resources/lang/en/validation.php
new file mode 100644
index 0000000..b1e6120
--- /dev/null
+++ b/workspace/resources/lang/en/validation.php
@@ -0,0 +1,113 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines contain the default error messages used by
+    | the validator class. Some of these rules have multiple versions such
+    | as the size rules. Feel free to tweak each of these messages here.
+    |
+    */
+
+    'accepted'             => 'The :attribute must be accepted.',
+    'active_url'           => 'The :attribute is not a valid URL.',
+    'after'                => 'The :attribute must be a date after :date.',
+    'alpha'                => 'The :attribute may only contain letters.',
+    'alpha_dash'           => 'The :attribute may only contain letters, numbers, and dashes.',
+    'alpha_num'            => 'The :attribute may only contain letters and numbers.',
+    'array'                => 'The :attribute must be an array.',
+    'before'               => 'The :attribute must be a date before :date.',
+    'between'              => [
+        'numeric' => 'The :attribute must be between :min and :max.',
+        'file'    => 'The :attribute must be between :min and :max kilobytes.',
+        'string'  => 'The :attribute must be between :min and :max characters.',
+        'array'   => 'The :attribute must have between :min and :max items.',
+    ],
+    'boolean'              => 'The :attribute field must be true or false.',
+    'confirmed'            => 'The :attribute confirmation does not match.',
+    'date'                 => 'The :attribute is not a valid date.',
+    'date_format'          => 'The :attribute does not match the format :format.',
+    'different'            => 'The :attribute and :other must be different.',
+    'digits'               => 'The :attribute must be :digits digits.',
+    'digits_between'       => 'The :attribute must be between :min and :max digits.',
+    'distinct'             => 'The :attribute field has a duplicate value.',
+    'email'                => 'The :attribute must be a valid email address.',
+    'exists'               => 'The selected :attribute is invalid.',
+    'filled'               => 'The :attribute field is required.',
+    'image'                => 'The :attribute must be an image.',
+    'in'                   => 'The selected :attribute is invalid.',
+    'in_array'             => 'The :attribute field does not exist in :other.',
+    'integer'              => 'The :attribute must be an integer.',
+    'ip'                   => 'The :attribute must be a valid IP address.',
+    'json'                 => 'The :attribute must be a valid JSON string.',
+    'max'                  => [
+        'numeric' => 'The :attribute may not be greater than :max.',
+        'file'    => 'The :attribute may not be greater than :max kilobytes.',
+        'string'  => 'The :attribute may not be greater than :max characters.',
+        'array'   => 'The :attribute may not have more than :max items.',
+    ],
+    'mimes'                => 'The :attribute must be a file of type: :values.',
+    'min'                  => [
+        'numeric' => 'The :attribute must be at least :min.',
+        'file'    => 'The :attribute must be at least :min kilobytes.',
+        'string'  => 'The :attribute must be at least :min characters.',
+        'array'   => 'The :attribute must have at least :min items.',
+    ],
+    'not_in'               => 'The selected :attribute is invalid.',
+    'numeric'              => 'The :attribute must be a number.',
+    'present'              => 'The :attribute field must be present.',
+    'regex'                => 'The :attribute format is invalid.',
+    'required'             => 'The :attribute field is required.',
+    'required_if'          => 'The :attribute field is required when :other is :value.',
+    'required_unless'      => 'The :attribute field is required unless :other is in :values.',
+    'required_with'        => 'The :attribute field is required when :values is present.',
+    'required_with_all'    => 'The :attribute field is required when :values is present.',
+    'required_without'     => 'The :attribute field is required when :values is not present.',
+    'required_without_all' => 'The :attribute field is required when none of :values are present.',
+    'same'                 => 'The :attribute and :other must match.',
+    'size'                 => [
+        'numeric' => 'The :attribute must be :size.',
+        'file'    => 'The :attribute must be :size kilobytes.',
+        'string'  => 'The :attribute must be :size characters.',
+        'array'   => 'The :attribute must contain :size items.',
+    ],
+    'string'               => 'The :attribute must be a string.',
+    'timezone'             => 'The :attribute must be a valid zone.',
+    'unique'               => 'The :attribute has already been taken.',
+    'url'                  => 'The :attribute format is invalid.',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify custom validation messages for attributes using the
+    | convention "attribute.rule" to name the lines. This makes it quick to
+    | specify a specific custom language line for a given attribute rule.
+    |
+    */
+
+    'custom' => [
+        'attribute-name' => [
+            'rule-name' => 'custom-message',
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Attributes
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used to swap attribute place-holders
+    | with something more reader friendly such as E-Mail Address instead
+    | of "email". This simply helps us make messages a little cleaner.
+    |
+    */
+
+    'attributes' => [],
+
+];
diff --git a/workspace/resources/lang/fr/auth.php b/workspace/resources/lang/fr/auth.php
new file mode 100644
index 0000000..ea119c8
--- /dev/null
+++ b/workspace/resources/lang/fr/auth.php
@@ -0,0 +1,21 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used during authentication for various
+    | messages that we need to display to the user. You are free to modify
+    | these language lines according to your application's requirements.
+    | 
+    
+      à traduire
+    */
+
+    'failed' => 'Les informations renseignées ne sont pas valides.',
+    'throttle' => 'Trop de tentatives de connexion. Réessayez dans :seconds secondes.',
+
+];
diff --git a/workspace/resources/lang/fr/pagination.php b/workspace/resources/lang/fr/pagination.php
new file mode 100644
index 0000000..15c3ac4
--- /dev/null
+++ b/workspace/resources/lang/fr/pagination.php
@@ -0,0 +1,19 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Pagination Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used by the paginator library to build
+    | the simple pagination links. You are free to change them to anything
+    | you want to customize your views to better match your application.
+    |
+    */
+
+    'previous' => '&laquo; Précédents',
+    'next'     => 'Suivants &raquo;',
+
+];
diff --git a/workspace/resources/lang/fr/passwords.php b/workspace/resources/lang/fr/passwords.php
new file mode 100644
index 0000000..97b54d2
--- /dev/null
+++ b/workspace/resources/lang/fr/passwords.php
@@ -0,0 +1,22 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are the default lines which match reasons
+    | that are given by the password broker for a password update attempt
+    | has failed, such as for an invalid token or invalid new password.
+    |
+    */
+
+    'password' => 'Le mot de passe doit contenir au moins 6 caractères et être confirmé.',
+    'reset' => 'Votre mot de passe a été changé!',
+    'sent' => 'Un email vous a été envoyé pour changer votre mot de passe!',
+    'token' => 'Ce token de changement de mot de passe est invalide.',
+    'user' => "Cet utilisateur n'existe pas.",
+
+];
diff --git a/workspace/resources/lang/fr/texts.php b/workspace/resources/lang/fr/texts.php
new file mode 100644
index 0000000..16eab67
--- /dev/null
+++ b/workspace/resources/lang/fr/texts.php
@@ -0,0 +1,18 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are the default lines which match reasons
+    | that are given by the password broker for a password update attempt
+    | has failed, such as for an invalid token or invalid new password.
+    |
+    */
+
+    'About Our Site' => "À propos de Bonsaiie",
+
+];
diff --git a/workspace/resources/lang/fr/validation.php b/workspace/resources/lang/fr/validation.php
new file mode 100644
index 0000000..b1e6120
--- /dev/null
+++ b/workspace/resources/lang/fr/validation.php
@@ -0,0 +1,113 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines contain the default error messages used by
+    | the validator class. Some of these rules have multiple versions such
+    | as the size rules. Feel free to tweak each of these messages here.
+    |
+    */
+
+    'accepted'             => 'The :attribute must be accepted.',
+    'active_url'           => 'The :attribute is not a valid URL.',
+    'after'                => 'The :attribute must be a date after :date.',
+    'alpha'                => 'The :attribute may only contain letters.',
+    'alpha_dash'           => 'The :attribute may only contain letters, numbers, and dashes.',
+    'alpha_num'            => 'The :attribute may only contain letters and numbers.',
+    'array'                => 'The :attribute must be an array.',
+    'before'               => 'The :attribute must be a date before :date.',
+    'between'              => [
+        'numeric' => 'The :attribute must be between :min and :max.',
+        'file'    => 'The :attribute must be between :min and :max kilobytes.',
+        'string'  => 'The :attribute must be between :min and :max characters.',
+        'array'   => 'The :attribute must have between :min and :max items.',
+    ],
+    'boolean'              => 'The :attribute field must be true or false.',
+    'confirmed'            => 'The :attribute confirmation does not match.',
+    'date'                 => 'The :attribute is not a valid date.',
+    'date_format'          => 'The :attribute does not match the format :format.',
+    'different'            => 'The :attribute and :other must be different.',
+    'digits'               => 'The :attribute must be :digits digits.',
+    'digits_between'       => 'The :attribute must be between :min and :max digits.',
+    'distinct'             => 'The :attribute field has a duplicate value.',
+    'email'                => 'The :attribute must be a valid email address.',
+    'exists'               => 'The selected :attribute is invalid.',
+    'filled'               => 'The :attribute field is required.',
+    'image'                => 'The :attribute must be an image.',
+    'in'                   => 'The selected :attribute is invalid.',
+    'in_array'             => 'The :attribute field does not exist in :other.',
+    'integer'              => 'The :attribute must be an integer.',
+    'ip'                   => 'The :attribute must be a valid IP address.',
+    'json'                 => 'The :attribute must be a valid JSON string.',
+    'max'                  => [
+        'numeric' => 'The :attribute may not be greater than :max.',
+        'file'    => 'The :attribute may not be greater than :max kilobytes.',
+        'string'  => 'The :attribute may not be greater than :max characters.',
+        'array'   => 'The :attribute may not have more than :max items.',
+    ],
+    'mimes'                => 'The :attribute must be a file of type: :values.',
+    'min'                  => [
+        'numeric' => 'The :attribute must be at least :min.',
+        'file'    => 'The :attribute must be at least :min kilobytes.',
+        'string'  => 'The :attribute must be at least :min characters.',
+        'array'   => 'The :attribute must have at least :min items.',
+    ],
+    'not_in'               => 'The selected :attribute is invalid.',
+    'numeric'              => 'The :attribute must be a number.',
+    'present'              => 'The :attribute field must be present.',
+    'regex'                => 'The :attribute format is invalid.',
+    'required'             => 'The :attribute field is required.',
+    'required_if'          => 'The :attribute field is required when :other is :value.',
+    'required_unless'      => 'The :attribute field is required unless :other is in :values.',
+    'required_with'        => 'The :attribute field is required when :values is present.',
+    'required_with_all'    => 'The :attribute field is required when :values is present.',
+    'required_without'     => 'The :attribute field is required when :values is not present.',
+    'required_without_all' => 'The :attribute field is required when none of :values are present.',
+    'same'                 => 'The :attribute and :other must match.',
+    'size'                 => [
+        'numeric' => 'The :attribute must be :size.',
+        'file'    => 'The :attribute must be :size kilobytes.',
+        'string'  => 'The :attribute must be :size characters.',
+        'array'   => 'The :attribute must contain :size items.',
+    ],
+    'string'               => 'The :attribute must be a string.',
+    'timezone'             => 'The :attribute must be a valid zone.',
+    'unique'               => 'The :attribute has already been taken.',
+    'url'                  => 'The :attribute format is invalid.',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Language Lines
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify custom validation messages for attributes using the
+    | convention "attribute.rule" to name the lines. This makes it quick to
+    | specify a specific custom language line for a given attribute rule.
+    |
+    */
+
+    'custom' => [
+        'attribute-name' => [
+            'rule-name' => 'custom-message',
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Custom Validation Attributes
+    |--------------------------------------------------------------------------
+    |
+    | The following language lines are used to swap attribute place-holders
+    | with something more reader friendly such as E-Mail Address instead
+    | of "email". This simply helps us make messages a little cleaner.
+    |
+    */
+
+    'attributes' => [],
+
+];
diff --git a/workspace/resources/views/OLD/app.blade.php b/workspace/resources/views/OLD/app.blade.php
new file mode 100644
index 0000000..d909843
--- /dev/null
+++ b/workspace/resources/views/OLD/app.blade.php
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <title>Laravel</title>
+
+    <!-- Fonts -->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" integrity="sha384-XdYbMnZ/QjLh6iI4ogqCTaIjrFk87ip+ekIjefZch0Y+PvJ8CDYtEs1ipDmPorQ+" crossorigin="anonymous">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700">
+
+    <!-- Styles -->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
+    {{-- <link href="{{ elixir('css/app.css') }}" rel="stylesheet"> --}}
+
+    <style>
+        body {
+            font-family: 'Lato';
+        }
+
+        .fa-btn {
+            margin-right: 6px;
+        }
+    </style>
+</head>
+<body id="app-layout">
+    <nav class="navbar navbar-default navbar-static-top">
+        <div class="container">
+            <div class="navbar-header">
+
+                <!-- Collapsed Hamburger -->
+                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
+                    <span class="sr-only">Toggle Navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+
+                <!-- Branding Image -->
+                <a class="navbar-brand" href="{{ url('/') }}">
+                    Laravel
+                </a>
+            </div>
+
+            <div class="collapse navbar-collapse" id="app-navbar-collapse">
+                <!-- Left Side Of Navbar -->
+                <ul class="nav navbar-nav">
+                    <li><a href="{{ url('/home') }}">Home</a></li>
+                </ul>
+
+                <!-- Right Side Of Navbar -->
+                <ul class="nav navbar-nav navbar-right">
+                    <!-- Authentication Links -->
+                    @if (Auth::guest())
+                        <li><a href="{{ url('/login') }}">Login</a></li>
+                        <li><a href="{{ url('/register') }}">Register</a></li>
+                    @else
+                        <li class="dropdown">
+                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
+                                {{ Auth::user()->name }} <span class="caret"></span>
+                            </a>
+
+                            <ul class="dropdown-menu" role="menu">
+                                <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
+                            </ul>
+                        </li>
+                    @endif
+                </ul>
+            </div>
+        </div>
+    </nav>
+
+    @yield('content')
+
+    <!-- JavaScripts -->
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js" integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
+    {{-- <script src="{{ elixir('js/app.js') }}"></script> --}}
+</body>
+</html>
diff --git a/workspace/resources/views/OLD/head.blade.php b/workspace/resources/views/OLD/head.blade.php
new file mode 100644
index 0000000..cec3402
--- /dev/null
+++ b/workspace/resources/views/OLD/head.blade.php
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<html lang="fr">
+    <head>
+        <!-- Required meta tags always come first -->
+        <meta charset="utf-8">
+        <meta http-equiv="x-ua-compatible" content="ie=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+        <title>@yield('title')</title>
+        
+        <!-- Font Awesome -->
+        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css">
+        
+        <!-- Bootstrap core CSS -->
+        <link rel="stylesheet" href="/css/bootstrap.min.css">
+        
+        <!-- Material Design Bootstrap -->
+        <link rel="stylesheet" href="/css/mdb.min.css">
+        
+        <!-- Custom CSS 
+        <link rel="stylesheet" href="style.css">
+        -->
+
+        <!-- favicons
+        ================================================== -->
+        <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
+        <link rel="icon" href="favicon.ico" type="image/x-icon">
+
+        <style>
+            html, body {
+                padding:0;
+                margin:0;
+            }
+
+            body {
+                padding-top: 8em;
+            }
+
+            main {
+                padding-top: 3rem;
+                padding-bottom: 2rem;
+            }
+
+            .extra-margins {
+                margin-top: 1rem;
+                margin-bottom: 2.5rem;
+            }
+
+            .nav-right{
+                margin-left: auto;
+            }
+
+            .nav-perso-color{
+                background-color: #9acd32;
+            }
+
+            nav .bold{
+                text-decoration: bold;
+                color: #fff;
+            }
+            
+            nav .nav-item a:hover,
+            nav .nav-item a:focus {
+                background-color: #3E3E3E;
+                background: -moz-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -webkit-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -ms-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -o-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                text-shadow: -1px -1px 0 #666;
+            }
+            
+            center {
+                margin: auto;
+                padding: auto;
+                text-align: center;
+            }
+
+            /*
+             * Footer
+             */
+
+            .blog-footer {
+              padding: 2.5rem 0;
+              color: #999;
+              text-align: center;
+              background-color: #f9f9f9;
+              background-size: 100%;
+              border-top: .05rem solid #e5e5e5;
+              font-size: 0.5em;
+            }
+            .blog-footer p:last-child {
+              margin-bottom: 0;
+            }
+
+            .site_links
+            .social-links {
+
+
+            }
+
+        </style>
+        <!-- Scripts TODO 
+        <script src="bootstrap/assets/js/ie-emulation-modes-warning.js"></script>
+        -->
+    </head>
+
+    <header>
+        @yield('header')
+    </header>
+    
+    <body>
+        @yield('body')
+    </body>
+
+    <footer class="blog-footer">
+        @yield('footer')
+    </footer>
+        
+    <!-- SCRIPTS -->
+    
+    <!-- JQuery -->
+    <script type="text/javascript" src="/jquery/jquery.min.js"></script>
+
+    <!-- Bootstrap tooltips -->
+    <script type="text/javascript" src="/js/tether.min.js"></script>
+
+    <!-- Bootstrap core JavaScript -->
+    <script type="text/javascript" src="/js/bootstrap.js"></script>
+    
+    <!-- MDB core JavaScript -->
+    <script type="text/javascript" src="/js/mdb.min.js"></script>
+
+</html>
\ No newline at end of file
diff --git a/workspace/resources/views/OLD/header.blade.php b/workspace/resources/views/OLD/header.blade.php
new file mode 100644
index 0000000..4bb9aeb
--- /dev/null
+++ b/workspace/resources/views/OLD/header.blade.php
@@ -0,0 +1,134 @@
+@extends('head')
+
+@section('header')
+<!-- style='background: url("/img/feuillesNav.jpeg") no-repeat; background-size: cover;' -->
+<nav class="navbar navbar-toggleable-sm nav-perso-color navbar-light fixed-top">
+    <div class="container">
+        <button class="navbar-toggler navbar-toggler-right mt-0" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        <h1 class="py-0 ml-lg-0 mx-3"><a href="#"> <img src="/img/arbre.jpg" width=90em/> </a></h1>
+        <div class="collapse navbar-collapse flex-column ml-lg-0 ml-3" id="navbarCollapse">
+            <!-- Première ligne de liens -->
+            <ul class="navbar-nav">
+                <li class="nav-item">
+                    <a class="nav-link" href="index.html" title="">Accueil</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="" title="">Mon compte</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="" title="">Mes voisins</a>
+                </li>
+                <li class="nav-item">
+                    <a class="nav-link" href="" title="">Les produits</a>
+                </li>
+                <li class="nav-item nav-right mr-lg-0">
+                    <form class="form-inline waves-effect waves-light">
+                        <input class="form-control" type="text" placeholder="Chercher...">
+                    </form>
+                </li>
+            </ul>
+            <!-- Deuxième ligne de liens -->
+            <ul class="navbar-nav flex-row mb-0">
+                <li class="nav-item"> </li>
+                <!-- <li class="nav-item">
+                    <a class="btn nav-perso-color btn-sm" style="background-color:red;" href="index.html#presentation" title="Une bonne question">Projets</a>
+                </li> -->
+                <!--
+                <li class="nav-item">
+                    <div class="dropdown" >
+                        <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:red;" title="Oui je fais des choses, je te vois douter">
+                            Projets
+                        </button>
+                        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                            <a class="dropdown-item" href="#">Projet 1</a>
+                            <a class="dropdown-item" href="#">Projet 1+1</a>
+                            <a class="dropdown-item" href="#">Projet 1+1+1</a>
+                        </div>
+                    </div>
+                </li>
+                <li class="nav-item">
+                    <div class="dropdown">
+                        <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:orange;" title="Certifiées sans trucage">
+                            Photos
+                        </button>
+                        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                            <a class="dropdown-item" href="#">Nouveautées</a>
+                            <a class="dropdown-item" href="#">Plus consultées</a>
+                            <a class="dropdown-item" href="#">Toutes</a>
+                        </div>
+                    </div>
+                </li>
+                <li class="nav-item">
+                    <div class="dropdown">
+                        <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:green;" title="Certifiées sans trucage également">
+                            Musiques
+                        </button>
+                        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                            <a class="dropdown-item" href="#">Nouveautées</a>
+                            <a class="dropdown-item" href="#">Préférées</a>
+                            <a class="dropdown-item" href="#">Toutes</a>
+                        </div>
+                    </div>
+                </li>
+            -->
+            </ul>
+        </div>
+    </div>
+</nav>
+@endsection
+
+@section('footer')
+<div class="row">
+
+    <div class="col-md-1"></div>
+
+    <div class="col-md-4 footer-info">
+
+        <h4>@lang('About Our Site')</h4>
+
+           <p>@lang('Lorem ipsum Ut velit dolor Ut labore id fugiat in ut fugiat nostrud qui in dolore commodo eu magna Duis cillum dolor officia esse mollit proident Excepteur exercitation nulla. Lorem ipsum In reprehenderit commodo aliqua irure labore.')</p>
+
+    </div> <!-- end footer-info -->
+
+    <div class="col-md-4"></div>
+
+    <div class="col-md-1 site-links">
+
+        <h4>@lang('Links')</h4>
+
+        <ul>
+            <li><a href="#">@lang('About us')</a></li>
+            <li><a href="#">@lang('Blog')</a></li>
+            <li><a href="#">@lang('Contact')</a></li>
+            <li><a href="#">@lang('Privacy Policy')</a></li>
+        </ul>
+
+    </div> <!-- end site-links -->
+
+    <div class="col-md-1 social-links">
+
+        <h4>@lang('Social')</h4>
+
+        <ul>
+            <li><a href="#">Twitter</a></li>
+            <li><a href="#">Facebook</a></li>
+            <li><a href="#">Dribbble</a></li>
+            <li><a href="#">Google+</a></li>
+            <li><a href="#">Instagram</a></li>
+        </ul>
+
+    </div> <!-- end social links -->
+
+</div> <!-- end row -->
+
+<div class="row">
+    <div class="col-md-2">
+        <div class="copyright">
+            <span>© Copyright Parpaing 2017</span>
+            <!-- <span>Design by <a href="http://www.styleshout.com/">styleshout</a></span> -->
+        </div>
+    </div>
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/OLD/index.blade.php b/workspace/resources/views/OLD/index.blade.php
new file mode 100644
index 0000000..60bd89a
--- /dev/null
+++ b/workspace/resources/views/OLD/index.blade.php
@@ -0,0 +1,69 @@
+@extends('header')
+
+@section('title')
+    index
+@endsection
+
+@section('body')
+
+
+<div class="jumbotron-fluid">
+    <!--
+    <div>
+        <div class="container">
+            <h1 class="display-3">Coucou !</h1>
+            <p>Ce site web est plus un test qu'un vrai truc utile... Mais bon si vous avez 2 minutes à perdre vous pouvez rester un instant ! :)</p>
+            <p><a class="btn btn-primary btn-lg" href="https://ar1.se/WTFDD9DZOL" target="_blank" role="button">Learn more &raquo;</a></p>
+        </div>
+    </div>
+-->
+
+    <div class="container">
+        <!-- Example row of columns -->
+        <div class="row">
+            <article class="col-md-2">
+                <h2>News: </h2>
+                <a href="img/parpaingALaPlage.png" target="_blank">
+                    <img class="imgProd" src="/img/arbre.jpg" height="100" alt="Parpaing à la plage" title="SOUS LE SOLEIL DES TROPIQUES !"/>
+                </a>
+                <p>Ce site est <em>encore</em> en cours de développement... Et honêtement je pense qu'il le sera toujours. </p>
+            </article>
+            
+            <div class="col-sm-4 portfolio-item">
+            <a class="portfolio-link" href="#portfolioModal1" data-toggle="modal">
+                <div class="caption">
+                    <div class="caption-content">
+                        <i class="fa fa-search-plus fa-3x"></i>
+                    </div>
+                </div>
+                <img class="img-fluid" src="img/arbre.jpg" alt="">
+            </a>
+            </div>
+          
+            <article class="col-md-2">
+                <h2>À propos:</h2>
+                <p>Vous souhaitez savoir dans quels associations je suis inscrit, où vous pourrez me trouver ou encore plein d'autres détails inintéressants ?</p>
+                <p><a class="btn btn-secondary" href="#" role="button">Par ici &raquo;</a></p>
+            </article>
+            <article class="col-md-2">
+                <h2>Lou pays:</h2>
+                <div class="imgArticle">
+                    <p>Si tou veux voir oune video qu'ça déchire tou peux cliquer !</p>
+                    <p><a class="btn btn-secondary" href="img/carglouch.mp4" target="_blank" role="button">Oh carralho &raquo;</a></p>
+                </div>
+            </article>
+            <article class="col-md-2">
+                <h2>Exclu':</h2>
+                <p>Et voilà une photo en exclu de mes dernières vacances d'été... Ah comme j'étais bien !</p>
+                <a href="img/parpaingALaPlage.png" target="_blank"><img src="img/parpaingALaPlage.png" height="200" alt="Parpaing à la plage" title="SOUS LE SOLEIL DES TROPIQUES !"/></a>
+            </article>
+            <!-- <div class="col-md-4">
+                <h2>Heading</h2>
+                <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
+                <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
+            </div> -->
+        </div>
+        <hr>
+    </div>
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/OLD/login.blade.php b/workspace/resources/views/OLD/login.blade.php
new file mode 100644
index 0000000..ef5002d
--- /dev/null
+++ b/workspace/resources/views/OLD/login.blade.php
@@ -0,0 +1,70 @@
+@extends('layouts.header')
+
+@section('title')
+    Connexion
+@endsection
+
+
+@section('content')
+<div class="container">
+    <div class="row">
+        <div class="col-md-8 col-md-offset-2">
+            <div class="panel panel-default">
+                <div class="panel-heading">Login</div>
+                <div class="panel-body">
+                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
+                        {{ csrf_field() }}
+
+                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+
+                            <div class="col-md-6">
+                                <input id="email" type="email" class="form-control" 
+                                name="email" value="{{ old('email') }}" placeholder="Email">
+
+                                @if ($errors->has('email'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('email') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+
+                            <div class="col-md-6">
+                                <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe">
+
+                                @if ($errors->has('password'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('password') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group">
+                            <div class="col-md-6 col-md-offset-4">
+                                <div class="checkbox">
+                                    <label>
+                                        <input type="checkbox" name="remember"> Remember Me
+                                    </label>
+                                </div>
+                            </div>
+                        </div>
+
+                        <div class="form-group">
+                            <div class="col-md-6 col-md-offset-4">
+                                <button type="submit" class="btn btn-primary">
+                                    <i class="fa fa-btn fa-sign-in"></i> Login
+                                </button>
+
+                                <a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
diff --git a/workspace/resources/views/OLD/register.blade.php b/workspace/resources/views/OLD/register.blade.php
new file mode 100644
index 0000000..4705d6e
--- /dev/null
+++ b/workspace/resources/views/OLD/register.blade.php
@@ -0,0 +1,82 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+    <div class="row">
+        <div class="col-md-8 col-md-offset-2">
+            <div class="panel panel-default">
+                <div class="panel-heading">Register</div>
+                <div class="panel-body">
+                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
+                        {{ csrf_field() }}
+
+                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
+                            <label for="name" class="col-md-4 control-label">Name</label>
+
+                            <div class="col-md-6">
+                                <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}">
+
+                                @if ($errors->has('name'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('name') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+                            <label for="email" class="col-md-4 control-label">E-Mail Address</label>
+
+                            <div class="col-md-6">
+                                <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}">
+
+                                @if ($errors->has('email'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('email') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+                            <label for="password" class="col-md-4 control-label">Password</label>
+
+                            <div class="col-md-6">
+                                <input id="password" type="password" class="form-control" name="password">
+
+                                @if ($errors->has('password'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('password') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
+                            <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label>
+
+                            <div class="col-md-6">
+                                <input id="password-confirm" type="password" class="form-control" name="password_confirmation">
+
+                                @if ($errors->has('password_confirmation'))
+                                    <span class="help-block">
+                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
+                                    </span>
+                                @endif
+                            </div>
+                        </div>
+
+                        <div class="form-group">
+                            <div class="col-md-6 col-md-offset-4">
+                                <button type="submit" class="btn btn-primary">
+                                    <i class="fa fa-btn fa-user"></i> Register
+                                </button>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
diff --git a/workspace/resources/views/auth/emails/password.blade.php b/workspace/resources/views/auth/emails/password.blade.php
new file mode 100644
index 0000000..1b53830
--- /dev/null
+++ b/workspace/resources/views/auth/emails/password.blade.php
@@ -0,0 +1 @@
+Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a>
diff --git a/workspace/resources/views/auth/login.blade.php b/workspace/resources/views/auth/login.blade.php
new file mode 100644
index 0000000..ef75b06
--- /dev/null
+++ b/workspace/resources/views/auth/login.blade.php
@@ -0,0 +1,77 @@
+@extends('layouts.app')
+
+@section('title')
+    Connexion
+@endsection
+
+
+@section('content')
+
+<div class="container mb-5">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-5">Connexion</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<!-- Formulaire d'inscription puis connexion en cours de création TODO -->
+				
+				<!-- Vérif de l'adresse email -->
+				<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
+                    {{ csrf_field() }}
+
+                    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
+                        <input id="email" type="email" class="form-control" 
+                                name="email" value="{{ old('email') }}" placeholder="email">
+                        @if ($errors->has('email'))
+                            <span class="help-block">
+                                <strong>{{ $errors->first('email') }}</strong>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <!-- Vérif du mot de passe -->
+                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+                        
+                        <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe">
+
+                        @if ($errors->has('password'))
+                            <span class="help-block">
+                                <strong>{{ $errors->first('password') }}</strong>
+                            </span>
+                        @endif
+                    </div>
+					
+					<div class="form-group">
+                        <div class="col-lg-6 col-lg-offset-4">
+                            <div class="checkbox">
+                                <label>
+                                    <input type="checkbox" name="remember"> Se rappeler de moi
+                                </label>
+                            </div>
+                        </div>
+                    </div>
+					
+					<div class="form-group">
+                        <div class="col-lg-6 col-lg-offset-4">
+                            <button type="submit" class="btn btn-primary mb-5">
+                                <i class="fa fa-btn fa-sign-in"></i> Connexion
+                            </button>
+                            
+                            <a class="btn btn-link my-3" href="{{ url('/register') }}">Vous n'avez pas encore de compte?</a>
+                            
+                            <a class="btn btn-link" href="{{ url('/password/reset') }}">Vous avez oublié votre mot de passe?</a>
+                        </div>
+                    </div>
+				</form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/auth/passwords/email.blade.php b/workspace/resources/views/auth/passwords/email.blade.php
new file mode 100644
index 0000000..add6bea
--- /dev/null
+++ b/workspace/resources/views/auth/passwords/email.blade.php
@@ -0,0 +1,58 @@
+@extends('layouts.app')
+
+@section('title')
+    Mot de passe oublié
+@endsection
+
+<!-- Main Content -->
+@section('content')
+
+<div class="container">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Mot de passe oublié</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+			    
+			    @if (session('status'))
+                    <div class="alert alert-success">
+                        {{ session('status') }}
+                    </div>
+                @endif
+
+                <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/email') }}">
+                    {{ csrf_field() }}
+
+                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+
+                        <div class="col-md-6">
+                            <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email">
+
+                            @if ($errors->has('email'))
+                                <span class="help-block">
+                                    <strong>{{ $errors->first('email') }}</strong>
+                                </span>
+                            @endif
+                        </div>
+                    </div>
+
+                    <div class="form-group">
+                        <div class="col-md-6 col-md-offset-4">
+                            <button type="submit" class="btn btn-primary">
+                                <i class="fa fa-btn fa-envelope"></i> Changer mon mot de passe
+                            </button>
+                        </div>
+                    </div>
+                </form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/auth/passwords/reset.blade.php b/workspace/resources/views/auth/passwords/reset.blade.php
new file mode 100644
index 0000000..6e764bf
--- /dev/null
+++ b/workspace/resources/views/auth/passwords/reset.blade.php
@@ -0,0 +1,76 @@
+@extends('layouts.app')
+
+@section('title')
+    Mot de passe oublié
+@endsection
+
+@section('content')
+
+<div class="container">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Changer mon mot de passe</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+			    
+			    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}">
+                    {{ csrf_field() }}
+
+                    <input type="hidden" name="token" value="{{ $token }}">
+
+                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+                        <div class="col-md-6">
+                            <input id="email" type="email" class="form-control" name="email" value="{{ $email or old('email') }}" placeholder="Email">
+
+                            @if ($errors->has('email'))
+                                <span class="help-block">
+                                    <strong>{{ $errors->first('email') }}</strong>
+                                </span>
+                            @endif
+                        </div>
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+                        <div class="col-md-6">
+                            <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe">
+
+                            @if ($errors->has('password'))
+                                <span class="help-block">
+                                    <strong>{{ $errors->first('password') }}</strong>
+                                </span>
+                            @endif
+                        </div>
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
+                        <div class="col-md-6">
+                            <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe">
+
+                            @if ($errors->has('password_confirmation'))
+                                <span class="help-block">
+                                    <strong>{{ $errors->first('password_confirmation') }}</strong>
+                                </span>
+                            @endif
+                        </div>
+                    </div>
+
+                    <div class="form-group">
+                        <div class="col-md-6 col-md-offset-4">
+                            <button type="submit" class="btn btn-primary">
+                                <i class="fa fa-btn fa-refresh"></i> Changer mon mot de passe
+                            </button>
+                        </div>
+                    </div>
+                </form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/auth/register.blade.php b/workspace/resources/views/auth/register.blade.php
new file mode 100644
index 0000000..3af402c
--- /dev/null
+++ b/workspace/resources/views/auth/register.blade.php
@@ -0,0 +1,88 @@
+@extends('layouts.app')
+
+@section('title')
+    Inscription
+@endsection
+
+@section('content')
+<div class="container">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Inscription</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
+                    {{ csrf_field() }}
+
+                    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
+                        <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Pseudo">
+
+                        @if ($errors->has('name'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('name') }}</i>
+                            </span>
+                        @endif
+                    </div>
+					
+					<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+                        <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email">
+
+                           @if ($errors->has('email'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('email') }}</i>
+                            </span>
+                        @endif
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+                        <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe">
+
+                        @if ($errors->has('password'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('password') }}</i>
+                            </span>
+                        @endif
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
+                        <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe">
+
+                        @if ($errors->has('password_confirmation'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('password_confirmation') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('cgu_checked') ? ' has-error' : '' }}">
+                        <input id="cgu_checked" type="checkbox" value="true" {{ !old('cgu_checked') ?: 'checked' }} class="mr-3" name="cgu_checked"> J'accepte les <a href="/cgu" target="_blank">CGU</a>.
+                        
+                        @if ($errors->has('cgu_checked'))
+                            <br/>
+                            <span class="help-block">
+                                <!-- <strong>{{ $errors->first('cgu_checked') }}</strong> -->
+                                <i class="indication">Vous devez accepter les cgu.</i>
+                            </span>
+                        @endif
+                    </div>
+				
+				    <div class="form-group mt-5">
+                        <div class="col-md-6 col-md-offset-4">
+                            <button type="submit" class="btn btn-primary">
+                                <i class="fa fa-btn fa-user"></i> S'inscrire
+                            </button>
+                        </div>
+                    </div>
+                </form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/confirmRegistery.blade.php b/workspace/resources/views/confirmRegistery.blade.php
new file mode 100644
index 0000000..dff4baf
--- /dev/null
+++ b/workspace/resources/views/confirmRegistery.blade.php
@@ -0,0 +1,29 @@
+@extends('layouts.app')
+
+@section('title')
+	Inscription
+@endsection
+
+
+@section('content')
+
+<div class="container mb-5">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Inscription</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4 center">
+			<p class="text-center">Votre inscription a bien été prise en compte.</p>
+			<p class="text-center">Merci !</p>
+			<br/>
+			<p class="text-center"><a href="/">Retour à l'accueil</a></p>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/errors/503.blade.php b/workspace/resources/views/errors/503.blade.php
new file mode 100644
index 0000000..4a41505
--- /dev/null
+++ b/workspace/resources/views/errors/503.blade.php
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Be right back.</title>
+
+        <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
+
+        <style>
+            html, body {
+                height: 100%;
+            }
+
+            body {
+                margin: 0;
+                padding: 0;
+                width: 100%;
+                color: #B0BEC5;
+                display: table;
+                font-weight: 100;
+                font-family: 'Lato';
+            }
+
+            .container {
+                text-align: center;
+                display: table-cell;
+                vertical-align: middle;
+            }
+
+            .content {
+                text-align: center;
+                display: inline-block;
+            }
+
+            .title {
+                font-size: 72px;
+                margin-bottom: 40px;
+            }
+        </style>
+    </head>
+    <body>
+        <div class="container">
+            <div class="content">
+                <div class="title">Be right back.</div>
+            </div>
+        </div>
+    </body>
+</html>
diff --git a/workspace/resources/views/function/announce.php b/workspace/resources/views/function/announce.php
new file mode 100644
index 0000000..e69de29
diff --git a/workspace/resources/views/guide/cgu.blade.php b/workspace/resources/views/guide/cgu.blade.php
new file mode 100644
index 0000000..5bf8703
--- /dev/null
+++ b/workspace/resources/views/guide/cgu.blade.php
@@ -0,0 +1,27 @@
+@extends('layouts.app')
+
+@section('title')
+	Inscription
+@endsection
+
+
+@section('content')
+
+<div class="container mb-5">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Conditions Générales d'Utilisation</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4 center">
+			<p class="text-center">Faut être gentil et poli.</p>
+			<p class="text-center">Merci !</p>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/home.blade.php b/workspace/resources/views/home.blade.php
new file mode 100644
index 0000000..7adf5c2
--- /dev/null
+++ b/workspace/resources/views/home.blade.php
@@ -0,0 +1,17 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+    <div class="row">
+        <div class="col-md-10 col-md-offset-1">
+            <div class="panel panel-default">
+                <div class="panel-heading">Dashboard</div>
+
+                <div class="panel-body">
+                    You are logged in!
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
diff --git a/workspace/resources/views/index.blade.php b/workspace/resources/views/index.blade.php
new file mode 100644
index 0000000..e688331
--- /dev/null
+++ b/workspace/resources/views/index.blade.php
@@ -0,0 +1,101 @@
+@extends('layouts.app')
+
+@section('title')
+Accueil
+@endsection
+
+
+@section('content')
+<div class="container">
+    <div class="container">
+        <h1 class="my-5">Bienvenue sur Bonsaiie !</h1>
+        
+        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,
+        gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,
+        interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>
+        
+        <p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://ar1.se/WTFDD9DZOL" target="_blank" role="button">En savoir plus &raquo;</a></p>
+    </div>
+    
+    
+    <div class="row">
+        
+        <div class="col-md-8">
+            <div id="carouselExampleIndicators" class="carousel slide my-4" data-ride="carousel">
+                <ol class="carousel-indicators">
+                    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
+                    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
+                    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
+                </ol>
+                
+                <div class="carousel-inner" role="listbox">
+                    <div class="carousel-item active">
+                        <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="First slide">
+                    </div>
+                    <div class="carousel-item">
+                        <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Second slide">
+                    </div>
+                    <div class="carousel-item">
+                        <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Third slide">
+                    </div>
+                </div>
+            
+                <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
+                    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+                    <span class="sr-only">Previous</span>
+                </a>
+                
+                <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
+                  <span class="carousel-control-next-icon" aria-hidden="true"></span>
+                  <span class="sr-only">Next</span>
+                </a>
+            </div>
+        </div>
+    
+        <div class="col-md-4">
+            <h3 class="my-3">Project Description</h3>
+            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,
+            gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,
+            interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>
+            <h3 class="my-3">Project Details</h3>
+            <ul>
+                <li>Lorem Ipsum</li>
+                <li>Dolor Sit Amet</li>
+                <li>Consectetur</li>
+                <li>Adipiscing Elit</li>
+            </ul>
+        </div>
+
+    </div>
+
+    <h3 class="my-4">Périment bientôt</h3>
+
+    <div class="row">
+
+        <div class="col-md-3 col-sm-6 mb-4">
+            <a href="#">
+                <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+            </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+            <a href="#">
+                <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+            </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+            <a href="#">
+                <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+            </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+            <a href="#">
+                <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+            </a>
+        </div>
+
+    </div>
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/layouts/app.blade.php b/workspace/resources/views/layouts/app.blade.php
new file mode 100644
index 0000000..d437503
--- /dev/null
+++ b/workspace/resources/views/layouts/app.blade.php
@@ -0,0 +1,150 @@
+@extends('layouts.meta')
+
+@section('header')
+
+<nav class="navbar navbar-expand-md navbar-dark fixed-top nav-perso-color">
+    <div class="container">
+        <h1>
+            <!--J'ai mit des / au lieu de # pour faire un bouton retours accueil plus "naturel"-->
+            <a href="{{url('/')}}"> <img src="/img/doge.png" width=50em /> </a>
+            <a class="navbar-brand" href="{{url('/')}}">Bonsaiie</a>
+        </h1>
+        
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+            <span class="navbar-toggler-icon"></span>
+        </button>
+        
+        <div class="collapse navbar-collapse" id="navbarSupportedContent">
+            <ul class="navbar-nav ml-auto">
+                
+                <li class="nav-item active">
+                    <a class="nav-link" href="{{url('/')}}">Accueil<span class="sr-only">(current)</span></a>
+                </li>
+                @if (Auth::guest())
+                    <li class="nav-item">
+                        <a class="nav-link" href="{{ url('/login') }}">Se connecter</a>
+                    </li>
+                    <!--
+                    <li class="nav-item">
+                        <a class="nav-link" href="{{ url('/register') }}">Register</a>
+                    </li> -->
+                @else
+                    <!-- voir pour un dropdown avec des options du compte -->
+                    <li class="nav-item">
+                        <div class="dropdown">
+                            <a href="/compte" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Mon compte<span class="caret"></span>
+                            </a>
+                            
+                            <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                                
+                                <!-- Lance directement une recher générale -->
+                                <a class="dropdown-item" href="#">{{ Auth::user()->name }}</a>
+                                
+                                <!-- Lance diirect une recherche sur des aliments bios -->
+                                <!-- TODO : Revoir le href, et utiliser le {{url('quelque chose')}} -->
+                                <a class="dropdown-item" href="/user">Modifier son profil</a>
+                                
+                                <!-- Lance directement une recher sur des plantes décoratives -->
+                                <a class="dropdown-item" href="#">option3</a>
+                                
+                                <!-- Lance directement une recher sur des recettes de cuisine -->
+                                <a class="dropdown-item" href="#">recettes</a>
+                                
+                                <a class="dropdown-item" href="{{ url('logout') }}"><i class="fa fa-btn fa-sign-out"></i><span class="logout">Se déconnecter</span></a>
+                            </div>
+                        </div>
+                    </li>
+                @endif
+                <li class="nav-item">
+                    <div class="dropdown" >
+                        <a class="nav-link dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" 
+                        aria-expanded="false" href="#">Produits</a>
+                        <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                            <!-- Lance directement une recher générale -->
+                            <li><a class="dropdown-item" href="{{url('products')}}">Tous les produits</a></li>
+                            
+                            <!-- Lance diirect une recherche sur des aliments bios -->
+                            <li><a class="dropdown-item" href="{{url('products')}}">Alimentaire</a></li>
+                            
+                            <!-- Lance directement une recher sur des plantes décoratives -->
+                            <li><a class="dropdown-item" href="#">Recettes</a></li>
+                            
+                            <!-- Lance directement une recher sur des recettes de cuisine -->
+                            <li><a class="dropdown-item" href="#">Décos</a></li>
+                        </ul>
+                    </div>
+                </li>
+                
+                <!-- Pour déposer une annonce -->
+                @if (Auth::check())
+                    <li class="nav-item">
+                        <a class="nav-link" href="{{url('products/create')}}">Déposer une annonce</a>
+                    </li>
+                
+                @else <li class="nav-item">
+                        <a class="nav-link" href="{{url('products/create')}}">Déposer une annonce (guest)</a>
+                    </li>
+                @endif
+            </ul>
+                
+            <form class="form-inline waves-effect waves-light" method="POST" action="{{ url('products/research') }}">
+                {{ csrf_field() }}
+                <input class="form-control" style="background-color: #004400;" type="text" placeholder="Chercher..." name="r">
+            </form>
+            
+        </div>
+    </div>
+</nav>
+
+@endsection
+
+@section('footer')
+
+<div class="row">
+
+    <div class="col-md-1"></div>
+
+    <div class="col-md-4 footer-info">
+
+        <h4>@lang('texts.About Our Site')</h4>
+
+            <!--@lang('Lorem ipsum Ut velit dolor Ut labore id fugiat in ut fugiat nostrud qui in dolore commodo eu magna Duis cillum dolor officia esse mollit proident Excepteur exercitation nulla. Lorem ipsum In reprehenderit commodo aliqua irure labore.')-->
+           <p>On est un groupe de PIMA cool de l'ENSIIE. Ce site apporte sa contribution au respect de la planète</p>
+
+    </div> <!-- end footer-info -->
+<!--
+    <div class="col-md-4"></div>
+
+    <div class="col-md-1 site-links">
+
+        <h4>@lang('Links')</h4>
+
+        <ul>
+            <li><a href="#">@lang('About us')</a></li>
+            <li><a href="#">@lang('Blog')</a></li>
+            <li><a href="#">@lang('Contact')</a></li>
+            <li><a href="#">@lang('Privacy Policy')</a></li>
+        </ul>
+
+    </div>
+--> 
+<!-- end site-links -->
+<!--
+    <div class="col-md-1 social-links">
+
+        <h4>@lang('Social')</h4>
+
+        <ul>
+            <li><a href="#">Twitter</a></li>
+            <li><a href="#">Facebook</a></li>
+            <li><a href="#">Dribbble</a></li>
+            <li><a href="#">Google+</a></li>
+            <li><a href="#">Instagram</a></li>
+        </ul>
+
+    </div>
+-->
+    <!-- end social links -->
+</div>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/layouts/meta.blade.php b/workspace/resources/views/layouts/meta.blade.php
new file mode 100644
index 0000000..d149354
--- /dev/null
+++ b/workspace/resources/views/layouts/meta.blade.php
@@ -0,0 +1,226 @@
+<!DOCTYPE html>
+<html lang="fr">
+    <head>
+        <!-- Required meta tags always come first -->
+        <meta charset="utf-8">
+        <meta http-equiv="x-ua-compatible" content="ie=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+        <title>@yield('title')</title>
+        
+        <link rel="icon" type="image/png" href="/img/arbreRond-resized.png" />
+        
+        <!-- Font Awesome -->
+        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css">
+        
+        <!-- Material Design Bootstrap -->
+        <link rel="stylesheet" href="/css/custom.css">
+        
+        <!-- Bootstrap core CSS -->
+        <link rel="stylesheet" href="/css/bootstrap.min.css">
+        
+        <!-- Custom CSS 
+        <link rel="stylesheet" href="style.css">
+        -->
+
+        <!-- favicons
+        ================================================== -->
+        <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
+        <link rel="icon" href="favicon.ico" type="image/x-icon">
+
+        <style>
+            html, body {
+                padding:0;
+                margin:0;
+            }
+
+            body {
+                padding-top: 8em;
+            }
+
+            main {
+                padding-top: 3rem;
+                padding-bottom: 2rem;
+            }
+      
+            @media (min-width: 992px) {
+                body {
+                    padding-top: 56px;
+                }
+            }
+            
+            .extra-margins {
+                margin-top: 1rem;
+                margin-bottom: 2.5rem;
+            }
+
+            .nav-right{
+                margin-left: auto;
+            }
+
+            .nav-perso-color{
+                background-color: #004400;
+            }
+
+            nav .bold{
+                text-decoration: bold;
+                color: #fff;
+            }
+            
+            nav .nav-item a:hover,
+            nav .nav-item a:focus {
+                background-color: #3E3E3E;
+                background: -moz-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;
+                background: -webkit-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;
+                background: -ms-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;
+                background: -o-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;
+                background: linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;
+                text-shadow: -1px -1px 0 #666;
+            }
+            
+            nav .nav-item .dropdown-item:hover,
+            nav .nav-item .dropdown-item:focus {
+                background-color: #3E3E3E;
+                background: -moz-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -webkit-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -ms-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: -o-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                background: linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent;
+                text-shadow: -1px -1px 0 #666;
+            }
+            
+            .dropdown:hover .dropdown-menu {
+                display: block;
+            }
+            
+            .dropdown:hover .dropdown-submenu {
+                display: block;
+            }
+            
+            .dropdown-menu .dropdown-item{
+                margin-top: -0.7em;
+                margin-bottom: -0.5em;
+            }
+            
+            .logout:hover{
+                color: #D11;
+            }
+            
+            center {
+                margin: auto;
+                padding: auto;
+                top: 0; left: 0; bottom: 0; right: 0;
+                text-align: center;
+                display: flex;
+                align-items: center;
+                float: none;
+            }
+            
+            .Absolute-Center {
+                margin: auto;
+                padding: auto;
+                align-items: center;
+                top: 0; left: 0; bottom: 0; right: 0;
+                width: 50%;
+                padding: 10px;
+            }
+            
+            /*
+             *
+             */
+             
+            .form-group .indication{
+                font-size: 0.7em;
+                color: red;
+            }
+            
+            /*
+             * affichage des produits
+             *
+             */
+            
+            .card-title .title {
+                font-weight: 500;
+            }
+            
+            .card-title .title {
+                color: #009;
+                -webkit-animation: mymove 5s infinite; /* Chrome, Safari, Opera */
+                animation: mymove 15s infinite;
+            }
+            
+            /* Chrome, Safari, Opera */
+            @-webkit-keyframes mymove {
+                0%,100% {color: #090;}
+                50% {color: blue;}
+            }
+            
+            /* Standard syntax */
+            @keyframes mymove {
+                0%,100% {color: #090;}
+                50% {color: blue;}
+            }
+            
+            /*
+             * Footer
+             */
+
+            .blog-footer {
+              padding: 2.5rem 0;
+              color: #777;
+              text-align: center;
+              background-color: #dadada;
+              background-size: 100%;
+              border-top: .05rem solid #e5e5e5;
+              font-size: 0.5em;
+            }
+            .blog-footer p:last-child {
+              margin-bottom: 0;
+            }
+
+            .site_links
+            .social-links {
+
+
+            }
+
+        </style>
+        <!-- Scripts TODO 
+        <script src="bootstrap/assets/js/ie-emulation-modes-warning.js"></script>
+        -->
+
+    </head>
+
+    <header>
+        @yield('header')
+    </header>
+    
+    <body class="mt-3">
+        @yield('content')
+    </body>
+
+    <footer class="blog-footer">
+        @yield('footer')
+    </footer>
+        
+    <!-- SCRIPTS -->
+    
+    <!-- JQuery -->
+    <script type="text/javascript" src="/jquery/jquery.min.js"></script>
+
+    <!-- Bootstrap tooltips -->
+    <script type="text/javascript" src="/js/tether.min.js"></script>
+
+    <!-- Bootstrap core JavaScript -->
+    <script type="text/javascript" src="/js/bootstrap.js"></script>
+    <script src="/js/bootstrap.bundle.min.js"></script>
+    
+    <!-- MDB core JavaScript -->
+    <script type="text/javascript" src="/js/mdb.min.js"></script>
+    
+    <!-- JavaScripts -->
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js" integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
+    {{-- <script src="{{ elixir('js/app.js') }}"></script> --}}
+    
+</html>
\ No newline at end of file
diff --git a/workspace/resources/views/let_ad.blade.php b/workspace/resources/views/let_ad.blade.php
new file mode 100644
index 0000000..2396350
--- /dev/null
+++ b/workspace/resources/views/let_ad.blade.php
@@ -0,0 +1,77 @@
+@extends('layouts.app')
+
+@section('title')
+	Déposer une annonce
+@endsection
+
+<!-- TODO: revoir si pas d'autre blade à faire (voir ressource/views/auth/*.blade.php -->
+@section('content')
+
+<div class="container mb-5">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Déposer une annonce</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<!-- Formulaire de dépose d'annonce pour un produit -->
+				
+				<!--Commande à revoir-->
+				{!! Form::open(['url' => 'register']) !!}
+					<!-- Nom de l'annonce qui est le nom du produit -->
+					<div class="form-group {!! $errors->has('nom') ? 'has-error' : '' !!}">
+						{!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Le nom du produit']) !!}
+						{!! $errors->first('nom', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Adresse où le chercher -->
+					<div class="form-group {!! $errors->has('adresse') ? 'has-error' : '' !!}">
+						{!! Form::text('adresse', null, ['class' => 'form-control', 'placeholder' => 'L'adresse où venir le chercher']) !!}
+						{!! $errors->first('adresse', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- date de péremption -->
+					<div class="form-group {!! $errors->has('date') ? 'has-error' : '' !!}">
+						{!! Form::text('date', null, ['class' => 'form-control', 'placeholder' => 'Date de péremption']) !!}
+						{!! $errors->first('date', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!--TODO : avoir soit l'email soit le téléphone de celui qui dépose l'annonce-->
+					
+					<!-- Email utilisateur -->
+					<div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}">
+						{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}
+						{!! $errors->first('email', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Téléphone utilisateur-->
+					<div class="form-group {!! $errors->has('telephone') ? 'has-error' : '' !!}">
+						<!--TODO : revoir la balise phone si elle existe-->
+						{!! Form::phone('telephone', null, ['class' => 'form-control', 'placeholder' => 'Votre telephone']) !!}
+						{!! $errors->first('telephone', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Description -->
+					<div class="form-group {!! $errors->has('desc') ? 'has-error' : '' !!}">
+						{!! Form::text('desc', ['class' => 'form-control', 'placeholder' => 'Description et ou information du produit']) !!}
+						{!! $errors->first('desc', '<small class="help-block">:message</small>') !!}
+					</div>
+					
+					<!-- Vérif CGU utilisateur -->
+					<div class="form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5">
+						{!! Form::checkbox('cgu') !!}
+						<span class="ml-3">J'accepte les <a href="cgu" target="_blank">CGU</a>.</span>
+						<!-- <input class="field" name="agree" type="checkbox" value="1"> -->
+						{!! $errors->first('cgu', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Bouton confirmation -->
+					<div class="form-group mb-0">
+						{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}
+					</div>
+				{!! Form::close() !!}
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/products/product_alimentary.blade.php b/workspace/resources/views/products/product_alimentary.blade.php
new file mode 100644
index 0000000..4fa7c1e
--- /dev/null
+++ b/workspace/resources/views/products/product_alimentary.blade.php
@@ -0,0 +1,58 @@
+@extends('layouts.app')
+
+@section('title')
+	Alimentaire
+@endsection
+
+
+@section('content')
+
+<div class="container">
+	<div class="container">
+		<h1 class="my-4">Produits Alimentaires</h1>
+		
+		<p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits alimentaires</p>
+		
+		<p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-G3MLjqicC8" target="_blank" role="button">Surpriiiise &raquo;</a></p>
+	</div>
+	
+	<div class="row">
+	
+	@if (Session::has('flash_notice'))
+        <div class="alert alert-success span7">
+            {{ Session::get('flash_notice') }}
+        </div>
+    @endif
+ 
+    @if (Session::has('flash_error'))
+        <div class="alert alert-error span6">
+            {{ Session::get('flash_error') }}
+        </div>
+    @endif
+    
+    
+	@if($products != NULL)
+	@foreach ($products as $product)
+		<div class="col-lg-4 col-md-6 mb-4">
+			<div class="card h-100">
+				<a href=""><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+				<div class="card-body">
+					<h4 class="card-title">
+						<!-- Pour avoir un nom d'annonce cliquable -->
+						{!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!}
+						<!-- <p class="title">{!!$product->title!!}</p> -->
+				  	</h4>
+				  	<p class="card-text">{!!$product->description!!}</p>
+				  	{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}
+				</div>
+			</div>
+		</div>
+	@endforeach
+	@endif
+	</div>
+	@if($products != NULL)
+	{!! $products->links() !!}
+	@endif
+	
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/products/product_create.blade.php b/workspace/resources/views/products/product_create.blade.php
new file mode 100644
index 0000000..f5b7a11
--- /dev/null
+++ b/workspace/resources/views/products/product_create.blade.php
@@ -0,0 +1,138 @@
+@extends('layouts.app')
+
+@section('title')
+    Dépot d'annonce
+@endsection
+
+@section('content')
+<div class="container">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Déposez votre annonce</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<form class="form-horizontal" role="form" method="POST" action="{{ url('products') }}">
+                    {{ csrf_field() }}
+
+                    <div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}">
+                        <input id="title" type="text" class="form-control" name="title" value="{{ old('title') }}" placeholder="Titre de l'annonce">
+
+                        @if ($errors->has('title'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('title') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+                        <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email">
+
+                           @if ($errors->has('email'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('email') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    <!-- https://www.w3schools.com/html/html_form_input_types.asp -->
+                    <div class="form-group{{ $errors->has('address_number') ? ' has-error' : '' }}">
+                        <input id="address_number" type="number" min="1" class="form-control" name="address_number" value="{{ old('address_number') }}" placeholder="n°">
+
+                        @if ($errors->has('address_number'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('address_number') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('address_street') ? ' has-error' : '' }}">
+                        <input id="address_street" type="text" class="form-control" name="address_street" value="{{ old('address_street') }}" placeholder="Rue">
+
+                        @if ($errors->has('address_street'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('address_street') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('address_city') ? ' has-error' : '' }}">
+                        <input id="address_city" type="text" class="form-control" name="address_city" value="{{ old('address_city') }}" placeholder="Ville">
+
+                        @if ($errors->has('address_city'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('address_city') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}">
+                        <input id="postal_code" type="number" min="0" class="form-control" name="postal_code" value="{{ old('postal_code') }}" placeholder="CP">
+
+                        @if ($errors->has('postal_code'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('postal_code') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group">
+                        <textarea id="description" type="text" class="form-control" name="description" value="{{ old('description') }}" placeholder="Description"></textarea>
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}">
+                        <input id="expire_at" type="date" class="form-control" name="expire_at" value="{{ old('expire_at') }}" placeholder="Date d'expiration">
+
+                        @if ($errors->has('expire_at'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('expire_at') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('category') ? ' has-error' : '' }}">
+                        <!--Ajouter : {frais, viande, produits laitier}-->
+                        Catégorie: 
+                        <select id="category" class="form-control" name="category" value="{{ old('category') }}">
+                            <option value="fruit">fruit</option>
+                            <option value="vegetable">légume</option>
+                            <option value="starchy">féculent</option>
+                            <option value="homemade">fait maison</option>
+                            <option value="fish">poisson</option>
+                            <option value="spices">épices</option>
+                            <option value="sugar">sucré</option>
+                            <option value="other">autre</option>
+                        </select>
+                        
+                        <!-- <input type="date"   placeholder="Date d'expiration"> -->
+
+                        @if ($errors->has('category'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('category') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group">
+                        <input id="vegan" type="checkbox" value="true" class="mr-3" name="vegan"> Vegan
+                    </div>
+				
+				    <div class="form-group mt-5">
+                        <div class="col-md-6 col-md-offset-4">
+                            <button type="submit" class="btn btn-primary">
+                                <i class="fa fa-btn"></i> Valider
+                            </button>
+                        </div>
+                    </div>
+                    
+                </form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/products/product_edit.blade.php b/workspace/resources/views/products/product_edit.blade.php
new file mode 100644
index 0000000..fb781df
--- /dev/null
+++ b/workspace/resources/views/products/product_edit.blade.php
@@ -0,0 +1,88 @@
+@extends('layouts.app')
+
+@section('title')
+    Dépot d'annonce
+@endsection
+
+@section('content')
+<div class="container">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Déposez votre annonce</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<form class="form-horizontal" role="form" method="POST" action="{{ url('/product_register') }}">
+                    {{ csrf_field() }}
+
+                    <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
+                        <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Pseudo">
+
+                        @if ($errors->has('name'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('name') }}</i>
+                            </span>
+                        @endif
+                    </div>
+					
+					<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
+                        <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email">
+
+                           @if ($errors->has('email'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('email') }}</i>
+                            </span>
+                        @endif
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
+                        <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe">
+
+                        @if ($errors->has('password'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('password') }}</i>
+                            </span>
+                        @endif
+                    </div>
+
+                    <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
+                        <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe">
+
+                        @if ($errors->has('password_confirmation'))
+                            <span class="help-block">
+                                <i class="indication">{{ $errors->first('password_confirmation') }}</i>
+                            </span>
+                        @endif
+                    </div>
+                    
+                    <div class="form-group{{ $errors->has('cgu_checked') ? ' has-error' : '' }}">
+                        <input id="cgu_checked" type="checkbox" value="true" {{ !old('cgu_checked') ?: 'checked' }} class="mr-3" name="cgu_checked"> J'accepte les <a href="/cgu" target="_blank">CGU</a>.
+                        
+                        @if ($errors->has('cgu_checked'))
+                            <br/>
+                            <span class="help-block">
+                                <!-- <strong>{{ $errors->first('cgu_checked') }}</strong> -->
+                                <i class="indication">Vous devez accepter les cgu.</i>
+                            </span>
+                        @endif
+                    </div>
+				
+				    <div class="form-group mt-5">
+                        <div class="col-md-6 col-md-offset-4">
+                            <button type="submit" class="btn btn-primary">
+                                <i class="fa fa-btn fa-user"></i> S'inscrire
+                            </button>
+                        </div>
+                    </div>
+                </form>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
diff --git a/workspace/resources/views/products/product_index.blade.php b/workspace/resources/views/products/product_index.blade.php
new file mode 100644
index 0000000..9799912
--- /dev/null
+++ b/workspace/resources/views/products/product_index.blade.php
@@ -0,0 +1,58 @@
+@extends('layouts.app')
+
+@section('title')
+	Tous les produits
+@endsection
+
+
+@section('content')
+
+<div class="container">
+	<div class="container">
+		<h1 class="my-4">Tous les produits</h1>
+		
+		<p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits</p>
+		
+		<p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button">Surpriiiise &raquo;</a></p>
+	</div>
+	
+	<div class="row">
+	
+	@if (Session::has('flash_notice'))
+        <div class="alert alert-success span7">
+            {{ Session::get('flash_notice') }}
+        </div>
+    @endif
+ 
+    @if (Session::has('flash_error'))
+        <div class="alert alert-error span6">
+            {{ Session::get('flash_error') }}
+        </div>
+    @endif
+    
+    
+	@if($products != NULL)
+	@foreach ($products as $product)
+		<div class="col-lg-4 col-md-6 mb-4">
+			<div class="card h-100">
+				<a href=""><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+				<div class="card-body">
+					<h4 class="card-title">
+						<!-- Pour avoir un nom d'annonce cliquable -->
+						{!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!}
+						<!-- <p class="title">{!!$product->title!!}</p> -->
+				  	</h4>
+				  	<p class="card-text">{!!$product->description!!}</p>
+				  	{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}
+				</div>
+			</div>
+		</div>
+	@endforeach
+	@endif
+	</div>
+	@if($products != NULL)
+	{!! $products->links() !!}
+	@endif
+	
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/products/product_show.blade.php b/workspace/resources/views/products/product_show.blade.php
new file mode 100644
index 0000000..f2b2d4b
--- /dev/null
+++ b/workspace/resources/views/products/product_show.blade.php
@@ -0,0 +1,52 @@
+@extends('layouts.app')
+
+@section('title')
+	Tous les produits
+@endsection
+
+
+@section('content')
+
+<!-- TODO: C'est pas tous les produit mais juste celui qu'on a choisi -->
+<div class="container">
+	<div class="container">
+		<h1 class="my-4">Détails de produit</h1>
+		
+		<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>
+		
+		<p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button">Surpriiiise &raquo;</a></p>
+	</div>
+	
+	<!--TODO :style à revoir-->
+	<div class="row mb-4">
+		<div class="col-lg-4"></div>
+		<div class="col-lg-4 col-md-6 mb-4">
+			<div class="card h-100">
+				<a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+				<div class="card-body">
+					<h4 class="card-title">
+						<p>{!!$product->title!!}</p>
+				  	</h4>
+				  	<p>Categorie : {{ $product->category }}</p>
+				  	<p>{{ $product->description }}</p>
+				  	<p><i class="fa fa-envelope"></i> Contact : {{ $product->email }}</p>
+				  	<p><i class="fa fa-home"></i> Adresse : {{ $product->address_number }}
+				  					{{ $product->address_street }}
+				  					{{ $product->postal_code }}
+				  					{{ $product->address_city }}</p>
+				  	<p><i class="fa fa-hourglass-half"></i> Expire le : {{ $product->expire_at }}</p>
+				  	<?php 
+				  	if(isset($product->vegan) && $product->vegan == true )
+				  		print('<p>Ce produit est vegan</p>');
+				  	?>
+				</div>
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+	
+	<div class="my-4 center">
+		<a href= " {{ url('products') }} "> &laquo; Retours aux produits</a>
+	</div>
+</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/registery.blade.php b/workspace/resources/views/registery.blade.php
new file mode 100644
index 0000000..28e5b06
--- /dev/null
+++ b/workspace/resources/views/registery.blade.php
@@ -0,0 +1,71 @@
+@extends('layouts.app')
+
+@section('title')
+	Inscription
+@endsection
+
+
+@section('content')
+
+<div class="container mb-5">
+	<div class="row">
+		<div class="text-center col-lg-12">
+			<h1 class="my-4">Inscription</h1>
+		</div>
+	</div>
+	
+	<div class="row">
+		<div class="col-lg-4"></div>
+		<div class="panel panel-info jumbotron col-lg-4">
+			<div class="panel-body">
+				<!-- Formulaire d'inscription puis connexion en cours de création TODO -->
+				{!! Form::open(['url' => 'register']) !!}
+					<!-- Nom utilisateur -->
+					<div class="form-group {!! $errors->has('nom') ? 'has-error' : '' !!}">
+						{!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Votre nom']) !!}
+						{!! $errors->first('nom', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Prénom utilisateur -->
+					<div class="form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}">
+						{!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!}
+						{!! $errors->first('prenom', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Pseudo utilisateur -->
+					<div class="form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}">
+						{!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!}
+						{!! $errors->first('pseudo', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Email utilisateur -->
+					<div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}">
+						{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}
+						{!! $errors->first('email', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Mot de passe utilisateur -->
+					<div class="form-group {!! $errors->has('pass') ? 'has-error' : '' !!}">
+						{!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!}
+						{!! $errors->first('pass', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Confirmation Mot de passe utilisateur -->
+					<div class="form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}">
+						{!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!}
+						{!! $errors->first('passValid', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Vérif CGU utilisateur -->
+					<div class="form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5">
+						{!! Form::checkbox('cgu') !!}
+						<span class="ml-3">J'accepte les <a href="cgu" target="_blank">CGU</a>.</span>
+						<!-- <input class="field" name="agree" type="checkbox" value="1"> -->
+						{!! $errors->first('cgu', '<small class="help-block">:message</small>') !!}
+					</div>
+					<!-- Bouton confirmation -->
+					<div class="form-group mb-0">
+						{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}
+					</div>
+				{!! Form::close() !!}
+			</div>
+		</div>
+		<div class="col-lg-4"></div>
+	</div>
+</div>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/seek.blade.php b/workspace/resources/views/seek.blade.php
new file mode 100644
index 0000000..9658420
--- /dev/null
+++ b/workspace/resources/views/seek.blade.php
@@ -0,0 +1,41 @@
+@extends('layouts.app')
+
+@section('title')
+    Résultats
+@endsection
+
+@section('content')
+
+
+
+<div class="container">
+	<div class="container">
+		<h1 class="my-4">Résultat de votre recherche:</h1>
+		
+		
+
+<!-- lien pour requêtes avec laravel: https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel/query-builder-->
+<!--
+Il existe une méthode find dans Product normalement.
+https://stackoverflow.com/questions/27641911/laravel-routing-and-controller-for-search-->
+
+<?php /*$saisie= Input::get('r');
+$produits=Product::find($saisie);
+if(isset($_GET['r']) and !empty($_GET['r'])){
+	$r=htmlspecialchars($_GET['r']);
+	$produits=$product->category 
+}*/
+?>
+
+<p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button">
+			Surpriiiise &raquo;</a></p>
+	</div>
+
+		
+		
+
+	
+	
+	
+
+@endsection
diff --git a/workspace/resources/views/template/testVente.blade.php b/workspace/resources/views/template/testVente.blade.php
new file mode 100644
index 0000000..85cf9ae
--- /dev/null
+++ b/workspace/resources/views/template/testVente.blade.php
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <title>Shop Homepage - Start Bootstrap Template</title>
+
+    <!-- Bootstrap core CSS -->
+    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+
+    <!-- Custom styles for this template -->
+    <link href="css/shop-homepage.css" rel="stylesheet">
+
+  </head>
+
+  <body>
+
+    <!-- Navigation -->
+    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
+      <div class="container">
+        <a class="navbar-brand" href="#">Start Bootstrap</a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="collapse navbar-collapse" id="navbarResponsive">
+          <ul class="navbar-nav ml-auto">
+            <li class="nav-item active">
+              <a class="nav-link" href="#">Home
+                <span class="sr-only">(current)</span>
+              </a>
+            </li>
+            <li class="nav-item">
+              <a class="nav-link" href="#">About</a>
+            </li>
+            <li class="nav-item">
+              <a class="nav-link" href="#">Services</a>
+            </li>
+            <li class="nav-item">
+              <a class="nav-link" href="#">Contact</a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+
+    <!-- Page Content -->
+    <div class="container">
+
+      <div class="row">
+
+        <div class="col-lg-3">
+
+          <h1 class="my-4">Shop Name</h1>
+          <div class="list-group">
+            <a href="#" class="list-group-item">Category 1</a>
+            <a href="#" class="list-group-item">Category 2</a>
+            <a href="#" class="list-group-item">Category 3</a>
+          </div>
+
+        </div>
+        <!-- /.col-lg-3 -->
+
+        <div class="col-lg-9">
+
+          <div id="carouselExampleIndicators" class="carousel slide my-4" data-ride="carousel">
+            <ol class="carousel-indicators">
+              <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
+              <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
+              <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
+            </ol>
+            <div class="carousel-inner" role="listbox">
+              <div class="carousel-item active">
+                <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="First slide">
+              </div>
+              <div class="carousel-item">
+                <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Second slide">
+              </div>
+              <div class="carousel-item">
+                <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Third slide">
+              </div>
+            </div>
+            <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
+              <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+              <span class="sr-only">Previous</span>
+            </a>
+            <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
+              <span class="carousel-control-next-icon" aria-hidden="true"></span>
+              <span class="sr-only">Next</span>
+            </a>
+          </div>
+
+          <div class="row">
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item One</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item Two</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item Three</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item Four</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item Five</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+            <div class="col-lg-4 col-md-6 mb-4">
+              <div class="card h-100">
+                <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a>
+                <div class="card-body">
+                  <h4 class="card-title">
+                    <a href="#">Item Six</a>
+                  </h4>
+                  <h5>$24.99</h5>
+                  <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>
+                </div>
+                <div class="card-footer">
+                  <small class="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
+                </div>
+              </div>
+            </div>
+
+          </div>
+          <!-- /.row -->
+
+        </div>
+        <!-- /.col-lg-9 -->
+
+      </div>
+      <!-- /.row -->
+
+    </div>
+    <!-- /.container -->
+
+    <!-- Footer -->
+    <footer class="py-5 bg-dark">
+      <div class="container">
+        <p class="m-0 text-center text-white">Copyright &copy; Your Website 2017</p>
+      </div>
+      <!-- /.container -->
+    </footer>
+
+    <!-- Bootstrap core JavaScript -->
+    <script src="vendor/jquery/jquery.min.js"></script>
+    <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
+
+  </body>
+
+</html>
diff --git a/workspace/resources/views/template/testVoisins.blade.php b/workspace/resources/views/template/testVoisins.blade.php
new file mode 100644
index 0000000..dd57482
--- /dev/null
+++ b/workspace/resources/views/template/testVoisins.blade.php
@@ -0,0 +1,76 @@
+@extends('header1')
+
+@section('body')
+
+  <body>
+
+    <!-- Navigation -->
+   
+
+    <!-- Page Content -->
+    <div class="container">
+
+      <!-- Portfolio Item Heading -->
+      <h1 class="my-4">Bienvenue sur Bonsaiie !</h1>
+
+      <!-- Portfolio Item Row -->
+      <div class="row">
+
+        <div class="col-md-8">
+          <img class="img-fluid" src="http://placehold.it/750x500" alt="">
+        </div>
+
+        <div class="col-md-4">
+          <h3 class="my-3">Project Description</h3>
+          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et, interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>
+          <h3 class="my-3">Project Details</h3>
+          <ul>
+            <li>Lorem Ipsum</li>
+            <li>Dolor Sit Amet</li>
+            <li>Consectetur</li>
+            <li>Adipiscing Elit</li>
+          </ul>
+        </div>
+
+      </div>
+      <!-- /.row -->
+
+      <!-- Related Projects Row -->
+      <h3 class="my-4">Related Projects</h3>
+
+      <div class="row">
+
+        <div class="col-md-3 col-sm-6 mb-4">
+          <a href="#">
+            <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+          </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+          <a href="#">
+            <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+          </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+          <a href="#">
+            <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+          </a>
+        </div>
+
+        <div class="col-md-3 col-sm-6 mb-4">
+          <a href="#">
+            <img class="img-fluid" src="http://placehold.it/500x300" alt="">
+          </a>
+        </div>
+
+      </div>
+      <!-- /.row -->
+
+    </div>
+    <!-- /.container -->
+
+    <!-- Footer -->
+    
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/template/welcome.blade.php b/workspace/resources/views/template/welcome.blade.php
new file mode 100644
index 0000000..06e2217
--- /dev/null
+++ b/workspace/resources/views/template/welcome.blade.php
@@ -0,0 +1,17 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+    <div class="row">
+        <div class="col-md-10 col-md-offset-1">
+            <div class="panel panel-default">
+                <div class="panel-heading">Welcome</div>
+
+                <div class="panel-body">
+                    Your Application's Landing Page.
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
diff --git a/workspace/resources/views/user/user_edit.php b/workspace/resources/views/user/user_edit.php
new file mode 100644
index 0000000..6f39aeb
--- /dev/null
+++ b/workspace/resources/views/user/user_edit.php
@@ -0,0 +1,39 @@
+@extends('layouts.app')
+
+@section('title')
+    test edit
+@endsection
+
+@section('content')
+    <div class="col-sm-offset-4 col-sm-4">
+    	<br>
+		<div class="panel panel-primary">	
+			<div class="panel-heading">Modification d'un utilisateur</div>
+			<div class="panel-body"> 
+				<div class="col-sm-12">
+					{!! Form::model($user, ['route' => ['user.update', $user->id], 'method' => 'put', 'class' => 'form-horizontal panel']) !!}
+					<div class="form-group {!! $errors->has('name') ? 'has-error' : '' !!}">
+					  	{!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!}
+					  	{!! $errors->first('name', '<small class="help-block">:message</small>') !!}
+					</div>
+					<div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}">
+					  	{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!}
+					  	{!! $errors->first('email', '<small class="help-block">:message</small>') !!}
+					</div>
+					<div class="form-group">
+						<div class="checkbox">
+							<label>
+								{!! Form::checkbox('admin', 1, null) !!}Administrateur
+							</label>
+						</div>
+					</div>
+						{!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!}
+					{!! Form::close() !!}
+				</div>
+			</div>
+		</div>
+		<a href="javascript:history.back()" class="btn btn-primary">
+			<span class="glyphicon glyphicon-circle-arrow-left"></span> Retour
+		</a>
+	</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/user/user_index.blade.php b/workspace/resources/views/user/user_index.blade.php
new file mode 100644
index 0000000..7e3ddb5
--- /dev/null
+++ b/workspace/resources/views/user/user_index.blade.php
@@ -0,0 +1,12 @@
+@extends('layouts.app')
+
+@section('title')
+    Modification du profil
+@endsection
+
+@section('content')
+<br>
+<h1> En cours de construction </h1>
+<br>
+
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/user/user_show.blade.php b/workspace/resources/views/user/user_show.blade.php
new file mode 100644
index 0000000..27907ce
--- /dev/null
+++ b/workspace/resources/views/user/user_show.blade.php
@@ -0,0 +1,24 @@
+@extends('layouts.app')
+
+@section('title')
+	test show
+@endsection
+
+@section('contenu')
+    <div class="col-sm-offset-4 col-sm-4">
+    	<br>
+		<div class="panel panel-primary">	
+			<div class="panel-heading">Fiche d'utilisateur</div>
+			<div class="panel-body"> 
+				<p>Nom : {{ $user->name }}</p>
+				<p>Email : {{ $user->email }}</p>
+				@if($user->admin == 1)
+					Administrateur
+				@endif
+			</div>
+		</div>				
+		<a href="javascript:history.back()" class="btn btn-primary">
+			<span class="glyphicon glyphicon-circle-arrow-left"></span> Retour
+		</a>
+	</div>
+@endsection
\ No newline at end of file
diff --git a/workspace/resources/views/vendor/.gitkeep b/workspace/resources/views/vendor/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/workspace/resources/views/vendor/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/workspace/server.php b/workspace/server.php
new file mode 100644
index 0000000..f65c7c4
--- /dev/null
+++ b/workspace/server.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Laravel - A PHP Framework For Web Artisans
+ *
+ * @package  Laravel
+ * @author   Taylor Otwell <taylorotwell@gmail.com>
+ */
+
+$uri = urldecode(
+    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
+);
+
+// This file allows us to emulate Apache's "mod_rewrite" functionality from the
+// built-in PHP web server. This provides a convenient way to test a Laravel
+// application without having installed a "real" web server software here.
+if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
+    return false;
+}
+
+require_once __DIR__.'/public/index.php';
diff --git a/workspace/storage/app/.gitignore b/workspace/storage/app/.gitignore
new file mode 100644
index 0000000..8f4803c
--- /dev/null
+++ b/workspace/storage/app/.gitignore
@@ -0,0 +1,3 @@
+*
+!public/
+!.gitignore
diff --git a/workspace/storage/app/public/.gitignore b/workspace/storage/app/public/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/storage/app/public/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/storage/framework/.gitignore b/workspace/storage/framework/.gitignore
new file mode 100644
index 0000000..b02b700
--- /dev/null
+++ b/workspace/storage/framework/.gitignore
@@ -0,0 +1,8 @@
+config.php
+routes.php
+schedule-*
+compiled.php
+services.json
+events.scanned.php
+routes.scanned.php
+down
diff --git a/workspace/storage/framework/cache/.gitignore b/workspace/storage/framework/cache/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/storage/framework/cache/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/storage/framework/sessions/.gitignore b/workspace/storage/framework/sessions/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/storage/framework/sessions/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/storage/framework/views/.gitignore b/workspace/storage/framework/views/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/storage/framework/views/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/storage/logs/.gitignore b/workspace/storage/logs/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/workspace/storage/logs/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/workspace/tests/ExampleTest.php b/workspace/tests/ExampleTest.php
new file mode 100644
index 0000000..7e81d37
--- /dev/null
+++ b/workspace/tests/ExampleTest.php
@@ -0,0 +1,19 @@
+<?php
+
+use Illuminate\Foundation\Testing\WithoutMiddleware;
+use Illuminate\Foundation\Testing\DatabaseMigrations;
+use Illuminate\Foundation\Testing\DatabaseTransactions;
+
+class ExampleTest extends TestCase
+{
+    /**
+     * A basic functional test example.
+     *
+     * @return void
+     */
+    public function testBasicExample()
+    {
+        $this->visit('/')
+             ->see('Laravel 5');
+    }
+}
diff --git a/workspace/tests/TestCase.php b/workspace/tests/TestCase.php
new file mode 100644
index 0000000..8578b17
--- /dev/null
+++ b/workspace/tests/TestCase.php
@@ -0,0 +1,25 @@
+<?php
+
+class TestCase extends Illuminate\Foundation\Testing\TestCase
+{
+    /**
+     * The base URL to use while testing the application.
+     *
+     * @var string
+     */
+    protected $baseUrl = 'http://localhost';
+
+    /**
+     * Creates the application.
+     *
+     * @return \Illuminate\Foundation\Application
+     */
+    public function createApplication()
+    {
+        $app = require __DIR__.'/../bootstrap/app.php';
+
+        $app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
+
+        return $app;
+    }
+}
-- 
GitLab