From f6c86ed5b9199e56a6c2b6d217697b0fe8fa784d Mon Sep 17 00:00:00 2001
From: Joze RIHTARSIC <joze.rihtarsic@ext.ec.europa.eu>
Date: Wed, 29 Aug 2018 09:12:06 +0200
Subject: [PATCH] Add web ui modul - first version

---
 pom.xml                                       |    2 +-
 smp-angular/.angular-cli.json                 |   58 +
 smp-angular/.editorconfig                     |   13 +
 smp-angular/.gitignore                        |   43 +
 smp-angular/e2e/app.e2e-spec.ts               |   14 +
 smp-angular/e2e/app.po.ts                     |   11 +
 smp-angular/e2e/tsconfig.e2e.json             |   12 +
 smp-angular/karma.conf.js                     |   44 +
 smp-angular/package-lock.json                 | 8760 +++++++++++++++++
 smp-angular/package.json                      |   58 +
 smp-angular/pom.xml                           |   94 +
 smp-angular/protractor.conf.js                |   30 +
 smp-angular/proxy-config.json                 |    8 +
 smp-angular/src/app/alert/alert.component.css |   27 +
 .../src/app/alert/alert.component.html        |    4 +
 smp-angular/src/app/alert/alert.component.ts  |   25 +
 smp-angular/src/app/alert/alert.service.ts    |   67 +
 .../src/app/alerts/alerts.component.html      |  164 +
 .../src/app/alerts/alerts.component.spec.ts   |   25 +
 .../src/app/alerts/alerts.component.ts        |  401 +
 smp-angular/src/app/alerts/alertsentry.ts     |   13 +
 smp-angular/src/app/alerts/alertsresult.ts    |   14 +
 smp-angular/src/app/app.component.css         |   93 +
 smp-angular/src/app/app.component.html        |  108 +
 smp-angular/src/app/app.component.spec.ts     |   34 +
 smp-angular/src/app/app.component.ts          |   85 +
 smp-angular/src/app/app.module.ts             |  179 +
 smp-angular/src/app/app.routes.ts             |   24 +
 .../src/app/appinfo/domibusinfo.service.ts    |   31 +
 smp-angular/src/app/appinfo/domibusinfo.ts    |    5 +
 .../cancel-dialog/cancel-dialog.component.css |   42 +
 .../cancel-dialog.component.html              |   26 +
 .../cancel-dialog.component.spec.ts           |   25 +
 .../cancel-dialog/cancel-dialog.component.ts  |   17 +
 .../src/app/common/capitalizefirst.pipe.ts    |   19 +
 .../column-picker/column-picker-base.ts       |   10 +
 .../column-picker/column-picker.component.css |    1 +
 .../column-picker.component.html              |   25 +
 .../column-picker.component.spec.ts           |   25 +
 .../column-picker/column-picker.component.ts  |   77 +
 .../attribute/ClickStopPropagation.ts         |   11 +
 .../src/app/common/dirty-operations.ts        |    3 +
 .../src/app/common/dirty.guard.spec.ts        |   15 +
 smp-angular/src/app/common/dirty.guard.ts     |   23 +
 .../domain-selector.component.css             |    8 +
 .../domain-selector.component.html            |    5 +
 .../domain-selector.component.spec.ts         |   25 +
 .../domain-selector.component.ts              |   55 +
 .../src/app/common/module/SharedModule.ts     |   14 +
 .../page-header/page-header.component.css     |    4 +
 .../page-header/page-header.component.html    |    4 +
 .../page-header/page-header.component.spec.ts |   25 +
 .../page-header/page-header.component.ts      |   27 +
 .../page-helper/page-helper.component.css     |    0
 .../page-helper/page-helper.component.html    |    3 +
 .../page-helper/page-helper.component.spec.ts |   25 +
 .../page-helper/page-helper.component.ts      |   51 +
 .../common/row-limiter/row-limiter-base.ts    |   11 +
 .../row-limiter/row-limiter.component.css     |    2 +
 .../row-limiter/row-limiter.component.html    |    9 +
 .../row-limiter/row-limiter.component.spec.ts |   25 +
 .../row-limiter/row-limiter.component.ts      |   30 +
 .../save-dialog/save-dialog.component.css     |   42 +
 .../save-dialog/save-dialog.component.html    |   27 +
 .../save-dialog/save-dialog.component.spec.ts |   26 +
 .../save-dialog/save-dialog.component.ts      |   17 +
 .../searchtable/searchtable-controller.ts     |   15 +
 .../searchtable/searchtable.component.css     |   18 +
 .../searchtable/searchtable.component.html    |  111 +
 .../searchtable/searchtable.component.ts      |  215 +
 .../common/searchtable/searchtableresult.ts   |   11 +
 .../app/customDate/clearInvalid.directive.ts  |   34 +
 smp-angular/src/app/customDate/datePipe.ts    |   41 +
 .../src/app/customDate/dateformat.service.ts  |   21 +
 .../src/app/domain/domain-controller.ts       |   32 +
 .../domain-details-dialog.component.css       |    0
 .../domain-details-dialog.component.html      |   46 +
 .../domain-details-dialog.component.spec.ts   |   25 +
 .../domain-details-dialog.component.ts        |   20 +
 .../src/app/domain/domain.component.css       |   15 +
 .../src/app/domain/domain.component.html      |   38 +
 .../src/app/domain/domain.component.ts        |   75 +
 smp-angular/src/app/domain/domainresult.ts    |   12 +
 smp-angular/src/app/domain/domainro.ts        |   15 +
 .../src/app/download/download.service.ts      |   12 +
 .../errorlog-details.component.css            |    0
 .../errorlog-details.component.html           |   44 +
 .../errorlog-details.component.spec.ts        |   25 +
 .../errorlog-details.component.ts             |   19 +
 .../src/app/errorlog/errorlog.component.css   |    1 +
 .../src/app/errorlog/errorlog.component.html  |  136 +
 .../src/app/errorlog/errorlog.component.ts    |  339 +
 smp-angular/src/app/errorlog/errorlogentry.ts |   11 +
 .../src/app/errorlog/errorlogresult.ts        |   14 +
 .../src/app/footer/footer.component.css       |   13 +
 .../src/app/footer/footer.component.html      |    3 +
 .../src/app/footer/footer.component.ts        |   28 +
 .../src/app/guards/authenticated.guard.ts     |   25 +
 .../src/app/guards/authorized-admin.guard.ts  |   21 +
 .../src/app/guards/authorized.guard.ts        |   28 +
 smp-angular/src/app/home/home.component.css   |    3 +
 smp-angular/src/app/home/home.component.html  |   16 +
 smp-angular/src/app/home/home.component.ts    |   28 +
 .../src/app/http/extended-http-client.ts      |   47 +
 .../src/app/http/http.event.service.ts        |   15 +
 smp-angular/src/app/login/login.component.css |    1 +
 .../src/app/login/login.component.html        |   33 +
 smp-angular/src/app/login/login.component.ts  |  104 +
 .../app/messagefilter/backendfilterentry.ts   |   35 +
 .../editmessagefilter-form.component.css      |   16 +
 .../editmessagefilter-form.component.html     |   62 +
 .../editmessagefilter-form.component.ts       |   85 +
 .../messagefilter/messagefilter.component.css |   33 +
 .../messagefilter.component.html              |  139 +
 .../messagefilter/messagefilter.component.ts  |  476 +
 .../app/messagefilter/messagefilterresult.ts  |    6 +
 .../app/messagefilter/routingcriteriaentry.ts |    9 +
 .../default-password-dialog.component.css     |   43 +
 .../default-password-dialog.component.html    |   17 +
 .../default-password-dialog.component.spec.ts |   25 +
 .../default-password-dialog.component.ts      |   16 +
 .../src/app/security/domain.service.ts        |   66 +
 smp-angular/src/app/security/domain.ts        |    7 +
 .../app/security/is-authorized.directive.ts   |   26 +
 .../app/security/security.event.service.ts    |   49 +
 .../src/app/security/security.service.ts      |  119 +
 smp-angular/src/app/security/user.ts          |    9 +
 .../servicegroup/servicegroup-controller.ts   |   50 +
 .../servicegroup-details-dialog.component.css |    0
 ...servicegroup-details-dialog.component.html |   38 +
 ...vicegroup-details-dialog.component.spec.ts |   25 +
 .../servicegroup-details-dialog.component.ts  |   20 +
 ...ervicegroup-extension-dialog.component.css |    0
 ...rvicegroup-extension-dialog.component.html |   28 +
 ...cegroup-extension-dialog.component.spec.ts |   25 +
 ...servicegroup-extension-dialog.component.ts |   20 +
 ...servicegroup-metadata-dialog.component.css |   41 +
 ...ervicegroup-metadata-dialog.component.html |   55 +
 ...icegroup-metadata-dialog.component.spec.ts |   25 +
 .../servicegroup-metadata-dialog.component.ts |   17 +
 ...icegroup-metadatalist-dialog.component.css |   41 +
 ...cegroup-metadatalist-dialog.component.html |   77 +
 ...roup-metadatalist-dialog.component.spec.ts |   25 +
 ...vicegroup-metadatalist-dialog.component.ts |  124 +
 .../servicegroup/servicegroup.component.css   |   18 +
 .../servicegroup/servicegroup.component.html  |   73 +
 .../servicegroup/servicegroup.component.ts    |   85 +
 .../src/app/servicegroup/servicegroupro.ts    |   18 +
 .../src/app/truststore/trustore.model.ts      |   12 +
 .../src/app/truststore/trustore.service.ts    |   52 +
 .../truststore-dialog.component.css           |    0
 .../truststore-dialog.component.html          |   32 +
 .../truststore-dialog.component.spec.ts       |   25 +
 .../truststore-dialog.component.ts            |   24 +
 .../truststore-upload.component.css           |    0
 .../truststore-upload.component.html          |   36 +
 .../truststore-upload.component.spec.ts       |   25 +
 .../truststore-upload.component.ts            |   49 +
 .../app/truststore/truststore.component.css   |   43 +
 .../app/truststore/truststore.component.html  |   60 +
 .../truststore/truststore.component.spec.ts   |   25 +
 .../app/truststore/truststore.component.ts    |  130 +
 smp-angular/src/app/user/user-controller.ts   |   32 +
 .../user-details-dialog.component.css         |    0
 .../user-details-dialog.component.html        |   36 +
 .../user-details-dialog.component.spec.ts     |   25 +
 .../user-details-dialog.component.ts          |   20 +
 smp-angular/src/app/user/user.component.css   |   15 +
 smp-angular/src/app/user/user.component.html  |   31 +
 smp-angular/src/app/user/user.component.ts    |   65 +
 smp-angular/src/app/user/userro.ts            |   10 +
 smp-angular/src/assets/.gitkeep               |    0
 .../assets/icons/MaterialIcons-Regular.eot    |  Bin 0 -> 143258 bytes
 .../assets/icons/MaterialIcons-Regular.ttf    |  Bin 0 -> 128180 bytes
 .../assets/icons/MaterialIcons-Regular.woff   |  Bin 0 -> 57620 bytes
 .../assets/icons/MaterialIcons-Regular.woff2  |  Bin 0 -> 44300 bytes
 smp-angular/src/assets/images/EC+Logo2.png    |  Bin 0 -> 9708 bytes
 .../src/assets/images/favicon-16x16.png       |  Bin 0 -> 852 bytes
 .../src/assets/images/favicon-32x32.png       |  Bin 0 -> 2138 bytes
 smp-angular/src/assets/images/favicon.ico     |  Bin 0 -> 9662 bytes
 smp-angular/src/assets/images/smp.png         |  Bin 0 -> 1037 bytes
 .../src/assets/images/smp_logo_icon.png       |  Bin 0 -> 109596 bytes
 .../src/assets/images/smp_logo_icon.svg       |  321 +
 .../stylesheets/angularMaterial2Icons.css     |   37 +
 .../src/environments/environment.prod.ts      |    3 +
 smp-angular/src/environments/environment.ts   |    8 +
 smp-angular/src/favicon.ico                   |  Bin 0 -> 9662 bytes
 smp-angular/src/index.html                    |   17 +
 smp-angular/src/main.ts                       |   10 +
 .../main/resources/META-INF/web-fragment.xml  |   16 +
 smp-angular/src/polyfills.ts                  |   38 +
 smp-angular/src/styles.css                    |  316 +
 smp-angular/src/test.ts                       |   32 +
 smp-angular/src/theme.scss                    |   84 +
 smp-angular/src/tsconfig.app.json             |   13 +
 smp-angular/src/tsconfig.spec.json            |   20 +
 smp-angular/src/typings.d.ts                  |    5 +
 smp-angular/tsconfig.json                     |   20 +
 smp-angular/tslint.json                       |  116 +
 199 files changed, 16755 insertions(+), 1 deletion(-)
 create mode 100644 smp-angular/.angular-cli.json
 create mode 100644 smp-angular/.editorconfig
 create mode 100644 smp-angular/.gitignore
 create mode 100644 smp-angular/e2e/app.e2e-spec.ts
 create mode 100644 smp-angular/e2e/app.po.ts
 create mode 100644 smp-angular/e2e/tsconfig.e2e.json
 create mode 100644 smp-angular/karma.conf.js
 create mode 100644 smp-angular/package-lock.json
 create mode 100644 smp-angular/package.json
 create mode 100644 smp-angular/pom.xml
 create mode 100644 smp-angular/protractor.conf.js
 create mode 100644 smp-angular/proxy-config.json
 create mode 100644 smp-angular/src/app/alert/alert.component.css
 create mode 100644 smp-angular/src/app/alert/alert.component.html
 create mode 100644 smp-angular/src/app/alert/alert.component.ts
 create mode 100644 smp-angular/src/app/alert/alert.service.ts
 create mode 100644 smp-angular/src/app/alerts/alerts.component.html
 create mode 100644 smp-angular/src/app/alerts/alerts.component.spec.ts
 create mode 100644 smp-angular/src/app/alerts/alerts.component.ts
 create mode 100644 smp-angular/src/app/alerts/alertsentry.ts
 create mode 100644 smp-angular/src/app/alerts/alertsresult.ts
 create mode 100644 smp-angular/src/app/app.component.css
 create mode 100644 smp-angular/src/app/app.component.html
 create mode 100644 smp-angular/src/app/app.component.spec.ts
 create mode 100644 smp-angular/src/app/app.component.ts
 create mode 100644 smp-angular/src/app/app.module.ts
 create mode 100644 smp-angular/src/app/app.routes.ts
 create mode 100644 smp-angular/src/app/appinfo/domibusinfo.service.ts
 create mode 100644 smp-angular/src/app/appinfo/domibusinfo.ts
 create mode 100644 smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.css
 create mode 100644 smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.html
 create mode 100644 smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.ts
 create mode 100644 smp-angular/src/app/common/capitalizefirst.pipe.ts
 create mode 100644 smp-angular/src/app/common/column-picker/column-picker-base.ts
 create mode 100644 smp-angular/src/app/common/column-picker/column-picker.component.css
 create mode 100644 smp-angular/src/app/common/column-picker/column-picker.component.html
 create mode 100644 smp-angular/src/app/common/column-picker/column-picker.component.spec.ts
 create mode 100644 smp-angular/src/app/common/column-picker/column-picker.component.ts
 create mode 100644 smp-angular/src/app/common/directive/attribute/ClickStopPropagation.ts
 create mode 100644 smp-angular/src/app/common/dirty-operations.ts
 create mode 100644 smp-angular/src/app/common/dirty.guard.spec.ts
 create mode 100644 smp-angular/src/app/common/dirty.guard.ts
 create mode 100644 smp-angular/src/app/common/domain-selector/domain-selector.component.css
 create mode 100644 smp-angular/src/app/common/domain-selector/domain-selector.component.html
 create mode 100644 smp-angular/src/app/common/domain-selector/domain-selector.component.spec.ts
 create mode 100644 smp-angular/src/app/common/domain-selector/domain-selector.component.ts
 create mode 100644 smp-angular/src/app/common/module/SharedModule.ts
 create mode 100644 smp-angular/src/app/common/page-header/page-header.component.css
 create mode 100644 smp-angular/src/app/common/page-header/page-header.component.html
 create mode 100644 smp-angular/src/app/common/page-header/page-header.component.spec.ts
 create mode 100644 smp-angular/src/app/common/page-header/page-header.component.ts
 create mode 100644 smp-angular/src/app/common/page-helper/page-helper.component.css
 create mode 100644 smp-angular/src/app/common/page-helper/page-helper.component.html
 create mode 100644 smp-angular/src/app/common/page-helper/page-helper.component.spec.ts
 create mode 100644 smp-angular/src/app/common/page-helper/page-helper.component.ts
 create mode 100644 smp-angular/src/app/common/row-limiter/row-limiter-base.ts
 create mode 100644 smp-angular/src/app/common/row-limiter/row-limiter.component.css
 create mode 100644 smp-angular/src/app/common/row-limiter/row-limiter.component.html
 create mode 100644 smp-angular/src/app/common/row-limiter/row-limiter.component.spec.ts
 create mode 100644 smp-angular/src/app/common/row-limiter/row-limiter.component.ts
 create mode 100644 smp-angular/src/app/common/save-dialog/save-dialog.component.css
 create mode 100644 smp-angular/src/app/common/save-dialog/save-dialog.component.html
 create mode 100644 smp-angular/src/app/common/save-dialog/save-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/common/save-dialog/save-dialog.component.ts
 create mode 100644 smp-angular/src/app/common/searchtable/searchtable-controller.ts
 create mode 100644 smp-angular/src/app/common/searchtable/searchtable.component.css
 create mode 100644 smp-angular/src/app/common/searchtable/searchtable.component.html
 create mode 100644 smp-angular/src/app/common/searchtable/searchtable.component.ts
 create mode 100644 smp-angular/src/app/common/searchtable/searchtableresult.ts
 create mode 100644 smp-angular/src/app/customDate/clearInvalid.directive.ts
 create mode 100644 smp-angular/src/app/customDate/datePipe.ts
 create mode 100644 smp-angular/src/app/customDate/dateformat.service.ts
 create mode 100644 smp-angular/src/app/domain/domain-controller.ts
 create mode 100644 smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.css
 create mode 100644 smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
 create mode 100644 smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.ts
 create mode 100644 smp-angular/src/app/domain/domain.component.css
 create mode 100644 smp-angular/src/app/domain/domain.component.html
 create mode 100644 smp-angular/src/app/domain/domain.component.ts
 create mode 100644 smp-angular/src/app/domain/domainresult.ts
 create mode 100644 smp-angular/src/app/domain/domainro.ts
 create mode 100644 smp-angular/src/app/download/download.service.ts
 create mode 100644 smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.css
 create mode 100644 smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.html
 create mode 100644 smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.spec.ts
 create mode 100644 smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.ts
 create mode 100644 smp-angular/src/app/errorlog/errorlog.component.css
 create mode 100644 smp-angular/src/app/errorlog/errorlog.component.html
 create mode 100644 smp-angular/src/app/errorlog/errorlog.component.ts
 create mode 100644 smp-angular/src/app/errorlog/errorlogentry.ts
 create mode 100644 smp-angular/src/app/errorlog/errorlogresult.ts
 create mode 100644 smp-angular/src/app/footer/footer.component.css
 create mode 100644 smp-angular/src/app/footer/footer.component.html
 create mode 100644 smp-angular/src/app/footer/footer.component.ts
 create mode 100644 smp-angular/src/app/guards/authenticated.guard.ts
 create mode 100644 smp-angular/src/app/guards/authorized-admin.guard.ts
 create mode 100644 smp-angular/src/app/guards/authorized.guard.ts
 create mode 100644 smp-angular/src/app/home/home.component.css
 create mode 100644 smp-angular/src/app/home/home.component.html
 create mode 100644 smp-angular/src/app/home/home.component.ts
 create mode 100644 smp-angular/src/app/http/extended-http-client.ts
 create mode 100644 smp-angular/src/app/http/http.event.service.ts
 create mode 100644 smp-angular/src/app/login/login.component.css
 create mode 100644 smp-angular/src/app/login/login.component.html
 create mode 100644 smp-angular/src/app/login/login.component.ts
 create mode 100644 smp-angular/src/app/messagefilter/backendfilterentry.ts
 create mode 100644 smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.css
 create mode 100644 smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.html
 create mode 100644 smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.ts
 create mode 100644 smp-angular/src/app/messagefilter/messagefilter.component.css
 create mode 100644 smp-angular/src/app/messagefilter/messagefilter.component.html
 create mode 100644 smp-angular/src/app/messagefilter/messagefilter.component.ts
 create mode 100644 smp-angular/src/app/messagefilter/messagefilterresult.ts
 create mode 100644 smp-angular/src/app/messagefilter/routingcriteriaentry.ts
 create mode 100644 smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.css
 create mode 100644 smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.html
 create mode 100644 smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.ts
 create mode 100644 smp-angular/src/app/security/domain.service.ts
 create mode 100644 smp-angular/src/app/security/domain.ts
 create mode 100644 smp-angular/src/app/security/is-authorized.directive.ts
 create mode 100644 smp-angular/src/app/security/security.event.service.ts
 create mode 100644 smp-angular/src/app/security/security.service.ts
 create mode 100644 smp-angular/src/app/security/user.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-controller.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.css
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.html
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.css
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.html
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.css
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.html
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.css
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.html
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup.component.css
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup.component.html
 create mode 100644 smp-angular/src/app/servicegroup/servicegroup.component.ts
 create mode 100644 smp-angular/src/app/servicegroup/servicegroupro.ts
 create mode 100644 smp-angular/src/app/truststore/trustore.model.ts
 create mode 100644 smp-angular/src/app/truststore/trustore.service.ts
 create mode 100644 smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.css
 create mode 100644 smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.html
 create mode 100644 smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.ts
 create mode 100644 smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.css
 create mode 100644 smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.html
 create mode 100644 smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.spec.ts
 create mode 100644 smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.ts
 create mode 100644 smp-angular/src/app/truststore/truststore.component.css
 create mode 100644 smp-angular/src/app/truststore/truststore.component.html
 create mode 100644 smp-angular/src/app/truststore/truststore.component.spec.ts
 create mode 100644 smp-angular/src/app/truststore/truststore.component.ts
 create mode 100644 smp-angular/src/app/user/user-controller.ts
 create mode 100644 smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.css
 create mode 100644 smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.html
 create mode 100644 smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.spec.ts
 create mode 100644 smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
 create mode 100644 smp-angular/src/app/user/user.component.css
 create mode 100644 smp-angular/src/app/user/user.component.html
 create mode 100644 smp-angular/src/app/user/user.component.ts
 create mode 100644 smp-angular/src/app/user/userro.ts
 create mode 100644 smp-angular/src/assets/.gitkeep
 create mode 100644 smp-angular/src/assets/icons/MaterialIcons-Regular.eot
 create mode 100644 smp-angular/src/assets/icons/MaterialIcons-Regular.ttf
 create mode 100644 smp-angular/src/assets/icons/MaterialIcons-Regular.woff
 create mode 100644 smp-angular/src/assets/icons/MaterialIcons-Regular.woff2
 create mode 100644 smp-angular/src/assets/images/EC+Logo2.png
 create mode 100644 smp-angular/src/assets/images/favicon-16x16.png
 create mode 100644 smp-angular/src/assets/images/favicon-32x32.png
 create mode 100644 smp-angular/src/assets/images/favicon.ico
 create mode 100644 smp-angular/src/assets/images/smp.png
 create mode 100644 smp-angular/src/assets/images/smp_logo_icon.png
 create mode 100755 smp-angular/src/assets/images/smp_logo_icon.svg
 create mode 100644 smp-angular/src/assets/stylesheets/angularMaterial2Icons.css
 create mode 100644 smp-angular/src/environments/environment.prod.ts
 create mode 100644 smp-angular/src/environments/environment.ts
 create mode 100644 smp-angular/src/favicon.ico
 create mode 100644 smp-angular/src/index.html
 create mode 100644 smp-angular/src/main.ts
 create mode 100644 smp-angular/src/main/resources/META-INF/web-fragment.xml
 create mode 100644 smp-angular/src/polyfills.ts
 create mode 100644 smp-angular/src/styles.css
 create mode 100644 smp-angular/src/test.ts
 create mode 100644 smp-angular/src/theme.scss
 create mode 100644 smp-angular/src/tsconfig.app.json
 create mode 100644 smp-angular/src/tsconfig.spec.json
 create mode 100644 smp-angular/src/typings.d.ts
 create mode 100644 smp-angular/tsconfig.json
 create mode 100644 smp-angular/tslint.json

diff --git a/pom.xml b/pom.xml
index c8b0edf36..7350e0b8b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
     <modules>
         <module>smp-parent-pom</module>
         <module>smp-api</module>
-        <!-- module>smp-angular</module -->
+        <module>smp-angular</module>
         <module>smp-server-library</module>
         <module>smp-webapp</module>
     </modules>
diff --git a/smp-angular/.angular-cli.json b/smp-angular/.angular-cli.json
new file mode 100644
index 000000000..2a3a939b3
--- /dev/null
+++ b/smp-angular/.angular-cli.json
@@ -0,0 +1,58 @@
+{
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+  "project": {
+    "name": "domibus-MSH-web"
+  },
+  "apps": [
+    {
+      "root": "src",
+      "outDir": "dist",
+      "assets": [
+        "assets",
+        "favicon.ico"
+      ],
+      "index": "index.html",
+      "main": "main.ts",
+      "polyfills": "polyfills.ts",
+      "test": "test.ts",
+      "tsconfig": "tsconfig.app.json",
+      "testTsconfig": "tsconfig.spec.json",
+      "prefix": "app",
+      "styles": [
+        "styles.css",
+        "theme.scss"
+      ],
+      "scripts": [],
+      "environmentSource": "environments/environment.ts",
+      "environments": {
+        "dev": "environments/environment.ts",
+        "prod": "environments/environment.prod.ts"
+      }
+    }
+  ],
+  "e2e": {
+    "protractor": {
+      "config": "./protractor.conf.js"
+    }
+  },
+  "lint": [
+    {
+      "project": "src/tsconfig.app.json"
+    },
+    {
+      "project": "src/tsconfig.spec.json"
+    },
+    {
+      "project": "e2e/tsconfig.e2e.json"
+    }
+  ],
+  "test": {
+    "karma": {
+      "config": "./karma.conf.js"
+    }
+  },
+  "defaults": {
+    "styleExt": "css",
+    "component": {}
+  }
+}
diff --git a/smp-angular/.editorconfig b/smp-angular/.editorconfig
new file mode 100644
index 000000000..6e87a003d
--- /dev/null
+++ b/smp-angular/.editorconfig
@@ -0,0 +1,13 @@
+# Editor configuration, see http://editorconfig.org
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+max_line_length = off
+trim_trailing_whitespace = false
diff --git a/smp-angular/.gitignore b/smp-angular/.gitignore
new file mode 100644
index 000000000..28abbf308
--- /dev/null
+++ b/smp-angular/.gitignore
@@ -0,0 +1,43 @@
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+
+# compiled output
+/dist
+/tmp
+/src/main/resources/META-INF/resources
+
+# dependencies
+/node_modules
+/node
+
+# IDEs and editors
+/.idea
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+# misc
+/.sass-cache
+/connect.lock
+/coverage/*
+/libpeerconnection.log
+npm-debug.log
+testem.log
+/typings
+/npm-debug*
+
+# e2e
+/e2e/*.js
+/e2e/*.map
+
+#System Files
+.DS_Store
+Thumbs.db
diff --git a/smp-angular/e2e/app.e2e-spec.ts b/smp-angular/e2e/app.e2e-spec.ts
new file mode 100644
index 000000000..8bb4871d7
--- /dev/null
+++ b/smp-angular/e2e/app.e2e-spec.ts
@@ -0,0 +1,14 @@
+import { DomibusAngular2WebPage } from './app.po';
+
+describe('domibus-MSH-web App', function() {
+  let page: DomibusAngular2WebPage;
+
+  beforeEach(() => {
+    page = new DomibusAngular2WebPage();
+  });
+
+  it('should display message saying app works', () => {
+    page.navigateTo();
+    expect(page.getParagraphText()).toEqual('app works!');
+  });
+});
diff --git a/smp-angular/e2e/app.po.ts b/smp-angular/e2e/app.po.ts
new file mode 100644
index 000000000..f11e8e55a
--- /dev/null
+++ b/smp-angular/e2e/app.po.ts
@@ -0,0 +1,11 @@
+import { browser, element, by } from 'protractor';
+
+export class DomibusAngular2WebPage {
+  navigateTo() {
+    return browser.get('/');
+  }
+
+  getParagraphText() {
+    return element(by.css('app-root h1')).getText();
+  }
+}
diff --git a/smp-angular/e2e/tsconfig.e2e.json b/smp-angular/e2e/tsconfig.e2e.json
new file mode 100644
index 000000000..ac7a37325
--- /dev/null
+++ b/smp-angular/e2e/tsconfig.e2e.json
@@ -0,0 +1,12 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/e2e",
+    "module": "commonjs",
+    "target": "es5",
+    "types":[
+      "jasmine",
+      "node"
+    ]
+  }
+}
diff --git a/smp-angular/karma.conf.js b/smp-angular/karma.conf.js
new file mode 100644
index 000000000..84b4cd5ac
--- /dev/null
+++ b/smp-angular/karma.conf.js
@@ -0,0 +1,44 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/0.13/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular/cli'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage-istanbul-reporter'),
+      require('@angular/cli/plugins/karma')
+    ],
+    client:{
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    files: [
+      { pattern: './src/test.ts', watched: false }
+    ],
+    preprocessors: {
+      './src/test.ts': ['@angular/cli']
+    },
+    mime: {
+      'text/x-typescript': ['ts','tsx']
+    },
+    coverageIstanbulReporter: {
+      reports: [ 'html', 'lcovonly' ],
+      fixWebpackSourcePaths: true
+    },
+    angularCli: {
+      environment: 'dev'
+    },
+    reporters: config.angularCli && config.angularCli.codeCoverage
+              ? ['progress', 'coverage-istanbul']
+              : ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false
+  });
+};
diff --git a/smp-angular/package-lock.json b/smp-angular/package-lock.json
new file mode 100644
index 000000000..bd86eaa01
--- /dev/null
+++ b/smp-angular/package-lock.json
@@ -0,0 +1,8760 @@
+{
+  "name": "smp-web",
+  "version": "0.0.0",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "@angular/animations": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.2.5.tgz",
+      "integrity": "sha1-EjD2vGoY8quyPifx2a6e+v0aYDE=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/cdk": {
+      "version": "2.0.0-beta.8",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.8.tgz",
+      "integrity": "sha512-OOtK+AA14cmRG9AbUgvoKC9Tooz0N37GTaRSV+xziC8GxXHgwvTu4PFSFHlBnHPipOYC/tB2oP39j3KuurEMPA==",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/cli": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.2.0.tgz",
+      "integrity": "sha1-39i4mD7DfCttf5AurWA5bXtXFZc=",
+      "dev": true,
+      "requires": {
+        "@ngtools/json-schema": "1.1.0",
+        "@ngtools/webpack": "1.5.0",
+        "autoprefixer": "6.7.7",
+        "chalk": "1.1.3",
+        "common-tags": "1.4.0",
+        "core-object": "3.1.3",
+        "css-loader": "0.28.4",
+        "cssnano": "3.10.0",
+        "denodeify": "1.2.1",
+        "diff": "3.2.0",
+        "ember-cli-normalize-entity-name": "1.0.0",
+        "ember-cli-string-utils": "1.1.0",
+        "exports-loader": "0.6.4",
+        "extract-text-webpack-plugin": "2.1.2",
+        "file-loader": "0.10.1",
+        "fs-extra": "3.0.1",
+        "get-caller-file": "1.0.2",
+        "glob": "7.1.2",
+        "heimdalljs": "0.2.5",
+        "heimdalljs-logger": "0.1.9",
+        "html-webpack-plugin": "2.29.0",
+        "inflection": "1.12.0",
+        "inquirer": "3.1.1",
+        "isbinaryfile": "3.0.2",
+        "istanbul-instrumenter-loader": "2.0.0",
+        "json-loader": "0.5.4",
+        "less": "2.7.2",
+        "less-loader": "4.0.4",
+        "license-webpack-plugin": "0.4.3",
+        "lodash": "4.17.4",
+        "memory-fs": "0.4.1",
+        "minimatch": "3.0.4",
+        "node-modules-path": "1.0.1",
+        "node-sass": "4.5.3",
+        "nopt": "4.0.1",
+        "opn": "4.0.2",
+        "portfinder": "1.0.13",
+        "postcss-loader": "1.3.3",
+        "postcss-url": "5.1.2",
+        "raw-loader": "0.5.1",
+        "resolve": "1.3.3",
+        "rsvp": "3.6.0",
+        "rxjs": "5.5.11",
+        "sass-loader": "6.0.6",
+        "script-loader": "0.7.0",
+        "semver": "5.3.0",
+        "silent-error": "1.1.0",
+        "source-map-loader": "0.2.1",
+        "style-loader": "0.13.2",
+        "stylus": "0.54.5",
+        "stylus-loader": "3.0.1",
+        "temp": "0.8.3",
+        "typescript": "2.3.4",
+        "url-loader": "0.5.9",
+        "walk-sync": "0.3.2",
+        "webpack": "2.4.1",
+        "webpack-dev-middleware": "1.11.0",
+        "webpack-dev-server": "2.4.5",
+        "webpack-merge": "2.6.1",
+        "zone.js": "0.8.12"
+      },
+      "dependencies": {
+        "rxjs": {
+          "version": "5.5.11",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz",
+          "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==",
+          "dev": true,
+          "requires": {
+            "symbol-observable": "1.0.1"
+          }
+        }
+      }
+    },
+    "@angular/common": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.2.5.tgz",
+      "integrity": "sha1-TVCpW0RM1Yz3BvDandFAfTuDNi4=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/compiler": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.2.5.tgz",
+      "integrity": "sha1-tIZ0x0VrKw3xBy1w5OZnr4bN34M=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/compiler-cli": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.2.5.tgz",
+      "integrity": "sha1-OzltZa3oOA83EgHUNh/JYqSax2o=",
+      "dev": true,
+      "requires": {
+        "@angular/tsc-wrapped": "4.2.5",
+        "minimist": "1.2.0",
+        "reflect-metadata": "0.1.10"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "@angular/core": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.2.5.tgz",
+      "integrity": "sha1-YcG1iFwmIzLXN/vg9dcRUXWahGQ=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/forms": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.2.5.tgz",
+      "integrity": "sha1-p+VcjR9aToU37+Ht14NOSh9ZxuQ=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/http": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.2.5.tgz",
+      "integrity": "sha1-P/+OXPjogmK6zRyZYwQxLDxaOu8=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/material": {
+      "version": "2.0.0-beta.8",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.8.tgz",
+      "integrity": "sha512-4+OecvjU15i+l/vXBP2qEHdlsU9taK6kBhsWKsxNLK3+TAVoV5qjc2rjOucHtTwI/oOjyBXnLJP6pl4tuLEUQw==",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/platform-browser": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.2.5.tgz",
+      "integrity": "sha1-2d3+D4EITpjvJKefSF27ES54oMQ=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/platform-browser-dynamic": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.2.5.tgz",
+      "integrity": "sha1-gHbsSohcw6GiPF5UDECn/dP357I=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/platform-server": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-4.2.5.tgz",
+      "integrity": "sha1-1OPX6H0KdwYV3cSr0cfAdVRJYHk=",
+      "requires": {
+        "parse5": "3.0.2",
+        "tslib": "1.7.1",
+        "xhr2": "0.1.4"
+      }
+    },
+    "@angular/router": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.2.5.tgz",
+      "integrity": "sha1-fzZAiUk6saBurF8MYowPn9sRAI8=",
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "@angular/tsc-wrapped": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.2.5.tgz",
+      "integrity": "sha1-Ci/CMwYXgNK+QCmWGHh4wng4t+M=",
+      "dev": true,
+      "requires": {
+        "tsickle": "0.21.6"
+      }
+    },
+    "@ngtools/json-schema": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz",
+      "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=",
+      "dev": true
+    },
+    "@ngtools/webpack": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.5.0.tgz",
+      "integrity": "sha1-tr5Y2FfUH4mZdR1rvD0h6EvJd8o=",
+      "dev": true,
+      "requires": {
+        "enhanced-resolve": "3.3.0",
+        "loader-utils": "1.1.0",
+        "magic-string": "0.19.1",
+        "source-map": "0.5.6"
+      }
+    },
+    "@swimlane/ngx-datatable": {
+      "version": "9.3.0",
+      "resolved": "https://registry.npmjs.org/@swimlane/ngx-datatable/-/ngx-datatable-9.3.0.tgz",
+      "integrity": "sha1-rrNLtywhAiNiFLR0z9mAgsUandA="
+    },
+    "@types/file-saver": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-0.0.1.tgz",
+      "integrity": "sha1-Ojo3iEuEDixMVXcMn6daPhF4Tvg=",
+      "dev": true
+    },
+    "@types/jasmine": {
+      "version": "2.5.47",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.47.tgz",
+      "integrity": "sha1-u7qbzw6V54kMb0pHOU6LrKqWDrY=",
+      "dev": true
+    },
+    "@types/node": {
+      "version": "7.0.33",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.33.tgz",
+      "integrity": "sha512-8fVvl6Yyk3jZvSYxRMS9/AmZJ5RXCOP9N4xSlykyBViVESu751pxHYTN14Embn1Fem78YwEHdC7p7KGQQpwunw==",
+      "dev": true
+    },
+    "@types/q": {
+      "version": "0.0.32",
+      "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
+      "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
+      "dev": true
+    },
+    "@types/selenium-webdriver": {
+      "version": "2.53.42",
+      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz",
+      "integrity": "sha1-dMt3+2BS7a/yqJhN2v2I1BnyXKw=",
+      "dev": true
+    },
+    "abbrev": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+      "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+      "dev": true
+    },
+    "accepts": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+      "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+      "dev": true,
+      "requires": {
+        "mime-types": "2.1.15",
+        "negotiator": "0.6.1"
+      }
+    },
+    "acorn": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz",
+      "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==",
+      "dev": true
+    },
+    "acorn-dynamic-import": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+      "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+      "dev": true,
+      "requires": {
+        "acorn": "4.0.13"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "4.0.13",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+          "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+          "dev": true
+        }
+      }
+    },
+    "adm-zip": {
+      "version": "0.4.7",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz",
+      "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=",
+      "dev": true
+    },
+    "after": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+      "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+      "dev": true
+    },
+    "agent-base": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+      "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
+      "dev": true,
+      "requires": {
+        "extend": "3.0.1",
+        "semver": "5.0.3"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.0.3",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+          "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
+          "dev": true
+        }
+      }
+    },
+    "ajv": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.0.tgz",
+      "integrity": "sha1-wXNQJMXaLvdcwZBxMHPUTwmL9IY=",
+      "dev": true,
+      "requires": {
+        "co": "4.6.0",
+        "fast-deep-equal": "0.1.0",
+        "json-schema-traverse": "0.3.1",
+        "json-stable-stringify": "1.0.1"
+      }
+    },
+    "ajv-keywords": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+      "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+      "dev": true
+    },
+    "align-text": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2",
+        "longest": "1.0.1",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "alphanum-sort": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+      "dev": true
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+      "dev": true
+    },
+    "ansi-escapes": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz",
+      "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=",
+      "dev": true
+    },
+    "ansi-html": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+      "dev": true
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true
+    },
+    "ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true
+    },
+    "anymatch": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+      "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+      "dev": true,
+      "requires": {
+        "arrify": "1.0.1",
+        "micromatch": "2.3.11"
+      }
+    },
+    "app-root-path": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz",
+      "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=",
+      "dev": true
+    },
+    "aproba": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz",
+      "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==",
+      "dev": true
+    },
+    "are-we-there-yet": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+      "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+      "dev": true,
+      "requires": {
+        "delegates": "1.0.0",
+        "readable-stream": "2.3.3"
+      }
+    },
+    "argparse": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+      "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+      "dev": true,
+      "requires": {
+        "sprintf-js": "1.0.3"
+      }
+    },
+    "arr-diff": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+      "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+      "dev": true,
+      "requires": {
+        "arr-flatten": "1.0.3"
+      }
+    },
+    "arr-flatten": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
+      "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
+      "dev": true
+    },
+    "array-differ": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+      "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+      "dev": true
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true
+    },
+    "array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+      "dev": true
+    },
+    "array-slice": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+      "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+      "dev": true
+    },
+    "array-union": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+      "dev": true,
+      "requires": {
+        "array-uniq": "1.0.3"
+      }
+    },
+    "array-uniq": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true
+    },
+    "array-unique": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+      "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+      "dev": true
+    },
+    "arraybuffer.slice": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+      "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+      "dev": true
+    },
+    "arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true
+    },
+    "asap": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
+      "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=",
+      "dev": true,
+      "optional": true
+    },
+    "asn1": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+      "dev": true
+    },
+    "asn1.js": {
+      "version": "4.9.1",
+      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz",
+      "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.0"
+      }
+    },
+    "assert": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+      "dev": true,
+      "requires": {
+        "util": "0.10.3"
+      }
+    },
+    "assert-plus": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+      "dev": true
+    },
+    "async": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
+      "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4"
+      }
+    },
+    "async-each": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+      "dev": true
+    },
+    "async-foreach": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+      "dev": true,
+      "optional": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "autoprefixer": {
+      "version": "6.7.7",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+      "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+      "dev": true,
+      "requires": {
+        "browserslist": "1.7.7",
+        "caniuse-db": "1.0.30000697",
+        "normalize-range": "0.1.2",
+        "num2fraction": "1.2.2",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "aws-sign2": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+      "dev": true
+    },
+    "aws4": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+      "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+      "dev": true
+    },
+    "babel-code-frame": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+      "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "esutils": "2.0.2",
+        "js-tokens": "3.0.2"
+      }
+    },
+    "babel-generator": {
+      "version": "6.25.0",
+      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz",
+      "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=",
+      "dev": true,
+      "requires": {
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.23.0",
+        "babel-types": "6.25.0",
+        "detect-indent": "4.0.0",
+        "jsesc": "1.3.0",
+        "lodash": "4.17.4",
+        "source-map": "0.5.6",
+        "trim-right": "1.0.1"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+          "dev": true
+        }
+      }
+    },
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.23.0"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+      "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+      "dev": true,
+      "requires": {
+        "core-js": "2.4.1",
+        "regenerator-runtime": "0.10.5"
+      }
+    },
+    "babel-template": {
+      "version": "6.25.0",
+      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
+      "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.23.0",
+        "babel-traverse": "6.25.0",
+        "babel-types": "6.25.0",
+        "babylon": "6.17.4",
+        "lodash": "4.17.4"
+      }
+    },
+    "babel-traverse": {
+      "version": "6.25.0",
+      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+      "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.22.0",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.23.0",
+        "babel-types": "6.25.0",
+        "babylon": "6.17.4",
+        "debug": "2.6.8",
+        "globals": "9.18.0",
+        "invariant": "2.2.2",
+        "lodash": "4.17.4"
+      }
+    },
+    "babel-types": {
+      "version": "6.25.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+      "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.23.0",
+        "esutils": "2.0.2",
+        "lodash": "4.17.4",
+        "to-fast-properties": "1.0.3"
+      }
+    },
+    "babylon": {
+      "version": "6.17.4",
+      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+      "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==",
+      "dev": true
+    },
+    "backo2": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+      "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+      "dev": true
+    },
+    "balanced-match": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+      "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+      "dev": true
+    },
+    "base64-arraybuffer": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+      "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+      "dev": true
+    },
+    "base64-js": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz",
+      "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==",
+      "dev": true
+    },
+    "base64id": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+      "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+      "dev": true
+    },
+    "batch": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+      "dev": true
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tweetnacl": "0.14.5"
+      }
+    },
+    "beeper": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+      "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+      "dev": true
+    },
+    "better-assert": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+      "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+      "dev": true,
+      "requires": {
+        "callsite": "1.0.0"
+      }
+    },
+    "big.js": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
+      "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=",
+      "dev": true
+    },
+    "binary-extensions": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
+      "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
+      "dev": true
+    },
+    "blob": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+      "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
+      "dev": true
+    },
+    "block-stream": {
+      "version": "0.0.9",
+      "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "blocking-proxy": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-0.0.5.tgz",
+      "integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=",
+      "dev": true,
+      "requires": {
+        "minimist": "1.2.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "bluebird": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
+      "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=",
+      "dev": true
+    },
+    "bn.js": {
+      "version": "4.11.7",
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz",
+      "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA==",
+      "dev": true
+    },
+    "body-parser": {
+      "version": "1.17.2",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz",
+      "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=",
+      "dev": true,
+      "requires": {
+        "bytes": "2.4.0",
+        "content-type": "1.0.2",
+        "debug": "2.6.7",
+        "depd": "1.1.0",
+        "http-errors": "1.6.1",
+        "iconv-lite": "0.4.15",
+        "on-finished": "2.3.0",
+        "qs": "6.4.0",
+        "raw-body": "2.2.0",
+        "type-is": "1.6.15"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "2.4.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+          "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
+          "dev": true
+        },
+        "debug": {
+          "version": "2.6.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "iconv-lite": {
+          "version": "0.4.15",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+          "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
+          "dev": true
+        }
+      }
+    },
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+      "dev": true
+    },
+    "boom": {
+      "version": "2.10.1",
+      "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+      "dev": true,
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+      "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+      "dev": true,
+      "requires": {
+        "balanced-match": "1.0.0",
+        "concat-map": "0.0.1"
+      },
+      "dependencies": {
+        "balanced-match": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+          "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+          "dev": true
+        }
+      }
+    },
+    "braces": {
+      "version": "1.8.5",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+      "dev": true,
+      "requires": {
+        "expand-range": "1.8.2",
+        "preserve": "0.2.0",
+        "repeat-element": "1.1.2"
+      }
+    },
+    "brorand": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+      "dev": true
+    },
+    "browserify-aes": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
+      "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=",
+      "dev": true,
+      "requires": {
+        "buffer-xor": "1.0.3",
+        "cipher-base": "1.0.3",
+        "create-hash": "1.1.3",
+        "evp_bytestokey": "1.0.0",
+        "inherits": "2.0.3"
+      }
+    },
+    "browserify-cipher": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+      "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+      "dev": true,
+      "requires": {
+        "browserify-aes": "1.0.6",
+        "browserify-des": "1.0.0",
+        "evp_bytestokey": "1.0.0"
+      }
+    },
+    "browserify-des": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+      "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+      "dev": true,
+      "requires": {
+        "cipher-base": "1.0.3",
+        "des.js": "1.0.0",
+        "inherits": "2.0.3"
+      }
+    },
+    "browserify-rsa": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "randombytes": "2.0.5"
+      }
+    },
+    "browserify-sign": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "browserify-rsa": "4.0.1",
+        "create-hash": "1.1.3",
+        "create-hmac": "1.1.6",
+        "elliptic": "6.4.0",
+        "inherits": "2.0.3",
+        "parse-asn1": "5.1.0"
+      }
+    },
+    "browserify-zlib": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+      "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+      "dev": true,
+      "requires": {
+        "pako": "0.2.9"
+      }
+    },
+    "browserslist": {
+      "version": "1.7.7",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+      "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+      "dev": true,
+      "requires": {
+        "caniuse-db": "1.0.30000697",
+        "electron-to-chromium": "1.3.15"
+      }
+    },
+    "buffer": {
+      "version": "4.9.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+      "dev": true,
+      "requires": {
+        "base64-js": "1.2.1",
+        "ieee754": "1.1.8",
+        "isarray": "1.0.0"
+      }
+    },
+    "buffer-xor": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+      "dev": true
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true
+    },
+    "builtin-status-codes": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+      "dev": true
+    },
+    "bytes": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz",
+      "integrity": "sha1-1baAoWW2IBc5rLYRVCqrwtjOsHA=",
+      "dev": true
+    },
+    "callsite": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+      "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+      "dev": true
+    },
+    "camel-case": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+      "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+      "dev": true,
+      "requires": {
+        "no-case": "2.3.1",
+        "upper-case": "1.1.3"
+      }
+    },
+    "camelcase": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+      "dev": true
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "dev": true,
+      "requires": {
+        "camelcase": "2.1.1",
+        "map-obj": "1.0.1"
+      }
+    },
+    "caniuse-api": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+      "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+      "dev": true,
+      "requires": {
+        "browserslist": "1.7.7",
+        "caniuse-db": "1.0.30000697",
+        "lodash.memoize": "4.1.2",
+        "lodash.uniq": "4.5.0"
+      }
+    },
+    "caniuse-db": {
+      "version": "1.0.30000697",
+      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000697.tgz",
+      "integrity": "sha1-IM5qnO7vTvShXcjoDy6PuQSejXc=",
+      "dev": true
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "center-align": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4",
+        "lazy-cache": "1.0.4"
+      },
+      "dependencies": {
+        "lazy-cache": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+          "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+          "dev": true
+        }
+      }
+    },
+    "chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "2.2.1",
+        "escape-string-regexp": "1.0.5",
+        "has-ansi": "2.0.0",
+        "strip-ansi": "3.0.1",
+        "supports-color": "2.0.0"
+      },
+      "dependencies": {
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        }
+      }
+    },
+    "chokidar": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+      "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+      "dev": true,
+      "requires": {
+        "anymatch": "1.3.0",
+        "async-each": "1.0.1",
+        "glob-parent": "2.0.0",
+        "inherits": "2.0.3",
+        "is-binary-path": "1.0.1",
+        "is-glob": "2.0.1",
+        "path-is-absolute": "1.0.1",
+        "readdirp": "2.1.0"
+      }
+    },
+    "cipher-base": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+      "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "clap": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz",
+      "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3"
+      }
+    },
+    "clean-css": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.5.tgz",
+      "integrity": "sha1-0JqHoCpTdRF1iXlq52oGPKzbVBo=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.6"
+      }
+    },
+    "cli-cursor": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+      "dev": true,
+      "requires": {
+        "restore-cursor": "2.0.0"
+      }
+    },
+    "cli-width": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
+      "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=",
+      "dev": true
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wrap-ansi": "2.1.0"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        }
+      }
+    },
+    "clone": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+      "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+      "dev": true
+    },
+    "clone-deep": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz",
+      "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=",
+      "dev": true,
+      "requires": {
+        "for-own": "1.0.0",
+        "is-plain-object": "2.0.3",
+        "kind-of": "3.2.2",
+        "shallow-clone": "0.1.2"
+      }
+    },
+    "clone-stats": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+      "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+      "dev": true
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+      "dev": true
+    },
+    "coa": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.3.tgz",
+      "integrity": "sha1-G1Sl4dz3fJkEVdTe6pjFZEFtyJM=",
+      "dev": true,
+      "requires": {
+        "q": "1.5.0"
+      }
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+      "dev": true
+    },
+    "codelyzer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-3.0.1.tgz",
+      "integrity": "sha1-uma3sqpWT+n0XWAEtAA60s8RaCg=",
+      "dev": true,
+      "requires": {
+        "app-root-path": "2.0.1",
+        "css-selector-tokenizer": "0.7.0",
+        "cssauron": "1.4.0",
+        "semver-dsl": "1.0.1",
+        "source-map": "0.5.6",
+        "sprintf-js": "1.0.3"
+      }
+    },
+    "color": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+      "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+      "dev": true,
+      "requires": {
+        "clone": "1.0.2",
+        "color-convert": "1.9.0",
+        "color-string": "0.3.0"
+      }
+    },
+    "color-convert": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz",
+      "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=",
+      "dev": true,
+      "requires": {
+        "color-name": "1.1.2"
+      }
+    },
+    "color-name": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz",
+      "integrity": "sha1-XIq3K2S9IhXWF66VWeuxSEdc+Y0=",
+      "dev": true
+    },
+    "color-string": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+      "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+      "dev": true,
+      "requires": {
+        "color-name": "1.1.2"
+      }
+    },
+    "colormin": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+      "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+      "dev": true,
+      "requires": {
+        "color": "0.11.4",
+        "css-color-names": "0.0.4",
+        "has": "1.0.1"
+      }
+    },
+    "colors": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+      "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+      "dev": true
+    },
+    "combine-lists": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+      "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4"
+      }
+    },
+    "combined-stream": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+      "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+      "dev": true,
+      "requires": {
+        "delayed-stream": "1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+      "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+      "dev": true,
+      "requires": {
+        "graceful-readlink": "1.0.1"
+      }
+    },
+    "common-tags": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.4.0.tgz",
+      "integrity": "sha1-EYe+Tz1M8MBCfUP3Tu8fc1AWFMA=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.23.0"
+      }
+    },
+    "component-bind": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+      "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+      "dev": true
+    },
+    "component-emitter": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+      "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
+      "dev": true
+    },
+    "component-inherit": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+      "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+      "dev": true
+    },
+    "compressible": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz",
+      "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.27.0"
+      }
+    },
+    "compression": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz",
+      "integrity": "sha1-zOsSHsydCcUtetDDNQ6pPd1AK8M=",
+      "dev": true,
+      "requires": {
+        "accepts": "1.3.3",
+        "bytes": "2.3.0",
+        "compressible": "2.0.10",
+        "debug": "2.2.0",
+        "on-headers": "1.0.1",
+        "vary": "1.1.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+          "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.1"
+          }
+        },
+        "ms": {
+          "version": "0.7.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+          "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+          "dev": true
+        }
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "connect": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz",
+      "integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.7",
+        "finalhandler": "1.0.3",
+        "parseurl": "1.3.1",
+        "utils-merge": "1.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
+    "connect-history-api-fallback": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz",
+      "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=",
+      "dev": true
+    },
+    "console-browserify": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+      "dev": true,
+      "requires": {
+        "date-now": "0.1.4"
+      }
+    },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+      "dev": true
+    },
+    "constants-browserify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+      "dev": true
+    },
+    "content-disposition": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+      "dev": true
+    },
+    "content-type": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
+      "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=",
+      "dev": true
+    },
+    "convert-source-map": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz",
+      "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=",
+      "dev": true
+    },
+    "cookie": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+      "dev": true
+    },
+    "cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+      "dev": true
+    },
+    "core-js": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+      "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4="
+    },
+    "core-object": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.3.tgz",
+      "integrity": "sha1-3zmbMxG9sMkJ6Krokp/DwcSyWIA=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3"
+      }
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "cosmiconfig": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.1.3.tgz",
+      "integrity": "sha1-lSdx6w3dwcs/ovb75RpSLpOz7go=",
+      "dev": true,
+      "requires": {
+        "is-directory": "0.3.1",
+        "js-yaml": "3.7.0",
+        "minimist": "1.2.0",
+        "object-assign": "4.1.1",
+        "os-homedir": "1.0.2",
+        "parse-json": "2.2.0",
+        "require-from-string": "1.2.1"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "create-ecdh": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+      "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "elliptic": "6.4.0"
+      }
+    },
+    "create-hash": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+      "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
+      "dev": true,
+      "requires": {
+        "cipher-base": "1.0.3",
+        "inherits": "2.0.3",
+        "ripemd160": "2.0.1",
+        "sha.js": "2.4.8"
+      }
+    },
+    "create-hmac": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+      "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
+      "dev": true,
+      "requires": {
+        "cipher-base": "1.0.3",
+        "create-hash": "1.1.3",
+        "inherits": "2.0.3",
+        "ripemd160": "2.0.1",
+        "safe-buffer": "5.1.1",
+        "sha.js": "2.4.8"
+      }
+    },
+    "cross-spawn": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+      "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "lru-cache": "4.1.1",
+        "which": "1.2.14"
+      }
+    },
+    "cryptiles": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+      "dev": true,
+      "requires": {
+        "boom": "2.10.1"
+      }
+    },
+    "crypto-browserify": {
+      "version": "3.11.0",
+      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz",
+      "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=",
+      "dev": true,
+      "requires": {
+        "browserify-cipher": "1.0.0",
+        "browserify-sign": "4.0.4",
+        "create-ecdh": "4.0.0",
+        "create-hash": "1.1.3",
+        "create-hmac": "1.1.6",
+        "diffie-hellman": "5.0.2",
+        "inherits": "2.0.3",
+        "pbkdf2": "3.0.12",
+        "public-encrypt": "4.0.0",
+        "randombytes": "2.0.5"
+      }
+    },
+    "css-color-names": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+      "dev": true
+    },
+    "css-loader": {
+      "version": "0.28.4",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.4.tgz",
+      "integrity": "sha1-bPNXkZLONV6LONX0Ldeh8uyJjQ8=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.22.0",
+        "css-selector-tokenizer": "0.7.0",
+        "cssnano": "3.10.0",
+        "icss-utils": "2.1.0",
+        "loader-utils": "1.1.0",
+        "lodash.camelcase": "4.3.0",
+        "object-assign": "4.1.1",
+        "postcss": "5.2.17",
+        "postcss-modules-extract-imports": "1.1.0",
+        "postcss-modules-local-by-default": "1.2.0",
+        "postcss-modules-scope": "1.1.0",
+        "postcss-modules-values": "1.3.0",
+        "postcss-value-parser": "3.3.0",
+        "source-list-map": "0.1.8"
+      }
+    },
+    "css-parse": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
+      "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
+      "dev": true
+    },
+    "css-select": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+      "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+      "dev": true,
+      "requires": {
+        "boolbase": "1.0.0",
+        "css-what": "2.1.0",
+        "domutils": "1.5.1",
+        "nth-check": "1.0.1"
+      }
+    },
+    "css-selector-tokenizer": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+      "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+      "dev": true,
+      "requires": {
+        "cssesc": "0.1.0",
+        "fastparse": "1.1.1",
+        "regexpu-core": "1.0.0"
+      }
+    },
+    "css-what": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+      "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
+      "dev": true
+    },
+    "cssauron": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz",
+      "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
+      "dev": true,
+      "requires": {
+        "through": "2.3.8"
+      }
+    },
+    "cssesc": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+      "dev": true
+    },
+    "cssnano": {
+      "version": "3.10.0",
+      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+      "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+      "dev": true,
+      "requires": {
+        "autoprefixer": "6.7.7",
+        "decamelize": "1.2.0",
+        "defined": "1.0.0",
+        "has": "1.0.1",
+        "object-assign": "4.1.1",
+        "postcss": "5.2.17",
+        "postcss-calc": "5.3.1",
+        "postcss-colormin": "2.2.2",
+        "postcss-convert-values": "2.6.1",
+        "postcss-discard-comments": "2.0.4",
+        "postcss-discard-duplicates": "2.1.0",
+        "postcss-discard-empty": "2.1.0",
+        "postcss-discard-overridden": "0.1.1",
+        "postcss-discard-unused": "2.2.3",
+        "postcss-filter-plugins": "2.0.2",
+        "postcss-merge-idents": "2.1.7",
+        "postcss-merge-longhand": "2.0.2",
+        "postcss-merge-rules": "2.1.2",
+        "postcss-minify-font-values": "1.0.5",
+        "postcss-minify-gradients": "1.0.5",
+        "postcss-minify-params": "1.2.2",
+        "postcss-minify-selectors": "2.1.1",
+        "postcss-normalize-charset": "1.1.1",
+        "postcss-normalize-url": "3.0.8",
+        "postcss-ordered-values": "2.2.3",
+        "postcss-reduce-idents": "2.4.0",
+        "postcss-reduce-initial": "1.0.1",
+        "postcss-reduce-transforms": "1.0.4",
+        "postcss-svgo": "2.1.6",
+        "postcss-unique-selectors": "2.0.2",
+        "postcss-value-parser": "3.3.0",
+        "postcss-zindex": "2.2.0"
+      }
+    },
+    "csso": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+      "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+      "dev": true,
+      "requires": {
+        "clap": "1.2.0",
+        "source-map": "0.5.6"
+      }
+    },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "requires": {
+        "array-find-index": "1.0.2"
+      }
+    },
+    "custom-event": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+      "dev": true
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "date-now": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+      "dev": true
+    },
+    "dateformat": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+      "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+      "dev": true,
+      "requires": {
+        "get-stdin": "4.0.1",
+        "meow": "3.7.0"
+      }
+    },
+    "debug": {
+      "version": "2.6.8",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+      "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+      "dev": true,
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
+    },
+    "deep-is": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+      "dev": true
+    },
+    "defined": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+      "dev": true
+    },
+    "del": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+      "dev": true,
+      "requires": {
+        "globby": "5.0.0",
+        "is-path-cwd": "1.0.0",
+        "is-path-in-cwd": "1.0.0",
+        "object-assign": "4.1.1",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "rimraf": "2.6.1"
+      }
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+      "dev": true
+    },
+    "denodeify": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz",
+      "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=",
+      "dev": true
+    },
+    "depd": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+      "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=",
+      "dev": true
+    },
+    "des.js": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.0"
+      }
+    },
+    "destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+      "dev": true
+    },
+    "detect-indent": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "detect-node": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+      "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=",
+      "dev": true
+    },
+    "di": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+      "dev": true
+    },
+    "diff": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
+      "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
+      "dev": true
+    },
+    "diffie-hellman": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+      "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "miller-rabin": "4.0.0",
+        "randombytes": "2.0.5"
+      }
+    },
+    "directory-encoder": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/directory-encoder/-/directory-encoder-0.7.2.tgz",
+      "integrity": "sha1-WbTiqk8lQi9sY7UntGL14tDdLFg=",
+      "dev": true,
+      "requires": {
+        "fs-extra": "0.23.1",
+        "handlebars": "1.3.0",
+        "img-stats": "0.5.2"
+      },
+      "dependencies": {
+        "fs-extra": {
+          "version": "0.23.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.23.1.tgz",
+          "integrity": "sha1-ZhHbpq3yq43Jxp+rN83fiBgVfj0=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "jsonfile": "2.4.0",
+            "path-is-absolute": "1.0.1",
+            "rimraf": "2.6.1"
+          }
+        },
+        "jsonfile": {
+          "version": "2.4.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+          "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "4.1.11"
+          }
+        }
+      }
+    },
+    "dom-converter": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
+      "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
+      "dev": true,
+      "requires": {
+        "utila": "0.3.3"
+      },
+      "dependencies": {
+        "utila": {
+          "version": "0.3.3",
+          "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+          "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+          "dev": true
+        }
+      }
+    },
+    "dom-serialize": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+      "dev": true,
+      "requires": {
+        "custom-event": "1.0.1",
+        "ent": "2.2.0",
+        "extend": "3.0.1",
+        "void-elements": "2.0.1"
+      }
+    },
+    "dom-serializer": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+      "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.1.3",
+        "entities": "1.1.1"
+      },
+      "dependencies": {
+        "domelementtype": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+          "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+          "dev": true
+        }
+      }
+    },
+    "domain-browser": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+      "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
+      "dev": true
+    },
+    "domelementtype": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+      "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+      "dev": true
+    },
+    "domhandler": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
+      "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.3.0"
+      }
+    },
+    "domutils": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+      "dev": true,
+      "requires": {
+        "dom-serializer": "0.1.0",
+        "domelementtype": "1.3.0"
+      }
+    },
+    "duplexer2": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+      "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "1.1.14"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.1.14",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "ecc-jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "jsbn": "0.1.1"
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "electron-to-chromium": {
+      "version": "1.3.15",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz",
+      "integrity": "sha1-CDl5NIkcvPrrvRi4KpW1pIETg2k=",
+      "dev": true
+    },
+    "elliptic": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+      "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "brorand": "1.1.0",
+        "hash.js": "1.1.3",
+        "hmac-drbg": "1.0.1",
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.0",
+        "minimalistic-crypto-utils": "1.0.1"
+      }
+    },
+    "ember-cli-normalize-entity-name": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz",
+      "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=",
+      "dev": true,
+      "requires": {
+        "silent-error": "1.1.0"
+      }
+    },
+    "ember-cli-string-utils": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz",
+      "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=",
+      "dev": true
+    },
+    "emojis-list": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+      "dev": true
+    },
+    "encodeurl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+      "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+      "dev": true
+    },
+    "engine.io": {
+      "version": "1.8.3",
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
+      "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
+      "dev": true,
+      "requires": {
+        "accepts": "1.3.3",
+        "base64id": "1.0.0",
+        "cookie": "0.3.1",
+        "debug": "2.3.3",
+        "engine.io-parser": "1.3.2",
+        "ws": "1.1.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.3.3",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+          "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.2"
+          }
+        },
+        "ms": {
+          "version": "0.7.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+          "dev": true
+        }
+      }
+    },
+    "engine.io-client": {
+      "version": "1.8.3",
+      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
+      "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
+      "dev": true,
+      "requires": {
+        "component-emitter": "1.2.1",
+        "component-inherit": "0.0.3",
+        "debug": "2.3.3",
+        "engine.io-parser": "1.3.2",
+        "has-cors": "1.1.0",
+        "indexof": "0.0.1",
+        "parsejson": "0.0.3",
+        "parseqs": "0.0.5",
+        "parseuri": "0.0.5",
+        "ws": "1.1.2",
+        "xmlhttprequest-ssl": "1.5.3",
+        "yeast": "0.1.2"
+      },
+      "dependencies": {
+        "component-emitter": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+          "dev": true
+        },
+        "debug": {
+          "version": "2.3.3",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+          "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.2"
+          }
+        },
+        "ms": {
+          "version": "0.7.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+          "dev": true
+        }
+      }
+    },
+    "engine.io-parser": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+      "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+      "dev": true,
+      "requires": {
+        "after": "0.8.2",
+        "arraybuffer.slice": "0.0.6",
+        "base64-arraybuffer": "0.1.5",
+        "blob": "0.0.4",
+        "has-binary": "0.1.7",
+        "wtf-8": "1.0.0"
+      }
+    },
+    "enhanced-resolve": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz",
+      "integrity": "sha512-2qbxE7ek3YxPJ1ML6V+satHkzHpJQKWkRHmRx6mfAoW59yP8YH8BFplbegSP+u2hBd6B6KCOpvJQ3dZAP+hkpg==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "memory-fs": "0.4.1",
+        "object-assign": "4.1.1",
+        "tapable": "0.2.6"
+      }
+    },
+    "ensure-posix-path": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz",
+      "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI=",
+      "dev": true
+    },
+    "ent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+      "dev": true
+    },
+    "entities": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+      "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+      "dev": true
+    },
+    "errno": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
+      "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
+      "dev": true,
+      "requires": {
+        "prr": "0.0.0"
+      }
+    },
+    "error-ex": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+      "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "0.2.1"
+      }
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+      "dev": true
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
+    },
+    "escodegen": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+      "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+      "dev": true,
+      "requires": {
+        "esprima": "2.7.3",
+        "estraverse": "1.9.3",
+        "esutils": "2.0.2",
+        "optionator": "0.8.2",
+        "source-map": "0.2.0"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+          "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "esprima": {
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+      "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+      "dev": true
+    },
+    "estraverse": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+      "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+      "dev": true
+    },
+    "esutils": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
+    },
+    "etag": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
+      "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=",
+      "dev": true
+    },
+    "eventemitter3": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+      "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+      "dev": true
+    },
+    "events": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+      "dev": true
+    },
+    "eventsource": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
+      "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+      "dev": true,
+      "requires": {
+        "original": "1.0.0"
+      }
+    },
+    "evp_bytestokey": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
+      "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=",
+      "dev": true,
+      "requires": {
+        "create-hash": "1.1.3"
+      }
+    },
+    "exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+      "dev": true
+    },
+    "expand-braces": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+      "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+      "dev": true,
+      "requires": {
+        "array-slice": "0.2.3",
+        "array-unique": "0.2.1",
+        "braces": "0.1.5"
+      },
+      "dependencies": {
+        "braces": {
+          "version": "0.1.5",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+          "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+          "dev": true,
+          "requires": {
+            "expand-range": "0.1.1"
+          }
+        },
+        "expand-range": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+          "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+          "dev": true,
+          "requires": {
+            "is-number": "0.1.1",
+            "repeat-string": "0.2.2"
+          }
+        },
+        "is-number": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+          "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
+          "dev": true
+        },
+        "repeat-string": {
+          "version": "0.2.2",
+          "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+          "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
+          "dev": true
+        }
+      }
+    },
+    "expand-brackets": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+      "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+      "dev": true,
+      "requires": {
+        "is-posix-bracket": "0.1.1"
+      }
+    },
+    "expand-range": {
+      "version": "1.8.2",
+      "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+      "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+      "dev": true,
+      "requires": {
+        "fill-range": "2.2.3"
+      }
+    },
+    "exports-loader": {
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz",
+      "integrity": "sha1-1w/GEhl1s1/BKDDPUnVL4nQPyIY=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0",
+        "source-map": "0.5.6"
+      }
+    },
+    "express": {
+      "version": "4.15.3",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz",
+      "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=",
+      "dev": true,
+      "requires": {
+        "accepts": "1.3.3",
+        "array-flatten": "1.1.1",
+        "content-disposition": "0.5.2",
+        "content-type": "1.0.2",
+        "cookie": "0.3.1",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.7",
+        "depd": "1.1.0",
+        "encodeurl": "1.0.1",
+        "escape-html": "1.0.3",
+        "etag": "1.8.0",
+        "finalhandler": "1.0.3",
+        "fresh": "0.5.0",
+        "merge-descriptors": "1.0.1",
+        "methods": "1.1.2",
+        "on-finished": "2.3.0",
+        "parseurl": "1.3.1",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "1.1.4",
+        "qs": "6.4.0",
+        "range-parser": "1.2.0",
+        "send": "0.15.3",
+        "serve-static": "1.12.3",
+        "setprototypeof": "1.0.3",
+        "statuses": "1.3.1",
+        "type-is": "1.6.15",
+        "utils-merge": "1.0.0",
+        "vary": "1.1.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
+    "extend": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+      "dev": true
+    },
+    "external-editor": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz",
+      "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=",
+      "dev": true,
+      "requires": {
+        "iconv-lite": "0.4.18",
+        "jschardet": "1.4.2",
+        "tmp": "0.0.31"
+      }
+    },
+    "extglob": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+      "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+      "dev": true,
+      "requires": {
+        "is-extglob": "1.0.0"
+      }
+    },
+    "extract-text-webpack-plugin": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz",
+      "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=",
+      "dev": true,
+      "requires": {
+        "async": "2.5.0",
+        "loader-utils": "1.1.0",
+        "schema-utils": "0.3.0",
+        "webpack-sources": "1.0.1"
+      }
+    },
+    "extsprintf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+      "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
+      "dev": true
+    },
+    "fancy-log": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
+      "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "time-stamp": "1.1.0"
+      }
+    },
+    "fast-deep-equal": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-0.1.0.tgz",
+      "integrity": "sha1-XG9FmaumszPuM0Li7ZeGcvEAH40=",
+      "dev": true
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+      "dev": true
+    },
+    "fastparse": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
+      "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+      "dev": true
+    },
+    "faye-websocket": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+      "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+      "dev": true,
+      "requires": {
+        "websocket-driver": "0.6.5"
+      }
+    },
+    "figures": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+      "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "1.0.5"
+      }
+    },
+    "file-loader": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.1.tgz",
+      "integrity": "sha1-gVA0EZiR/GRB+1pkwRvJPCLd2EI=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0"
+      }
+    },
+    "file-saver": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz",
+      "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI="
+    },
+    "filename-regex": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+      "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+      "dev": true
+    },
+    "fill-range": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+      "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+      "dev": true,
+      "requires": {
+        "is-number": "2.1.0",
+        "isobject": "2.1.0",
+        "randomatic": "1.1.7",
+        "repeat-element": "1.1.2",
+        "repeat-string": "1.6.1"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+          "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+          "dev": true,
+          "requires": {
+            "isarray": "1.0.0"
+          }
+        }
+      }
+    },
+    "finalhandler": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz",
+      "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.7",
+        "encodeurl": "1.0.1",
+        "escape-html": "1.0.3",
+        "on-finished": "2.3.0",
+        "parseurl": "1.3.1",
+        "statuses": "1.3.1",
+        "unpipe": "1.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "dev": true,
+      "requires": {
+        "path-exists": "2.1.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "flatten": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+      "dev": true
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true
+    },
+    "for-own": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+      "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+      "dev": true,
+      "requires": {
+        "for-in": "1.0.2"
+      }
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
+    },
+    "form-data": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+      "dev": true,
+      "requires": {
+        "asynckit": "0.4.0",
+        "combined-stream": "1.0.5",
+        "mime-types": "2.1.15"
+      }
+    },
+    "forwarded": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz",
+      "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=",
+      "dev": true
+    },
+    "fresh": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
+      "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=",
+      "dev": true
+    },
+    "fs-access": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+      "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+      "dev": true,
+      "requires": {
+        "null-check": "1.0.0"
+      }
+    },
+    "fs-extra": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
+      "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "jsonfile": "3.0.0",
+        "universalify": "0.1.0"
+      }
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fstream": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "inherits": "2.0.3",
+        "mkdirp": "0.5.1",
+        "rimraf": "2.6.1"
+      }
+    },
+    "function-bind": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+      "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
+      "dev": true
+    },
+    "gauge": {
+      "version": "2.7.4",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+      "dev": true,
+      "requires": {
+        "aproba": "1.1.2",
+        "console-control-strings": "1.1.0",
+        "has-unicode": "2.0.1",
+        "object-assign": "4.1.1",
+        "signal-exit": "3.0.2",
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wide-align": "1.1.2"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        }
+      }
+    },
+    "gaze": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
+      "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "globule": "1.2.0"
+      }
+    },
+    "get-caller-file": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+      "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+      "dev": true
+    },
+    "get-stdin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+      "dev": true
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "glob": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+      "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "1.0.0",
+        "inflight": "1.0.6",
+        "inherits": "2.0.3",
+        "minimatch": "3.0.4",
+        "once": "1.4.0",
+        "path-is-absolute": "1.0.1"
+      }
+    },
+    "glob-base": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+      "dev": true,
+      "requires": {
+        "glob-parent": "2.0.0",
+        "is-glob": "2.0.1"
+      }
+    },
+    "glob-parent": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+      "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+      "dev": true,
+      "requires": {
+        "is-glob": "2.0.1"
+      }
+    },
+    "globals": {
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+      "dev": true
+    },
+    "globby": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+      "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+      "dev": true,
+      "requires": {
+        "array-union": "1.0.2",
+        "arrify": "1.0.1",
+        "glob": "7.1.2",
+        "object-assign": "4.1.1",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "globule": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
+      "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "glob": "7.1.2",
+        "lodash": "4.17.4",
+        "minimatch": "3.0.4"
+      }
+    },
+    "glogg": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
+      "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.0"
+      }
+    },
+    "graceful-fs": {
+      "version": "4.1.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+      "dev": true
+    },
+    "graceful-readlink": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+      "dev": true
+    },
+    "gulp-util": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+      "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=",
+      "dev": true,
+      "requires": {
+        "array-differ": "1.0.0",
+        "array-uniq": "1.0.3",
+        "beeper": "1.1.1",
+        "chalk": "1.1.3",
+        "dateformat": "1.0.12",
+        "fancy-log": "1.3.0",
+        "gulplog": "1.0.0",
+        "has-gulplog": "0.1.0",
+        "lodash._reescape": "3.0.0",
+        "lodash._reevaluate": "3.0.0",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.template": "3.6.2",
+        "minimist": "1.2.0",
+        "multipipe": "0.1.2",
+        "object-assign": "3.0.0",
+        "replace-ext": "0.0.1",
+        "through2": "2.0.1",
+        "vinyl": "0.5.3"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+          "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+          "dev": true
+        }
+      }
+    },
+    "gulplog": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+      "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+      "dev": true,
+      "requires": {
+        "glogg": "1.0.0"
+      }
+    },
+    "hammerjs": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+      "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
+    },
+    "handle-thing": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+      "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
+      "dev": true
+    },
+    "handlebars": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz",
+      "integrity": "sha1-npsTCpPjiUkTItl1zz7BgYw3zjQ=",
+      "dev": true,
+      "requires": {
+        "optimist": "0.3.7",
+        "uglify-js": "2.3.6"
+      },
+      "dependencies": {
+        "async": {
+          "version": "0.2.10",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+          "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+          "dev": true,
+          "optional": true
+        },
+        "source-map": {
+          "version": "0.1.43",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        },
+        "uglify-js": {
+          "version": "2.3.6",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz",
+          "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "async": "0.2.10",
+            "optimist": "0.3.7",
+            "source-map": "0.1.43"
+          }
+        }
+      }
+    },
+    "har-schema": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+      "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+      "dev": true
+    },
+    "har-validator": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+      "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+      "dev": true,
+      "requires": {
+        "ajv": "4.11.8",
+        "har-schema": "1.0.5"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "4.11.8",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+          "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+          "dev": true,
+          "requires": {
+            "co": "4.6.0",
+            "json-stable-stringify": "1.0.1"
+          }
+        }
+      }
+    },
+    "has": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+      "dev": true,
+      "requires": {
+        "function-bind": "1.1.0"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "has-binary": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+      "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
+      "dev": true,
+      "requires": {
+        "isarray": "0.0.1"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        }
+      }
+    },
+    "has-cors": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+      "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+      "dev": true
+    },
+    "has-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+      "dev": true
+    },
+    "has-gulplog": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+      "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.0"
+      }
+    },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+      "dev": true
+    },
+    "hash-base": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+      "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "hash.js": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
+      "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "minimalistic-assert": "1.0.0"
+      }
+    },
+    "hawk": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+      "dev": true,
+      "requires": {
+        "boom": "2.10.1",
+        "cryptiles": "2.0.5",
+        "hoek": "2.16.3",
+        "sntp": "1.0.9"
+      }
+    },
+    "he": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+      "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+      "dev": true
+    },
+    "heimdalljs": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.5.tgz",
+      "integrity": "sha1-aqVDCO7nk7ZCz/nPlHgURfN3MKw=",
+      "dev": true,
+      "requires": {
+        "rsvp": "3.2.1"
+      },
+      "dependencies": {
+        "rsvp": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz",
+          "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=",
+          "dev": true
+        }
+      }
+    },
+    "heimdalljs-logger": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmjs.org/heimdalljs-logger/-/heimdalljs-logger-0.1.9.tgz",
+      "integrity": "sha1-12raTkW3u294b8nAEKaOsuL68XY=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.8",
+        "heimdalljs": "0.2.5"
+      }
+    },
+    "hmac-drbg": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+      "dev": true,
+      "requires": {
+        "hash.js": "1.1.3",
+        "minimalistic-assert": "1.0.0",
+        "minimalistic-crypto-utils": "1.0.1"
+      }
+    },
+    "hoek": {
+      "version": "2.16.3",
+      "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+      "dev": true
+    },
+    "hosted-git-info": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+      "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+      "dev": true
+    },
+    "hpack.js": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "obuf": "1.1.1",
+        "readable-stream": "2.3.3",
+        "wbuf": "1.7.2"
+      }
+    },
+    "html-comment-regex": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+      "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+      "dev": true
+    },
+    "html-entities": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+      "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+      "dev": true
+    },
+    "html-minifier": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz",
+      "integrity": "sha1-1zvD/0SJQkCIGM5gm/P7DqfvTrc=",
+      "dev": true,
+      "requires": {
+        "camel-case": "3.0.0",
+        "clean-css": "4.1.5",
+        "commander": "2.9.0",
+        "he": "1.1.1",
+        "ncname": "1.0.0",
+        "param-case": "2.1.1",
+        "relateurl": "0.2.7",
+        "uglify-js": "3.0.23"
+      }
+    },
+    "html-webpack-plugin": {
+      "version": "2.29.0",
+      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz",
+      "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=",
+      "dev": true,
+      "requires": {
+        "bluebird": "3.5.0",
+        "html-minifier": "3.5.2",
+        "loader-utils": "0.2.17",
+        "lodash": "4.17.4",
+        "pretty-error": "2.1.1",
+        "toposort": "1.0.3"
+      },
+      "dependencies": {
+        "loader-utils": {
+          "version": "0.2.17",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+          "dev": true,
+          "requires": {
+            "big.js": "3.1.3",
+            "emojis-list": "2.1.0",
+            "json5": "0.5.1",
+            "object-assign": "4.1.1"
+          }
+        }
+      }
+    },
+    "htmlparser2": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
+      "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1.3.0",
+        "domhandler": "2.1.0",
+        "domutils": "1.1.6",
+        "readable-stream": "1.0.34"
+      },
+      "dependencies": {
+        "domutils": {
+          "version": "1.1.6",
+          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
+          "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
+          "dev": true,
+          "requires": {
+            "domelementtype": "1.3.0"
+          }
+        },
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "http-deceiver": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+      "dev": true
+    },
+    "http-errors": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
+      "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=",
+      "dev": true,
+      "requires": {
+        "depd": "1.1.0",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.0.3",
+        "statuses": "1.3.1"
+      }
+    },
+    "http-proxy": {
+      "version": "1.16.2",
+      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+      "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+      "dev": true,
+      "requires": {
+        "eventemitter3": "1.2.0",
+        "requires-port": "1.0.0"
+      }
+    },
+    "http-proxy-middleware": {
+      "version": "0.17.4",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz",
+      "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
+      "dev": true,
+      "requires": {
+        "http-proxy": "1.16.2",
+        "is-glob": "3.1.0",
+        "lodash": "4.17.4",
+        "micromatch": "2.3.11"
+      },
+      "dependencies": {
+        "is-extglob": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+          "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+          "dev": true
+        },
+        "is-glob": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "dev": true,
+          "requires": {
+            "is-extglob": "2.1.1"
+          }
+        }
+      }
+    },
+    "http-signature": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "0.2.0",
+        "jsprim": "1.4.0",
+        "sshpk": "1.13.1"
+      }
+    },
+    "https-browserify": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+      "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
+      "dev": true
+    },
+    "https-proxy-agent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+      "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+      "dev": true,
+      "requires": {
+        "agent-base": "2.1.1",
+        "debug": "2.6.8",
+        "extend": "3.0.1"
+      }
+    },
+    "iconv-lite": {
+      "version": "0.4.18",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz",
+      "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==",
+      "dev": true
+    },
+    "icss-replace-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+      "dev": true
+    },
+    "icss-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+      "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+      "dev": true,
+      "requires": {
+        "postcss": "6.0.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.1.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+          "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.0.1",
+            "source-map": "0.5.6",
+            "supports-color": "4.1.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.1.0.tgz",
+          "integrity": "sha1-kswUuz2tiSjKVlbDPhmhnyCvXHo=",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
+      }
+    },
+    "ieee754": {
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+      "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+      "dev": true
+    },
+    "image-size": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+      "dev": true,
+      "optional": true
+    },
+    "img-stats": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/img-stats/-/img-stats-0.5.2.tgz",
+      "integrity": "sha1-wgNJbELy2esuWrgjL6dWurMsnis=",
+      "dev": true,
+      "requires": {
+        "xmldom": "0.1.27"
+      }
+    },
+    "in-publish": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+      "dev": true,
+      "optional": true
+    },
+    "indent-string": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "indexes-of": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+      "dev": true
+    },
+    "indexof": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+      "dev": true
+    },
+    "inflection": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
+      "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
+      "dev": true
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "1.4.0",
+        "wrappy": "1.0.2"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "ini": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+      "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+      "dev": true
+    },
+    "inquirer": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.1.1.tgz",
+      "integrity": "sha512-H50sHQwgvvaTBd3HpKMVtL/u6LoHDvYym51gd7bGQe/+9HkCE+J0/3N5FJLfd6O6oz44hHewC2Pc2LodzWVafQ==",
+      "dev": true,
+      "requires": {
+        "ansi-escapes": "2.0.0",
+        "chalk": "1.1.3",
+        "cli-cursor": "2.1.0",
+        "cli-width": "2.1.0",
+        "external-editor": "2.0.4",
+        "figures": "2.0.0",
+        "lodash": "4.17.4",
+        "mute-stream": "0.0.7",
+        "run-async": "2.3.0",
+        "rx-lite": "4.0.8",
+        "rx-lite-aggregates": "4.0.8",
+        "string-width": "2.1.0",
+        "strip-ansi": "3.0.1",
+        "through": "2.3.8"
+      }
+    },
+    "interpret": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
+      "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=",
+      "dev": true
+    },
+    "invariant": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+      "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+      "dev": true,
+      "requires": {
+        "loose-envify": "1.3.1"
+      }
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+      "dev": true
+    },
+    "ipaddr.js": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz",
+      "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=",
+      "dev": true
+    },
+    "is-absolute-url": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+      "dev": true
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "is-binary-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
+      "requires": {
+        "binary-extensions": "1.8.0"
+      }
+    },
+    "is-buffer": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+      "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+      "dev": true
+    },
+    "is-builtin-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "dev": true,
+      "requires": {
+        "builtin-modules": "1.1.1"
+      }
+    },
+    "is-directory": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+      "dev": true
+    },
+    "is-dotfile": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+      "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+      "dev": true
+    },
+    "is-equal-shallow": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+      "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+      "dev": true,
+      "requires": {
+        "is-primitive": "2.0.0"
+      }
+    },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
+    },
+    "is-extglob": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+      "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+      "dev": true
+    },
+    "is-finite": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true
+    },
+    "is-glob": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+      "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+      "dev": true,
+      "requires": {
+        "is-extglob": "1.0.0"
+      }
+    },
+    "is-number": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      }
+    },
+    "is-path-cwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+      "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+      "dev": true
+    },
+    "is-path-in-cwd": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+      "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+      "dev": true,
+      "requires": {
+        "is-path-inside": "1.0.0"
+      }
+    },
+    "is-path-inside": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
+      "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+      "dev": true,
+      "requires": {
+        "path-is-inside": "1.0.2"
+      }
+    },
+    "is-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+      "dev": true
+    },
+    "is-plain-object": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.3.tgz",
+      "integrity": "sha1-wVvz5LZrYtcu+vKSWEhmPsvGGbY=",
+      "dev": true,
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "is-posix-bracket": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+      "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+      "dev": true
+    },
+    "is-primitive": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+      "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+      "dev": true
+    },
+    "is-promise": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+      "dev": true
+    },
+    "is-svg": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+      "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+      "dev": true,
+      "requires": {
+        "html-comment-regex": "1.1.1"
+      }
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+      "dev": true
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "isbinaryfile": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+      "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
+      "dev": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "istanbul": {
+      "version": "0.4.5",
+      "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+      "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1.0.9",
+        "async": "1.5.2",
+        "escodegen": "1.8.1",
+        "esprima": "2.7.3",
+        "glob": "5.0.15",
+        "handlebars": "4.0.10",
+        "js-yaml": "3.7.0",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6",
+        "once": "1.4.0",
+        "resolve": "1.1.7",
+        "supports-color": "3.2.3",
+        "which": "1.2.14",
+        "wordwrap": "1.0.0"
+      },
+      "dependencies": {
+        "abbrev": {
+          "version": "1.0.9",
+          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+          "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+          "dev": true
+        },
+        "async": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+          "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+          "dev": true
+        },
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+          "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+          "dev": true,
+          "optional": true
+        },
+        "cliui": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+          "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "center-align": "0.1.3",
+            "right-align": "0.1.3",
+            "wordwrap": "0.0.2"
+          },
+          "dependencies": {
+            "wordwrap": {
+              "version": "0.0.2",
+              "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+              "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "glob": {
+          "version": "5.0.15",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+          "dev": true,
+          "requires": {
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "handlebars": {
+          "version": "4.0.10",
+          "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
+          "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
+          "dev": true,
+          "requires": {
+            "async": "1.5.2",
+            "optimist": "0.6.1",
+            "source-map": "0.4.4",
+            "uglify-js": "2.8.29"
+          }
+        },
+        "nopt": {
+          "version": "3.0.6",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+          "dev": true,
+          "requires": {
+            "abbrev": "1.0.9"
+          }
+        },
+        "optimist": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+          "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8",
+            "wordwrap": "0.0.3"
+          },
+          "dependencies": {
+            "wordwrap": {
+              "version": "0.0.3",
+              "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+              "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+              "dev": true
+            }
+          }
+        },
+        "resolve": {
+          "version": "1.1.7",
+          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        },
+        "uglify-js": {
+          "version": "2.8.29",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+          "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "source-map": "0.5.6",
+            "uglify-to-browserify": "1.0.2",
+            "yargs": "3.10.0"
+          },
+          "dependencies": {
+            "source-map": {
+              "version": "0.5.6",
+              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+              "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "wordwrap": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+          "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+          "dev": true
+        },
+        "yargs": {
+          "version": "3.10.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+          "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "camelcase": "1.2.1",
+            "cliui": "2.1.0",
+            "decamelize": "1.2.0",
+            "window-size": "0.1.0"
+          }
+        }
+      }
+    },
+    "istanbul-instrumenter-loader": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-2.0.0.tgz",
+      "integrity": "sha1-5UkpAKsLuoNe+oAkywC+mz7qJwA=",
+      "dev": true,
+      "requires": {
+        "convert-source-map": "1.5.0",
+        "istanbul-lib-instrument": "1.7.3",
+        "loader-utils": "0.2.17",
+        "object-assign": "4.1.1"
+      },
+      "dependencies": {
+        "loader-utils": {
+          "version": "0.2.17",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+          "dev": true,
+          "requires": {
+            "big.js": "3.1.3",
+            "emojis-list": "2.1.0",
+            "json5": "0.5.1",
+            "object-assign": "4.1.1"
+          }
+        }
+      }
+    },
+    "istanbul-lib-coverage": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz",
+      "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==",
+      "dev": true
+    },
+    "istanbul-lib-instrument": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.3.tgz",
+      "integrity": "sha1-klsjkWPqvdaMxASPUsL6T4mez6c=",
+      "dev": true,
+      "requires": {
+        "babel-generator": "6.25.0",
+        "babel-template": "6.25.0",
+        "babel-traverse": "6.25.0",
+        "babel-types": "6.25.0",
+        "babylon": "6.17.4",
+        "istanbul-lib-coverage": "1.1.1",
+        "semver": "5.3.0"
+      }
+    },
+    "jasmine": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.6.0.tgz",
+      "integrity": "sha1-ayLnCIPo5YnUVjRhU7TSBt2+IX8=",
+      "dev": true,
+      "requires": {
+        "exit": "0.1.2",
+        "glob": "7.1.2",
+        "jasmine-core": "2.6.1"
+      }
+    },
+    "jasmine-core": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.6.1.tgz",
+      "integrity": "sha1-ZqYc3baZlY42E+3vNGyZb2MR/Ds=",
+      "dev": true
+    },
+    "jasmine-spec-reporter": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.1.0.tgz",
+      "integrity": "sha1-uKp1hN9Y5Nq2Gs2++3bQlqo4Zj8=",
+      "dev": true,
+      "requires": {
+        "colors": "1.1.2"
+      }
+    },
+    "jasminewd2": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.1.0.tgz",
+      "integrity": "sha1-2llSddGuYx3nNqwKfH2Fyfc+9lI=",
+      "dev": true
+    },
+    "js-base64": {
+      "version": "2.1.9",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+      "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=",
+      "dev": true
+    },
+    "js-tokens": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+      "dev": true
+    },
+    "js-yaml": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+      "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+      "dev": true,
+      "requires": {
+        "argparse": "1.0.9",
+        "esprima": "2.7.3"
+      }
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true,
+      "optional": true
+    },
+    "jschardet": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.4.2.tgz",
+      "integrity": "sha1-KqEH8UKvQSHRRWWdRPUIMJYeaZo=",
+      "dev": true
+    },
+    "jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+      "dev": true
+    },
+    "json-loader": {
+      "version": "0.5.4",
+      "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz",
+      "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=",
+      "dev": true
+    },
+    "json-schema": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
+    },
+    "json-schema-traverse": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+      "dev": true
+    },
+    "json-stable-stringify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+      "dev": true,
+      "requires": {
+        "jsonify": "0.0.0"
+      }
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "json3": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+      "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+      "dev": true
+    },
+    "json5": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+      "dev": true
+    },
+    "jsonfile": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.0.tgz",
+      "integrity": "sha1-kufHRE5f/V+jLmqa6LhQNN+DR9A=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11"
+      }
+    },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+      "dev": true
+    },
+    "jsprim": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+      "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.0.2",
+        "json-schema": "0.2.3",
+        "verror": "1.3.6"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "karma": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz",
+      "integrity": "sha1-b3oaQGRG+i4YfslTmGmPTO5HYmk=",
+      "dev": true,
+      "requires": {
+        "bluebird": "3.5.0",
+        "body-parser": "1.17.2",
+        "chokidar": "1.7.0",
+        "colors": "1.1.2",
+        "combine-lists": "1.0.1",
+        "connect": "3.6.2",
+        "core-js": "2.4.1",
+        "di": "0.0.1",
+        "dom-serialize": "2.2.1",
+        "expand-braces": "0.1.2",
+        "glob": "7.1.2",
+        "graceful-fs": "4.1.11",
+        "http-proxy": "1.16.2",
+        "isbinaryfile": "3.0.2",
+        "lodash": "3.10.1",
+        "log4js": "0.6.38",
+        "mime": "1.3.6",
+        "minimatch": "3.0.4",
+        "optimist": "0.6.1",
+        "qjobs": "1.1.5",
+        "range-parser": "1.2.0",
+        "rimraf": "2.6.1",
+        "safe-buffer": "5.1.1",
+        "socket.io": "1.7.3",
+        "source-map": "0.5.6",
+        "tmp": "0.0.31",
+        "useragent": "2.1.13"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "3.10.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+          "dev": true
+        },
+        "optimist": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+          "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8",
+            "wordwrap": "0.0.3"
+          }
+        }
+      }
+    },
+    "karma-chrome-launcher": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+      "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+      "dev": true,
+      "requires": {
+        "fs-access": "1.0.1",
+        "which": "1.2.14"
+      }
+    },
+    "karma-cli": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz",
+      "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=",
+      "dev": true,
+      "requires": {
+        "resolve": "1.3.3"
+      }
+    },
+    "karma-jasmine": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.0.tgz",
+      "integrity": "sha1-IuTAa/mhguUpTR9wXjczgRuBCs8=",
+      "dev": true
+    },
+    "karma-remap-istanbul": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/karma-remap-istanbul/-/karma-remap-istanbul-0.6.0.tgz",
+      "integrity": "sha1-l/O3cAZSVPm0ck8tm+SjouG69vw=",
+      "dev": true,
+      "requires": {
+        "istanbul": "0.4.5",
+        "remap-istanbul": "0.9.5"
+      }
+    },
+    "kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "requires": {
+        "is-buffer": "1.1.5"
+      }
+    },
+    "lazy-cache": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
+      "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=",
+      "dev": true
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "dev": true,
+      "requires": {
+        "invert-kv": "1.0.0"
+      }
+    },
+    "less": {
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz",
+      "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=",
+      "dev": true,
+      "requires": {
+        "errno": "0.1.4",
+        "graceful-fs": "4.1.11",
+        "image-size": "0.5.5",
+        "mime": "1.3.6",
+        "mkdirp": "0.5.1",
+        "promise": "7.3.1",
+        "request": "2.81.0",
+        "source-map": "0.5.6"
+      }
+    },
+    "less-loader": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.4.tgz",
+      "integrity": "sha1-tKjEOEPmXGfS6i6xRltcQjPVAGo=",
+      "dev": true,
+      "requires": {
+        "clone": "2.1.1",
+        "loader-utils": "1.1.0",
+        "pify": "2.3.0"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+          "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+          "dev": true
+        }
+      }
+    },
+    "levn": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2"
+      }
+    },
+    "license-webpack-plugin": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-0.4.3.tgz",
+      "integrity": "sha1-+diNTrwEQHoAYejMrCZXH4jlGhY=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1"
+      }
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "parse-json": "2.2.0",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "strip-bom": "2.0.0"
+      }
+    },
+    "loader-runner": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+      "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
+      "dev": true
+    },
+    "loader-utils": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+      "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+      "dev": true,
+      "requires": {
+        "big.js": "3.1.3",
+        "emojis-list": "2.1.0",
+        "json5": "0.5.1"
+      }
+    },
+    "lodash": {
+      "version": "4.17.4",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+      "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+      "dev": true
+    },
+    "lodash._basecopy": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+      "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+      "dev": true
+    },
+    "lodash._basetostring": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+      "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+      "dev": true
+    },
+    "lodash._basevalues": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+      "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+      "dev": true
+    },
+    "lodash._getnative": {
+      "version": "3.9.1",
+      "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+      "dev": true
+    },
+    "lodash._isiterateecall": {
+      "version": "3.0.9",
+      "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+      "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+      "dev": true
+    },
+    "lodash._reescape": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+      "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+      "dev": true
+    },
+    "lodash._reevaluate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+      "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+      "dev": true
+    },
+    "lodash._reinterpolate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+      "dev": true
+    },
+    "lodash._root": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+      "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+      "dev": true
+    },
+    "lodash.assign": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+      "dev": true,
+      "optional": true
+    },
+    "lodash.camelcase": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+      "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+      "dev": true
+    },
+    "lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+      "dev": true
+    },
+    "lodash.escape": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+      "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+      "dev": true,
+      "requires": {
+        "lodash._root": "3.0.1"
+      }
+    },
+    "lodash.isarguments": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+      "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+      "dev": true
+    },
+    "lodash.isarray": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+      "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+      "dev": true
+    },
+    "lodash.keys": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+      "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+      "dev": true,
+      "requires": {
+        "lodash._getnative": "3.9.1",
+        "lodash.isarguments": "3.1.0",
+        "lodash.isarray": "3.0.4"
+      }
+    },
+    "lodash.memoize": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+      "dev": true
+    },
+    "lodash.mergewith": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
+      "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=",
+      "dev": true,
+      "optional": true
+    },
+    "lodash.restparam": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+      "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+      "dev": true
+    },
+    "lodash.tail": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+      "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+      "dev": true
+    },
+    "lodash.template": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+      "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+      "dev": true,
+      "requires": {
+        "lodash._basecopy": "3.0.1",
+        "lodash._basetostring": "3.0.1",
+        "lodash._basevalues": "3.0.0",
+        "lodash._isiterateecall": "3.0.9",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0",
+        "lodash.keys": "3.1.2",
+        "lodash.restparam": "3.6.1",
+        "lodash.templatesettings": "3.1.1"
+      }
+    },
+    "lodash.templatesettings": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+      "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+      "dev": true,
+      "requires": {
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0"
+      }
+    },
+    "lodash.uniq": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+      "dev": true
+    },
+    "log4js": {
+      "version": "0.6.38",
+      "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+      "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "1.0.34",
+        "semver": "4.3.6"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "semver": {
+          "version": "4.3.6",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+          "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+          "dev": true
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "longest": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+      "dev": true
+    },
+    "loose-envify": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+      "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+      "dev": true,
+      "requires": {
+        "js-tokens": "3.0.2"
+      }
+    },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "dev": true,
+      "requires": {
+        "currently-unhandled": "0.4.1",
+        "signal-exit": "3.0.2"
+      }
+    },
+    "lower-case": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+      "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+      "dev": true
+    },
+    "lru-cache": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+      "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "pseudomap": "1.0.2",
+        "yallist": "2.1.2"
+      }
+    },
+    "macaddress": {
+      "version": "0.2.8",
+      "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
+      "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
+      "dev": true
+    },
+    "magic-string": {
+      "version": "0.19.1",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz",
+      "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=",
+      "dev": true,
+      "requires": {
+        "vlq": "0.2.2"
+      }
+    },
+    "make-error": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz",
+      "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
+      "dev": true
+    },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+      "dev": true
+    },
+    "matcher-collection": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.4.tgz",
+      "integrity": "sha1-L2auCGmZbynkPQtiyD3R1D5YF1U=",
+      "dev": true,
+      "requires": {
+        "minimatch": "3.0.4"
+      }
+    },
+    "math-expression-evaluator": {
+      "version": "1.2.17",
+      "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+      "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+      "dev": true
+    },
+    "md2": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/md2/-/md2-0.0.29.tgz",
+      "integrity": "sha512-wYy/gs92vkewX9dclSe5Q/r8hqO7qLYmduAfCNbgFYhGykrjLRuc55J/OliPeBRYpQHMs4H3RyHat8VAHPVNaQ=="
+    },
+    "media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+      "dev": true
+    },
+    "memory-fs": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+      "dev": true,
+      "requires": {
+        "errno": "0.1.4",
+        "readable-stream": "2.3.3"
+      }
+    },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "dev": true,
+      "requires": {
+        "camelcase-keys": "2.1.0",
+        "decamelize": "1.2.0",
+        "loud-rejection": "1.6.0",
+        "map-obj": "1.0.1",
+        "minimist": "1.2.0",
+        "normalize-package-data": "2.4.0",
+        "object-assign": "4.1.1",
+        "read-pkg-up": "1.0.1",
+        "redent": "1.0.0",
+        "trim-newlines": "1.0.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+      "dev": true
+    },
+    "methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+      "dev": true
+    },
+    "micromatch": {
+      "version": "2.3.11",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+      "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+      "dev": true,
+      "requires": {
+        "arr-diff": "2.0.0",
+        "array-unique": "0.2.1",
+        "braces": "1.8.5",
+        "expand-brackets": "0.1.5",
+        "extglob": "0.3.2",
+        "filename-regex": "2.0.1",
+        "is-extglob": "1.0.0",
+        "is-glob": "2.0.1",
+        "kind-of": "3.2.2",
+        "normalize-path": "2.1.1",
+        "object.omit": "2.0.1",
+        "parse-glob": "3.0.4",
+        "regex-cache": "0.4.3"
+      }
+    },
+    "miller-rabin": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz",
+      "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "brorand": "1.1.0"
+      }
+    },
+    "mime": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
+      "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
+      "dev": true
+    },
+    "mime-db": {
+      "version": "1.27.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
+      "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
+      "dev": true
+    },
+    "mime-types": {
+      "version": "2.1.15",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+      "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.27.0"
+      }
+    },
+    "mimic-fn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
+      "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+      "dev": true
+    },
+    "minimalistic-assert": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+      "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
+      "dev": true
+    },
+    "minimalistic-crypto-utils": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+      "dev": true
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "1.1.8"
+      }
+    },
+    "minimist": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
+    },
+    "mixin-object": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+      "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+      "dev": true,
+      "requires": {
+        "for-in": "0.1.8",
+        "is-extendable": "0.1.1"
+      },
+      "dependencies": {
+        "for-in": {
+          "version": "0.1.8",
+          "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+          "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
+          "dev": true
+        }
+      }
+    },
+    "mkdirp": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
+      "requires": {
+        "minimist": "0.0.8"
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "multipipe": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+      "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+      "dev": true,
+      "requires": {
+        "duplexer2": "0.0.2"
+      }
+    },
+    "mute-stream": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+      "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+      "dev": true
+    },
+    "nan": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
+      "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
+      "dev": true,
+      "optional": true
+    },
+    "ncname": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz",
+      "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=",
+      "dev": true,
+      "requires": {
+        "xml-char-classes": "1.0.0"
+      }
+    },
+    "negotiator": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+      "dev": true
+    },
+    "no-case": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.1.tgz",
+      "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=",
+      "dev": true,
+      "requires": {
+        "lower-case": "1.1.4"
+      }
+    },
+    "node-gyp": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz",
+      "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "fstream": "1.0.11",
+        "glob": "7.1.2",
+        "graceful-fs": "4.1.11",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6",
+        "npmlog": "4.1.2",
+        "osenv": "0.1.4",
+        "request": "2.81.0",
+        "rimraf": "2.6.1",
+        "semver": "5.3.0",
+        "tar": "2.2.1",
+        "which": "1.2.14"
+      },
+      "dependencies": {
+        "nopt": {
+          "version": "3.0.6",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "abbrev": "1.1.0"
+          }
+        }
+      }
+    },
+    "node-libs-browser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz",
+      "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=",
+      "dev": true,
+      "requires": {
+        "assert": "1.4.1",
+        "browserify-zlib": "0.1.4",
+        "buffer": "4.9.1",
+        "console-browserify": "1.1.0",
+        "constants-browserify": "1.0.0",
+        "crypto-browserify": "3.11.0",
+        "domain-browser": "1.1.7",
+        "events": "1.1.1",
+        "https-browserify": "0.0.1",
+        "os-browserify": "0.2.1",
+        "path-browserify": "0.0.0",
+        "process": "0.11.10",
+        "punycode": "1.4.1",
+        "querystring-es3": "0.2.1",
+        "readable-stream": "2.3.3",
+        "stream-browserify": "2.0.1",
+        "stream-http": "2.7.2",
+        "string_decoder": "0.10.31",
+        "timers-browserify": "2.0.2",
+        "tty-browserify": "0.0.0",
+        "url": "0.11.0",
+        "util": "0.10.3",
+        "vm-browserify": "0.0.4"
+      },
+      "dependencies": {
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "node-modules-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.1.tgz",
+      "integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=",
+      "dev": true
+    },
+    "node-sass": {
+      "version": "4.5.3",
+      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz",
+      "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "async-foreach": "0.1.3",
+        "chalk": "1.1.3",
+        "cross-spawn": "3.0.1",
+        "gaze": "1.1.2",
+        "get-stdin": "4.0.1",
+        "glob": "7.1.2",
+        "in-publish": "2.0.0",
+        "lodash.assign": "4.2.0",
+        "lodash.clonedeep": "4.5.0",
+        "lodash.mergewith": "4.6.0",
+        "meow": "3.7.0",
+        "mkdirp": "0.5.1",
+        "nan": "2.6.2",
+        "node-gyp": "3.6.2",
+        "npmlog": "4.1.2",
+        "request": "2.81.0",
+        "sass-graph": "2.2.4",
+        "stdout-stream": "1.4.0"
+      }
+    },
+    "nopt": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+      "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1.1.0",
+        "osenv": "0.1.4"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "2.5.0",
+        "is-builtin-module": "1.0.0",
+        "semver": "5.3.0",
+        "validate-npm-package-license": "3.0.1"
+      }
+    },
+    "normalize-path": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
+      "requires": {
+        "remove-trailing-separator": "1.0.2"
+      }
+    },
+    "normalize-range": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+      "dev": true
+    },
+    "normalize-url": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1",
+        "prepend-http": "1.0.4",
+        "query-string": "4.3.4",
+        "sort-keys": "1.1.2"
+      }
+    },
+    "npmlog": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+      "dev": true,
+      "requires": {
+        "are-we-there-yet": "1.1.4",
+        "console-control-strings": "1.1.0",
+        "gauge": "2.7.4",
+        "set-blocking": "2.0.0"
+      }
+    },
+    "nth-check": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+      "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+      "dev": true,
+      "requires": {
+        "boolbase": "1.0.0"
+      }
+    },
+    "null-check": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+      "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+      "dev": true
+    },
+    "num2fraction": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+      "dev": true
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true
+    },
+    "oauth-sign": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+      "dev": true
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
+    },
+    "object-component": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+      "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+      "dev": true
+    },
+    "object.omit": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+      "dev": true,
+      "requires": {
+        "for-own": "0.1.5",
+        "is-extendable": "0.1.1"
+      },
+      "dependencies": {
+        "for-own": {
+          "version": "0.1.5",
+          "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+          "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+          "dev": true,
+          "requires": {
+            "for-in": "1.0.2"
+          }
+        }
+      }
+    },
+    "obuf": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
+      "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=",
+      "dev": true
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "dev": true,
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "on-headers": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+      "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
+      "dev": true
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "requires": {
+        "wrappy": "1.0.2"
+      }
+    },
+    "onetime": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+      "dev": true,
+      "requires": {
+        "mimic-fn": "1.1.0"
+      }
+    },
+    "opn": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
+      "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "optimist": {
+      "version": "0.3.7",
+      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+      "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
+      "dev": true,
+      "requires": {
+        "wordwrap": "0.0.3"
+      }
+    },
+    "optionator": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+      "dev": true,
+      "requires": {
+        "deep-is": "0.1.3",
+        "fast-levenshtein": "2.0.6",
+        "levn": "0.3.0",
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2",
+        "wordwrap": "1.0.0"
+      },
+      "dependencies": {
+        "wordwrap": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+          "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+          "dev": true
+        }
+      }
+    },
+    "options": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
+      "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
+      "dev": true
+    },
+    "original": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz",
+      "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=",
+      "dev": true,
+      "requires": {
+        "url-parse": "1.0.5"
+      },
+      "dependencies": {
+        "url-parse": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz",
+          "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=",
+          "dev": true,
+          "requires": {
+            "querystringify": "0.0.4",
+            "requires-port": "1.0.0"
+          }
+        }
+      }
+    },
+    "os-browserify": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+      "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
+      "dev": true
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+      "dev": true
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "dev": true,
+      "requires": {
+        "lcid": "1.0.0"
+      }
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "osenv": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+      "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+      "dev": true,
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "pako": {
+      "version": "0.2.9",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+      "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+      "dev": true
+    },
+    "param-case": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+      "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+      "dev": true,
+      "requires": {
+        "no-case": "2.3.1"
+      }
+    },
+    "parse-asn1": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+      "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
+      "dev": true,
+      "requires": {
+        "asn1.js": "4.9.1",
+        "browserify-aes": "1.0.6",
+        "create-hash": "1.1.3",
+        "evp_bytestokey": "1.0.0",
+        "pbkdf2": "3.0.12"
+      }
+    },
+    "parse-glob": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+      "dev": true,
+      "requires": {
+        "glob-base": "0.3.0",
+        "is-dotfile": "1.0.3",
+        "is-extglob": "1.0.0",
+        "is-glob": "2.0.1"
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "dev": true,
+      "requires": {
+        "error-ex": "1.3.1"
+      }
+    },
+    "parse5": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz",
+      "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=",
+      "requires": {
+        "@types/node": "6.0.79"
+      },
+      "dependencies": {
+        "@types/node": {
+          "version": "6.0.79",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.79.tgz",
+          "integrity": "sha512-7F3/P6MkTPA0QxOstRqfcnoReCUy5V/QG92cyBoZSPnqdX44L8TtNELSVfN56gAttm3YWj9cEi8FRIPVq0WmeQ=="
+        }
+      }
+    },
+    "parsejson": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
+      "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+      "dev": true,
+      "requires": {
+        "better-assert": "1.0.2"
+      }
+    },
+    "parseqs": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+      "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+      "dev": true,
+      "requires": {
+        "better-assert": "1.0.2"
+      }
+    },
+    "parseuri": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+      "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+      "dev": true,
+      "requires": {
+        "better-assert": "1.0.2"
+      }
+    },
+    "parseurl": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+      "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=",
+      "dev": true
+    },
+    "path-browserify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+      "dev": true
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "dev": true,
+      "requires": {
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-is-inside": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+      "dev": true
+    },
+    "path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+      "dev": true
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "pbkdf2": {
+      "version": "3.0.12",
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz",
+      "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=",
+      "dev": true,
+      "requires": {
+        "create-hash": "1.1.3",
+        "create-hmac": "1.1.6",
+        "ripemd160": "2.0.1",
+        "safe-buffer": "5.1.1",
+        "sha.js": "2.4.8"
+      }
+    },
+    "performance-now": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+      "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+      "dev": true
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "portfinder": {
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz",
+      "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=",
+      "dev": true,
+      "requires": {
+        "async": "1.5.2",
+        "debug": "2.6.8",
+        "mkdirp": "0.5.1"
+      },
+      "dependencies": {
+        "async": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+          "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+          "dev": true
+        }
+      }
+    },
+    "postcss": {
+      "version": "5.2.17",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+      "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "js-base64": "2.1.9",
+        "source-map": "0.5.6",
+        "supports-color": "3.2.3"
+      }
+    },
+    "postcss-calc": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+      "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "postcss-message-helpers": "2.0.0",
+        "reduce-css-calc": "1.3.0"
+      }
+    },
+    "postcss-colormin": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+      "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+      "dev": true,
+      "requires": {
+        "colormin": "1.1.2",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-convert-values": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+      "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-discard-comments": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+      "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-discard-duplicates": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+      "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-discard-empty": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+      "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-discard-overridden": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+      "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-discard-unused": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+      "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-filter-plugins": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+      "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "uniqid": "4.1.1"
+      }
+    },
+    "postcss-load-config": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
+      "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+      "dev": true,
+      "requires": {
+        "cosmiconfig": "2.1.3",
+        "object-assign": "4.1.1",
+        "postcss-load-options": "1.2.0",
+        "postcss-load-plugins": "2.3.0"
+      }
+    },
+    "postcss-load-options": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
+      "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+      "dev": true,
+      "requires": {
+        "cosmiconfig": "2.1.3",
+        "object-assign": "4.1.1"
+      }
+    },
+    "postcss-load-plugins": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
+      "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+      "dev": true,
+      "requires": {
+        "cosmiconfig": "2.1.3",
+        "object-assign": "4.1.1"
+      }
+    },
+    "postcss-loader": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-1.3.3.tgz",
+      "integrity": "sha1-piHqH6KQYqg5cqRvVEhncTAZFus=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0",
+        "object-assign": "4.1.1",
+        "postcss": "5.2.17",
+        "postcss-load-config": "1.2.0"
+      }
+    },
+    "postcss-merge-idents": {
+      "version": "2.1.7",
+      "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+      "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+      "dev": true,
+      "requires": {
+        "has": "1.0.1",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-merge-longhand": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+      "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-merge-rules": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+      "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+      "dev": true,
+      "requires": {
+        "browserslist": "1.7.7",
+        "caniuse-api": "1.6.1",
+        "postcss": "5.2.17",
+        "postcss-selector-parser": "2.2.3",
+        "vendors": "1.0.1"
+      }
+    },
+    "postcss-message-helpers": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+      "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+      "dev": true
+    },
+    "postcss-minify-font-values": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+      "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-minify-gradients": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+      "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-minify-params": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+      "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+      "dev": true,
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-minify-selectors": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+      "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+      "dev": true,
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "has": "1.0.1",
+        "postcss": "5.2.17",
+        "postcss-selector-parser": "2.2.3"
+      }
+    },
+    "postcss-modules-extract-imports": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz",
+      "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+      "dev": true,
+      "requires": {
+        "postcss": "6.0.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.1.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+          "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.0.1",
+            "source-map": "0.5.6",
+            "supports-color": "4.1.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.1.0.tgz",
+          "integrity": "sha1-kswUuz2tiSjKVlbDPhmhnyCvXHo=",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
+      }
+    },
+    "postcss-modules-local-by-default": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+      "dev": true,
+      "requires": {
+        "css-selector-tokenizer": "0.7.0",
+        "postcss": "6.0.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.1.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+          "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.0.1",
+            "source-map": "0.5.6",
+            "supports-color": "4.1.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.1.0.tgz",
+          "integrity": "sha1-kswUuz2tiSjKVlbDPhmhnyCvXHo=",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
+      }
+    },
+    "postcss-modules-scope": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+      "dev": true,
+      "requires": {
+        "css-selector-tokenizer": "0.7.0",
+        "postcss": "6.0.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.1.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+          "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.0.1",
+            "source-map": "0.5.6",
+            "supports-color": "4.1.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.1.0.tgz",
+          "integrity": "sha1-kswUuz2tiSjKVlbDPhmhnyCvXHo=",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
+      }
+    },
+    "postcss-modules-values": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+      "dev": true,
+      "requires": {
+        "icss-replace-symbols": "1.1.0",
+        "postcss": "6.0.6"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+          "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+          "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.1.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.1.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "postcss": {
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+          "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+          "dev": true,
+          "requires": {
+            "chalk": "2.0.1",
+            "source-map": "0.5.6",
+            "supports-color": "4.1.0"
+          }
+        },
+        "supports-color": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.1.0.tgz",
+          "integrity": "sha1-kswUuz2tiSjKVlbDPhmhnyCvXHo=",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
+          }
+        }
+      }
+    },
+    "postcss-normalize-charset": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+      "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-normalize-url": {
+      "version": "3.0.8",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+      "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+      "dev": true,
+      "requires": {
+        "is-absolute-url": "2.1.0",
+        "normalize-url": "1.9.1",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-ordered-values": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+      "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-reduce-idents": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+      "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-reduce-initial": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+      "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+      "dev": true,
+      "requires": {
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-reduce-transforms": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+      "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+      "dev": true,
+      "requires": {
+        "has": "1.0.1",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0"
+      }
+    },
+    "postcss-selector-parser": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+      "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+      "dev": true,
+      "requires": {
+        "flatten": "1.0.2",
+        "indexes-of": "1.0.1",
+        "uniq": "1.0.1"
+      }
+    },
+    "postcss-svgo": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+      "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+      "dev": true,
+      "requires": {
+        "is-svg": "2.1.0",
+        "postcss": "5.2.17",
+        "postcss-value-parser": "3.3.0",
+        "svgo": "0.7.2"
+      }
+    },
+    "postcss-unique-selectors": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+      "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+      "dev": true,
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "postcss": "5.2.17",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-url": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-5.1.2.tgz",
+      "integrity": "sha1-mLMWW+jVkkccsMqt3iwNH4MvEz4=",
+      "dev": true,
+      "requires": {
+        "directory-encoder": "0.7.2",
+        "js-base64": "2.1.9",
+        "mime": "1.3.6",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.1",
+        "path-is-absolute": "1.0.1",
+        "postcss": "5.2.17"
+      }
+    },
+    "postcss-value-parser": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+      "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+      "dev": true
+    },
+    "postcss-zindex": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+      "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+      "dev": true,
+      "requires": {
+        "has": "1.0.1",
+        "postcss": "5.2.17",
+        "uniqs": "2.0.0"
+      }
+    },
+    "prelude-ls": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+      "dev": true
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+      "dev": true
+    },
+    "preserve": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+      "dev": true
+    },
+    "pretty-error": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
+      "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+      "dev": true,
+      "requires": {
+        "renderkid": "2.0.1",
+        "utila": "0.4.0"
+      }
+    },
+    "process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+      "dev": true
+    },
+    "process-nextick-args": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+      "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+      "dev": true
+    },
+    "promise": {
+      "version": "7.3.1",
+      "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asap": "2.0.5"
+      }
+    },
+    "protractor": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.1.2.tgz",
+      "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=",
+      "dev": true,
+      "requires": {
+        "@types/node": "6.0.79",
+        "@types/q": "0.0.32",
+        "@types/selenium-webdriver": "2.53.42",
+        "blocking-proxy": "0.0.5",
+        "chalk": "1.1.3",
+        "glob": "7.1.2",
+        "jasmine": "2.6.0",
+        "jasminewd2": "2.1.0",
+        "optimist": "0.6.1",
+        "q": "1.4.1",
+        "saucelabs": "1.3.0",
+        "selenium-webdriver": "3.0.1",
+        "source-map-support": "0.4.15",
+        "webdriver-js-extender": "1.0.0",
+        "webdriver-manager": "12.0.6"
+      },
+      "dependencies": {
+        "@types/node": {
+          "version": "6.0.79",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.79.tgz",
+          "integrity": "sha512-7F3/P6MkTPA0QxOstRqfcnoReCUy5V/QG92cyBoZSPnqdX44L8TtNELSVfN56gAttm3YWj9cEi8FRIPVq0WmeQ==",
+          "dev": true
+        },
+        "optimist": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+          "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8",
+            "wordwrap": "0.0.3"
+          }
+        },
+        "q": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+          "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
+          "dev": true
+        },
+        "webdriver-manager": {
+          "version": "12.0.6",
+          "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.0.6.tgz",
+          "integrity": "sha1-PfGkgZdwELTL+MnYXHpXeCjA5ws=",
+          "dev": true,
+          "requires": {
+            "adm-zip": "0.4.7",
+            "chalk": "1.1.3",
+            "del": "2.2.2",
+            "glob": "7.1.2",
+            "ini": "1.3.4",
+            "minimist": "1.2.0",
+            "q": "1.4.1",
+            "request": "2.81.0",
+            "rimraf": "2.6.1",
+            "semver": "5.3.0",
+            "xml2js": "0.4.17"
+          },
+          "dependencies": {
+            "minimist": {
+              "version": "1.2.0",
+              "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+              "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+              "dev": true
+            }
+          }
+        }
+      }
+    },
+    "proxy-addr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz",
+      "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=",
+      "dev": true,
+      "requires": {
+        "forwarded": "0.1.0",
+        "ipaddr.js": "1.3.0"
+      }
+    },
+    "prr": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+      "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+      "dev": true
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+      "dev": true,
+      "optional": true
+    },
+    "public-encrypt": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+      "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+      "dev": true,
+      "requires": {
+        "bn.js": "4.11.7",
+        "browserify-rsa": "4.0.1",
+        "create-hash": "1.1.3",
+        "parse-asn1": "5.1.0",
+        "randombytes": "2.0.5"
+      }
+    },
+    "punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "q": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
+      "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=",
+      "dev": true
+    },
+    "qjobs": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz",
+      "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=",
+      "dev": true
+    },
+    "qs": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+      "dev": true
+    },
+    "query-string": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1",
+        "strict-uri-encode": "1.1.0"
+      }
+    },
+    "querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+      "dev": true
+    },
+    "querystring-es3": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+      "dev": true
+    },
+    "querystringify": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz",
+      "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=",
+      "dev": true
+    },
+    "randomatic": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+      "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
+      "dev": true,
+      "requires": {
+        "is-number": "3.0.0",
+        "kind-of": "4.0.0"
+      },
+      "dependencies": {
+        "is-number": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+          "dev": true,
+          "requires": {
+            "kind-of": "3.2.2"
+          },
+          "dependencies": {
+            "kind-of": {
+              "version": "3.2.2",
+              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+              "dev": true,
+              "requires": {
+                "is-buffer": "1.1.5"
+              }
+            }
+          }
+        },
+        "kind-of": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.5"
+          }
+        }
+      }
+    },
+    "randombytes": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz",
+      "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.1"
+      }
+    },
+    "range-parser": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+      "dev": true
+    },
+    "raw-body": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
+      "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=",
+      "dev": true,
+      "requires": {
+        "bytes": "2.4.0",
+        "iconv-lite": "0.4.15",
+        "unpipe": "1.0.0"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "2.4.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
+          "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
+          "dev": true
+        },
+        "iconv-lite": {
+          "version": "0.4.15",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
+          "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
+          "dev": true
+        }
+      }
+    },
+    "raw-loader": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
+      "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
+      "dev": true
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "dev": true,
+      "requires": {
+        "load-json-file": "1.1.0",
+        "normalize-package-data": "2.4.0",
+        "path-type": "1.1.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "dev": true,
+      "requires": {
+        "find-up": "1.1.2",
+        "read-pkg": "1.1.0"
+      }
+    },
+    "readable-stream": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
+      "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
+      "dev": true,
+      "requires": {
+        "core-util-is": "1.0.2",
+        "inherits": "2.0.3",
+        "isarray": "1.0.0",
+        "process-nextick-args": "1.0.7",
+        "safe-buffer": "5.1.1",
+        "string_decoder": "1.0.3",
+        "util-deprecate": "1.0.2"
+      }
+    },
+    "readdirp": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+      "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "minimatch": "3.0.4",
+        "readable-stream": "2.3.3",
+        "set-immediate-shim": "1.0.1"
+      }
+    },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "dev": true,
+      "requires": {
+        "indent-string": "2.1.0",
+        "strip-indent": "1.0.1"
+      }
+    },
+    "reduce-css-calc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+      "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+      "dev": true,
+      "requires": {
+        "balanced-match": "0.4.2",
+        "math-expression-evaluator": "1.2.17",
+        "reduce-function-call": "1.0.2"
+      }
+    },
+    "reduce-function-call": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+      "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+      "dev": true,
+      "requires": {
+        "balanced-match": "0.4.2"
+      }
+    },
+    "reflect-metadata": {
+      "version": "0.1.10",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz",
+      "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=",
+      "dev": true
+    },
+    "regenerate": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+      "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=",
+      "dev": true
+    },
+    "regenerator-runtime": {
+      "version": "0.10.5",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+      "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+      "dev": true
+    },
+    "regex-cache": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+      "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+      "dev": true,
+      "requires": {
+        "is-equal-shallow": "0.1.3",
+        "is-primitive": "2.0.0"
+      }
+    },
+    "regexpu-core": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+      "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+      "dev": true,
+      "requires": {
+        "regenerate": "1.3.2",
+        "regjsgen": "0.2.0",
+        "regjsparser": "0.1.5"
+      }
+    },
+    "regjsgen": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+      "dev": true
+    },
+    "regjsparser": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "dev": true,
+      "requires": {
+        "jsesc": "0.5.0"
+      }
+    },
+    "relateurl": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+      "dev": true
+    },
+    "remap-istanbul": {
+      "version": "0.9.5",
+      "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.9.5.tgz",
+      "integrity": "sha1-oYYXsfMe7Fp9vud1OCmLd1YGqqg=",
+      "dev": true,
+      "requires": {
+        "amdefine": "1.0.1",
+        "gulp-util": "3.0.7",
+        "istanbul": "0.4.5",
+        "minimatch": "3.0.4",
+        "source-map": "0.5.6",
+        "through2": "2.0.1"
+      }
+    },
+    "remove-trailing-separator": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz",
+      "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=",
+      "dev": true
+    },
+    "renderkid": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
+      "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
+      "dev": true,
+      "requires": {
+        "css-select": "1.2.0",
+        "dom-converter": "0.1.4",
+        "htmlparser2": "3.3.0",
+        "strip-ansi": "3.0.1",
+        "utila": "0.3.3"
+      },
+      "dependencies": {
+        "utila": {
+          "version": "0.3.3",
+          "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+          "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+          "dev": true
+        }
+      }
+    },
+    "repeat-element": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+      "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+      "dev": true
+    },
+    "repeat-string": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
+    },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dev": true,
+      "requires": {
+        "is-finite": "1.0.2"
+      }
+    },
+    "replace-ext": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+      "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+      "dev": true
+    },
+    "request": {
+      "version": "2.81.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+      "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+      "dev": true,
+      "requires": {
+        "aws-sign2": "0.6.0",
+        "aws4": "1.6.0",
+        "caseless": "0.12.0",
+        "combined-stream": "1.0.5",
+        "extend": "3.0.1",
+        "forever-agent": "0.6.1",
+        "form-data": "2.1.4",
+        "har-validator": "4.2.1",
+        "hawk": "3.1.3",
+        "http-signature": "1.1.1",
+        "is-typedarray": "1.0.0",
+        "isstream": "0.1.2",
+        "json-stringify-safe": "5.0.1",
+        "mime-types": "2.1.15",
+        "oauth-sign": "0.8.2",
+        "performance-now": "0.2.0",
+        "qs": "6.4.0",
+        "safe-buffer": "5.1.1",
+        "stringstream": "0.0.5",
+        "tough-cookie": "2.3.2",
+        "tunnel-agent": "0.6.0",
+        "uuid": "3.1.0"
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true
+    },
+    "require-from-string": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+      "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+      "dev": true
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "dev": true
+    },
+    "requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+      "dev": true
+    },
+    "resolve": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz",
+      "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=",
+      "dev": true,
+      "requires": {
+        "path-parse": "1.0.5"
+      }
+    },
+    "restore-cursor": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+      "dev": true,
+      "requires": {
+        "onetime": "2.0.1",
+        "signal-exit": "3.0.2"
+      }
+    },
+    "right-align": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4"
+      }
+    },
+    "rimraf": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+      "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.2"
+      }
+    },
+    "ripemd160": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+      "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
+      "dev": true,
+      "requires": {
+        "hash-base": "2.0.2",
+        "inherits": "2.0.3"
+      }
+    },
+    "rsvp": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.0.tgz",
+      "integrity": "sha1-Zm3/+nFffhDu929NHlb7JWb85cM=",
+      "dev": true
+    },
+    "run-async": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+      "dev": true,
+      "requires": {
+        "is-promise": "2.1.0"
+      }
+    },
+    "rx-lite": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+      "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
+      "dev": true
+    },
+    "rx-lite-aggregates": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
+      "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+      "dev": true,
+      "requires": {
+        "rx-lite": "4.0.8"
+      }
+    },
+    "rxjs": {
+      "version": "5.5.11",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz",
+      "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==",
+      "requires": {
+        "symbol-observable": "1.0.1"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+      "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+      "dev": true
+    },
+    "sass-graph": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "glob": "7.1.2",
+        "lodash": "4.17.4",
+        "scss-tokenizer": "0.2.3",
+        "yargs": "7.1.0"
+      }
+    },
+    "sass-loader": {
+      "version": "6.0.6",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz",
+      "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==",
+      "dev": true,
+      "requires": {
+        "async": "2.5.0",
+        "clone-deep": "0.3.0",
+        "loader-utils": "1.1.0",
+        "lodash.tail": "4.1.1",
+        "pify": "3.0.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        }
+      }
+    },
+    "saucelabs": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.3.0.tgz",
+      "integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=",
+      "dev": true,
+      "requires": {
+        "https-proxy-agent": "1.0.0"
+      }
+    },
+    "sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true
+    },
+    "schema-utils": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+      "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+      "dev": true,
+      "requires": {
+        "ajv": "5.2.0"
+      }
+    },
+    "script-loader": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.0.tgz",
+      "integrity": "sha1-aF3H5waeDe56kmdPDrxbD1W6pew=",
+      "dev": true,
+      "requires": {
+        "raw-loader": "0.5.1"
+      }
+    },
+    "scss-tokenizer": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "js-base64": "2.1.9",
+        "source-map": "0.4.4"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "select-hose": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+      "dev": true
+    },
+    "selenium-webdriver": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz",
+      "integrity": "sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c=",
+      "dev": true,
+      "requires": {
+        "adm-zip": "0.4.7",
+        "rimraf": "2.6.1",
+        "tmp": "0.0.30",
+        "xml2js": "0.4.17"
+      },
+      "dependencies": {
+        "tmp": {
+          "version": "0.0.30",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+          "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
+          "dev": true,
+          "requires": {
+            "os-tmpdir": "1.0.2"
+          }
+        }
+      }
+    },
+    "semver": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+      "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+      "dev": true
+    },
+    "semver-dsl": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz",
+      "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=",
+      "dev": true,
+      "requires": {
+        "semver": "5.3.0"
+      }
+    },
+    "send": {
+      "version": "0.15.3",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz",
+      "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.7",
+        "depd": "1.1.0",
+        "destroy": "1.0.4",
+        "encodeurl": "1.0.1",
+        "escape-html": "1.0.3",
+        "etag": "1.8.0",
+        "fresh": "0.5.0",
+        "http-errors": "1.6.1",
+        "mime": "1.3.4",
+        "ms": "2.0.0",
+        "on-finished": "2.3.0",
+        "range-parser": "1.2.0",
+        "statuses": "1.3.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "mime": {
+          "version": "1.3.4",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+          "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
+          "dev": true
+        }
+      }
+    },
+    "serve-index": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.0.tgz",
+      "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=",
+      "dev": true,
+      "requires": {
+        "accepts": "1.3.3",
+        "batch": "0.6.1",
+        "debug": "2.6.8",
+        "escape-html": "1.0.3",
+        "http-errors": "1.6.1",
+        "mime-types": "2.1.15",
+        "parseurl": "1.3.1"
+      }
+    },
+    "serve-static": {
+      "version": "1.12.3",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz",
+      "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=",
+      "dev": true,
+      "requires": {
+        "encodeurl": "1.0.1",
+        "escape-html": "1.0.3",
+        "parseurl": "1.3.1",
+        "send": "0.15.3"
+      }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "set-immediate-shim": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+      "dev": true
+    },
+    "setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+      "dev": true
+    },
+    "setprototypeof": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+      "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+      "dev": true
+    },
+    "sha.js": {
+      "version": "2.4.8",
+      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz",
+      "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "shallow-clone": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
+      "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
+      "dev": true,
+      "requires": {
+        "is-extendable": "0.1.1",
+        "kind-of": "2.0.1",
+        "lazy-cache": "0.2.7",
+        "mixin-object": "2.0.1"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
+          "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
+          "dev": true,
+          "requires": {
+            "is-buffer": "1.1.5"
+          }
+        }
+      }
+    },
+    "signal-exit": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+      "dev": true
+    },
+    "silent-error": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz",
+      "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.8"
+      }
+    },
+    "sntp": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+      "dev": true,
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "socket.io": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
+      "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
+      "dev": true,
+      "requires": {
+        "debug": "2.3.3",
+        "engine.io": "1.8.3",
+        "has-binary": "0.1.7",
+        "object-assign": "4.1.0",
+        "socket.io-adapter": "0.5.0",
+        "socket.io-client": "1.7.3",
+        "socket.io-parser": "2.3.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.3.3",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+          "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.2"
+          }
+        },
+        "ms": {
+          "version": "0.7.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+          "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
+          "dev": true
+        }
+      }
+    },
+    "socket.io-adapter": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
+      "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
+      "dev": true,
+      "requires": {
+        "debug": "2.3.3",
+        "socket.io-parser": "2.3.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.3.3",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+          "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.2"
+          }
+        },
+        "ms": {
+          "version": "0.7.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+          "dev": true
+        }
+      }
+    },
+    "socket.io-client": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
+      "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
+      "dev": true,
+      "requires": {
+        "backo2": "1.0.2",
+        "component-bind": "1.0.0",
+        "component-emitter": "1.2.1",
+        "debug": "2.3.3",
+        "engine.io-client": "1.8.3",
+        "has-binary": "0.1.7",
+        "indexof": "0.0.1",
+        "object-component": "0.0.3",
+        "parseuri": "0.0.5",
+        "socket.io-parser": "2.3.1",
+        "to-array": "0.1.4"
+      },
+      "dependencies": {
+        "component-emitter": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+          "dev": true
+        },
+        "debug": {
+          "version": "2.3.3",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+          "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.2"
+          }
+        },
+        "ms": {
+          "version": "0.7.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+          "dev": true
+        }
+      }
+    },
+    "socket.io-parser": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
+      "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
+      "dev": true,
+      "requires": {
+        "component-emitter": "1.1.2",
+        "debug": "2.2.0",
+        "isarray": "0.0.1",
+        "json3": "3.3.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+          "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+          "dev": true,
+          "requires": {
+            "ms": "0.7.1"
+          }
+        },
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "ms": {
+          "version": "0.7.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+          "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+          "dev": true
+        }
+      }
+    },
+    "sockjs": {
+      "version": "0.3.18",
+      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz",
+      "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=",
+      "dev": true,
+      "requires": {
+        "faye-websocket": "0.10.0",
+        "uuid": "2.0.3"
+      },
+      "dependencies": {
+        "uuid": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+          "dev": true
+        }
+      }
+    },
+    "sockjs-client": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.2.tgz",
+      "integrity": "sha1-8CEqhVDkyUaMjM6u79LjSTwDOtU=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.8",
+        "eventsource": "0.1.6",
+        "faye-websocket": "0.11.1",
+        "inherits": "2.0.3",
+        "json3": "3.3.2",
+        "url-parse": "1.1.9"
+      },
+      "dependencies": {
+        "faye-websocket": {
+          "version": "0.11.1",
+          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+          "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+          "dev": true,
+          "requires": {
+            "websocket-driver": "0.6.5"
+          }
+        }
+      }
+    },
+    "sort-keys": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "dev": true,
+      "requires": {
+        "is-plain-obj": "1.1.0"
+      }
+    },
+    "source-list-map": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+      "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+      "dev": true
+    },
+    "source-map": {
+      "version": "0.5.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+      "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+      "dev": true
+    },
+    "source-map-loader": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.1.tgz",
+      "integrity": "sha1-SBJr6SML1H+tBeRqjDwuPS2r5Qc=",
+      "dev": true,
+      "requires": {
+        "async": "0.9.2",
+        "loader-utils": "0.2.17",
+        "source-map": "0.1.43"
+      },
+      "dependencies": {
+        "async": {
+          "version": "0.9.2",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+          "dev": true
+        },
+        "loader-utils": {
+          "version": "0.2.17",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+          "dev": true,
+          "requires": {
+            "big.js": "3.1.3",
+            "emojis-list": "2.1.0",
+            "json5": "0.5.1",
+            "object-assign": "4.1.1"
+          }
+        },
+        "source-map": {
+          "version": "0.1.43",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "source-map-support": {
+      "version": "0.4.15",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
+      "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.6"
+      }
+    },
+    "sparkles": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
+      "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
+      "dev": true
+    },
+    "spdx-correct": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+      "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+      "dev": true,
+      "requires": {
+        "spdx-license-ids": "1.2.2"
+      }
+    },
+    "spdx-expression-parse": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+      "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+      "dev": true
+    },
+    "spdx-license-ids": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+      "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+      "dev": true
+    },
+    "spdy": {
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+      "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.8",
+        "handle-thing": "1.2.5",
+        "http-deceiver": "1.2.7",
+        "safe-buffer": "5.1.1",
+        "select-hose": "2.0.0",
+        "spdy-transport": "2.0.20"
+      }
+    },
+    "spdy-transport": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz",
+      "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.8",
+        "detect-node": "2.0.3",
+        "hpack.js": "2.1.6",
+        "obuf": "1.1.1",
+        "readable-stream": "2.3.3",
+        "safe-buffer": "5.1.1",
+        "wbuf": "1.7.2"
+      }
+    },
+    "sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "sshpk": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+      "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+      "dev": true,
+      "requires": {
+        "asn1": "0.2.3",
+        "assert-plus": "1.0.0",
+        "bcrypt-pbkdf": "1.0.1",
+        "dashdash": "1.14.1",
+        "ecc-jsbn": "0.1.1",
+        "getpass": "0.1.7",
+        "jsbn": "0.1.1",
+        "tweetnacl": "0.14.5"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "statuses": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+      "dev": true
+    },
+    "stdout-stream": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
+      "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "readable-stream": "2.3.3"
+      }
+    },
+    "stream-browserify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.3"
+      }
+    },
+    "stream-http": {
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
+      "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==",
+      "dev": true,
+      "requires": {
+        "builtin-status-codes": "3.0.0",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.3",
+        "to-arraybuffer": "1.0.1",
+        "xtend": "4.0.1"
+      }
+    },
+    "strict-uri-encode": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+      "dev": true
+    },
+    "string_decoder": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+      "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.1"
+      }
+    },
+    "string-width": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz",
+      "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=",
+      "dev": true,
+      "requires": {
+        "is-fullwidth-code-point": "2.0.0",
+        "strip-ansi": "4.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "3.0.0"
+          }
+        }
+      }
+    },
+    "stringstream": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+      "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+      "dev": true
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "strip-bom": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "dev": true,
+      "requires": {
+        "is-utf8": "0.2.1"
+      }
+    },
+    "strip-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "dev": true,
+      "requires": {
+        "get-stdin": "4.0.1"
+      }
+    },
+    "strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true
+    },
+    "style-loader": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz",
+      "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0"
+      }
+    },
+    "stylus": {
+      "version": "0.54.5",
+      "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz",
+      "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
+      "dev": true,
+      "requires": {
+        "css-parse": "1.7.0",
+        "debug": "2.6.8",
+        "glob": "7.0.6",
+        "mkdirp": "0.5.1",
+        "sax": "0.5.8",
+        "source-map": "0.1.43"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.0.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
+          "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "1.0.0",
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        },
+        "sax": {
+          "version": "0.5.8",
+          "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
+          "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.1.43",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "stylus-loader": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.1.tgz",
+      "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0",
+        "lodash.clonedeep": "4.5.0",
+        "when": "3.6.4"
+      }
+    },
+    "supports-color": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+      "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+      "dev": true,
+      "requires": {
+        "has-flag": "1.0.0"
+      }
+    },
+    "svgo": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+      "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+      "dev": true,
+      "requires": {
+        "coa": "1.0.3",
+        "colors": "1.1.2",
+        "csso": "2.3.2",
+        "js-yaml": "3.7.0",
+        "mkdirp": "0.5.1",
+        "sax": "1.2.4",
+        "whet.extend": "0.9.9"
+      }
+    },
+    "symbol-observable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
+      "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
+    },
+    "tapable": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz",
+      "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=",
+      "dev": true
+    },
+    "tar": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "block-stream": "0.0.9",
+        "fstream": "1.0.11",
+        "inherits": "2.0.3"
+      }
+    },
+    "temp": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
+      "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=",
+      "dev": true,
+      "requires": {
+        "os-tmpdir": "1.0.2",
+        "rimraf": "2.2.8"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.2.8",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+          "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
+          "dev": true
+        }
+      }
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
+    },
+    "through2": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz",
+      "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.0.6",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "1.0.0",
+            "process-nextick-args": "1.0.7",
+            "string_decoder": "0.10.31",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "time-stamp": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+      "dev": true
+    },
+    "timers-browserify": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz",
+      "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=",
+      "dev": true,
+      "requires": {
+        "setimmediate": "1.0.5"
+      }
+    },
+    "tmp": {
+      "version": "0.0.31",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
+      "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+      "dev": true,
+      "requires": {
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "to-array": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+      "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
+      "dev": true
+    },
+    "to-arraybuffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+      "dev": true
+    },
+    "to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+      "dev": true
+    },
+    "toposort": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.3.tgz",
+      "integrity": "sha1-8CzYp0vYvi/A6YYRw7rLlaFxhpw=",
+      "dev": true
+    },
+    "tough-cookie": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+      "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+      "dev": true,
+      "requires": {
+        "punycode": "1.4.1"
+      }
+    },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+      "dev": true
+    },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+      "dev": true
+    },
+    "ts-helpers": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/ts-helpers/-/ts-helpers-1.1.2.tgz",
+      "integrity": "sha1-/Gm+nx87rtAfsaDvjUz+dIgU2DU="
+    },
+    "ts-node": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.0.4.tgz",
+      "integrity": "sha1-oUdevyT9Ti7i+6ixqhYFuXe95QY=",
+      "dev": true,
+      "requires": {
+        "arrify": "1.0.1",
+        "chalk": "1.1.3",
+        "diff": "3.2.0",
+        "make-error": "1.3.0",
+        "minimist": "1.2.0",
+        "mkdirp": "0.5.1",
+        "source-map-support": "0.4.15",
+        "tsconfig": "6.0.0",
+        "v8flags": "2.1.1",
+        "yn": "1.3.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "tsconfig": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-6.0.0.tgz",
+      "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=",
+      "dev": true,
+      "requires": {
+        "strip-bom": "3.0.0",
+        "strip-json-comments": "2.0.1"
+      },
+      "dependencies": {
+        "strip-bom": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+          "dev": true
+        }
+      }
+    },
+    "tsickle": {
+      "version": "0.21.6",
+      "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz",
+      "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=",
+      "dev": true,
+      "requires": {
+        "minimist": "1.2.0",
+        "mkdirp": "0.5.1",
+        "source-map": "0.5.6",
+        "source-map-support": "0.4.15"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "tslib": {
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz",
+      "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw="
+    },
+    "tslint": {
+      "version": "5.4.3",
+      "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.4.3.tgz",
+      "integrity": "sha1-dhyEArgONHt3M6BDkKdXslNYBGc=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.22.0",
+        "colors": "1.1.2",
+        "commander": "2.9.0",
+        "diff": "3.2.0",
+        "glob": "7.1.2",
+        "minimatch": "3.0.4",
+        "resolve": "1.3.3",
+        "semver": "5.3.0",
+        "tslib": "1.7.1",
+        "tsutils": "2.5.1"
+      }
+    },
+    "tsutils": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.5.1.tgz",
+      "integrity": "sha1-wgATkMee7Bpcz6esEtWZY5aD4M8=",
+      "dev": true,
+      "requires": {
+        "tslib": "1.7.1"
+      }
+    },
+    "tty-browserify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+      "dev": true
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.1"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true,
+      "optional": true
+    },
+    "type-check": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "1.1.2"
+      }
+    },
+    "type-is": {
+      "version": "1.6.15",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
+      "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+      "dev": true,
+      "requires": {
+        "media-typer": "0.3.0",
+        "mime-types": "2.1.15"
+      }
+    },
+    "typescript": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz",
+      "integrity": "sha1-PTgyGCgjHkNPKHUUlZw3qCtin0I=",
+      "dev": true
+    },
+    "uglify-js": {
+      "version": "3.0.23",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.23.tgz",
+      "integrity": "sha512-miLHbO2QcdQGxL/q1wLcUr6TGIRHhMnpKyywUbAdZRkJMqCeZCDmBsgYu1Wlj26xHBXN+sU5tHaWh38QsN208g==",
+      "dev": true,
+      "requires": {
+        "commander": "2.9.0",
+        "source-map": "0.5.6"
+      }
+    },
+    "uglify-to-browserify": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+      "dev": true,
+      "optional": true
+    },
+    "ultron": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
+      "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
+      "dev": true
+    },
+    "uniq": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+      "dev": true
+    },
+    "uniqid": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+      "dev": true,
+      "requires": {
+        "macaddress": "0.2.8"
+      }
+    },
+    "uniqs": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+      "dev": true
+    },
+    "universalify": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.0.tgz",
+      "integrity": "sha1-nrHEZR3rzGcMyU8adXYjMruWd3g=",
+      "dev": true
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+      "dev": true
+    },
+    "upper-case": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+      "dev": true
+    },
+    "url": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "dev": true,
+      "requires": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "1.3.2",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+          "dev": true
+        }
+      }
+    },
+    "url-loader": {
+      "version": "0.5.9",
+      "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz",
+      "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.1.0",
+        "mime": "1.3.6"
+      }
+    },
+    "url-parse": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz",
+      "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=",
+      "dev": true,
+      "requires": {
+        "querystringify": "1.0.0",
+        "requires-port": "1.0.0"
+      },
+      "dependencies": {
+        "querystringify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
+          "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=",
+          "dev": true
+        }
+      }
+    },
+    "user-home": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
+      "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
+      "dev": true
+    },
+    "useragent": {
+      "version": "2.1.13",
+      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.1.13.tgz",
+      "integrity": "sha1-u6Q+iqJNXOuDwpN0c+EC4h33TBA=",
+      "dev": true,
+      "requires": {
+        "lru-cache": "2.2.4",
+        "tmp": "0.0.31"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "2.2.4",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
+          "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
+          "dev": true
+        }
+      }
+    },
+    "util": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.1"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+          "dev": true
+        }
+      }
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "utila": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+      "dev": true
+    },
+    "utils-merge": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+      "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+      "dev": true
+    },
+    "uuid": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+      "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
+      "dev": true
+    },
+    "v8flags": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+      "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
+      "dev": true,
+      "requires": {
+        "user-home": "1.1.1"
+      }
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+      "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+      "dev": true,
+      "requires": {
+        "spdx-correct": "1.0.2",
+        "spdx-expression-parse": "1.0.4"
+      }
+    },
+    "vary": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz",
+      "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=",
+      "dev": true
+    },
+    "vendors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
+      "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
+      "dev": true
+    },
+    "verror": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+      "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+      "dev": true,
+      "requires": {
+        "extsprintf": "1.0.2"
+      }
+    },
+    "vinyl": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+      "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+      "dev": true,
+      "requires": {
+        "clone": "1.0.2",
+        "clone-stats": "0.0.1",
+        "replace-ext": "0.0.1"
+      }
+    },
+    "vlq": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.2.tgz",
+      "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=",
+      "dev": true
+    },
+    "vm-browserify": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+      "dev": true,
+      "requires": {
+        "indexof": "0.0.1"
+      }
+    },
+    "void-elements": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+      "dev": true
+    },
+    "walk-sync": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz",
+      "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==",
+      "dev": true,
+      "requires": {
+        "ensure-posix-path": "1.0.2",
+        "matcher-collection": "1.0.4"
+      }
+    },
+    "watchpack": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.3.1.tgz",
+      "integrity": "sha1-fYaTkHsozmAT5/NhCqKhrPB9rYc=",
+      "dev": true,
+      "requires": {
+        "async": "2.5.0",
+        "chokidar": "1.7.0",
+        "graceful-fs": "4.1.11"
+      }
+    },
+    "wbuf": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz",
+      "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=",
+      "dev": true,
+      "requires": {
+        "minimalistic-assert": "1.0.0"
+      }
+    },
+    "webdriver-js-extender": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-1.0.0.tgz",
+      "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=",
+      "dev": true,
+      "requires": {
+        "@types/selenium-webdriver": "2.53.42",
+        "selenium-webdriver": "2.53.3"
+      },
+      "dependencies": {
+        "adm-zip": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz",
+          "integrity": "sha1-ph7VrmkFw66lizplfSUDMJEFJzY=",
+          "dev": true
+        },
+        "sax": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz",
+          "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=",
+          "dev": true
+        },
+        "selenium-webdriver": {
+          "version": "2.53.3",
+          "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz",
+          "integrity": "sha1-0p/1qVff8aG0ncRXdW5OS/vc4IU=",
+          "dev": true,
+          "requires": {
+            "adm-zip": "0.4.4",
+            "rimraf": "2.6.1",
+            "tmp": "0.0.24",
+            "ws": "1.1.2",
+            "xml2js": "0.4.4"
+          }
+        },
+        "tmp": {
+          "version": "0.0.24",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz",
+          "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=",
+          "dev": true
+        },
+        "xml2js": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz",
+          "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=",
+          "dev": true,
+          "requires": {
+            "sax": "0.6.1",
+            "xmlbuilder": "4.2.1"
+          }
+        }
+      }
+    },
+    "webpack": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.4.1.tgz",
+      "integrity": "sha1-FakdvjSWbYpLmcfWVu/ZKi5ab2o=",
+      "dev": true,
+      "requires": {
+        "acorn": "5.1.1",
+        "acorn-dynamic-import": "2.0.2",
+        "ajv": "4.11.8",
+        "ajv-keywords": "1.5.1",
+        "async": "2.5.0",
+        "enhanced-resolve": "3.3.0",
+        "interpret": "1.0.3",
+        "json-loader": "0.5.4",
+        "json5": "0.5.1",
+        "loader-runner": "2.3.0",
+        "loader-utils": "0.2.17",
+        "memory-fs": "0.4.1",
+        "mkdirp": "0.5.1",
+        "node-libs-browser": "2.0.0",
+        "source-map": "0.5.6",
+        "supports-color": "3.2.3",
+        "tapable": "0.2.6",
+        "uglify-js": "2.8.29",
+        "watchpack": "1.3.1",
+        "webpack-sources": "0.2.3",
+        "yargs": "6.6.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "4.11.8",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+          "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+          "dev": true,
+          "requires": {
+            "co": "4.6.0",
+            "json-stable-stringify": "1.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+          "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+          "dev": true
+        },
+        "cliui": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+          "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+          "dev": true,
+          "requires": {
+            "center-align": "0.1.3",
+            "right-align": "0.1.3",
+            "wordwrap": "0.0.2"
+          }
+        },
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "loader-utils": {
+          "version": "0.2.17",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+          "dev": true,
+          "requires": {
+            "big.js": "3.1.3",
+            "emojis-list": "2.1.0",
+            "json5": "0.5.1",
+            "object-assign": "4.1.1"
+          }
+        },
+        "source-list-map": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz",
+          "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=",
+          "dev": true
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        },
+        "uglify-js": {
+          "version": "2.8.29",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+          "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+          "dev": true,
+          "requires": {
+            "source-map": "0.5.6",
+            "uglify-to-browserify": "1.0.2",
+            "yargs": "3.10.0"
+          },
+          "dependencies": {
+            "yargs": {
+              "version": "3.10.0",
+              "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+              "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+              "dev": true,
+              "requires": {
+                "camelcase": "1.2.1",
+                "cliui": "2.1.0",
+                "decamelize": "1.2.0",
+                "window-size": "0.1.0"
+              }
+            }
+          }
+        },
+        "webpack-sources": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz",
+          "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=",
+          "dev": true,
+          "requires": {
+            "source-list-map": "1.1.2",
+            "source-map": "0.5.6"
+          }
+        },
+        "wordwrap": {
+          "version": "0.0.2",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+          "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+          "dev": true
+        },
+        "yargs": {
+          "version": "6.6.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+          "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+          "dev": true,
+          "requires": {
+            "camelcase": "3.0.0",
+            "cliui": "3.2.0",
+            "decamelize": "1.2.0",
+            "get-caller-file": "1.0.2",
+            "os-locale": "1.4.0",
+            "read-pkg-up": "1.0.1",
+            "require-directory": "2.1.1",
+            "require-main-filename": "1.0.1",
+            "set-blocking": "2.0.0",
+            "string-width": "1.0.2",
+            "which-module": "1.0.0",
+            "y18n": "3.2.1",
+            "yargs-parser": "4.2.1"
+          },
+          "dependencies": {
+            "camelcase": {
+              "version": "3.0.0",
+              "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+              "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+              "dev": true
+            },
+            "cliui": {
+              "version": "3.2.0",
+              "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+              "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+              "dev": true,
+              "requires": {
+                "string-width": "1.0.2",
+                "strip-ansi": "3.0.1",
+                "wrap-ansi": "2.1.0"
+              }
+            }
+          }
+        },
+        "yargs-parser": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+          "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+          "dev": true,
+          "requires": {
+            "camelcase": "3.0.0"
+          },
+          "dependencies": {
+            "camelcase": {
+              "version": "3.0.0",
+              "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+              "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+              "dev": true
+            }
+          }
+        }
+      }
+    },
+    "webpack-dev-middleware": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz",
+      "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=",
+      "dev": true,
+      "requires": {
+        "memory-fs": "0.4.1",
+        "mime": "1.3.6",
+        "path-is-absolute": "1.0.1",
+        "range-parser": "1.2.0"
+      }
+    },
+    "webpack-dev-server": {
+      "version": "2.4.5",
+      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.4.5.tgz",
+      "integrity": "sha1-MThM6BE2vhCAtLTN4OubkOVO5s8=",
+      "dev": true,
+      "requires": {
+        "ansi-html": "0.0.7",
+        "chokidar": "1.7.0",
+        "compression": "1.6.2",
+        "connect-history-api-fallback": "1.3.0",
+        "express": "4.15.3",
+        "html-entities": "1.2.1",
+        "http-proxy-middleware": "0.17.4",
+        "opn": "4.0.2",
+        "portfinder": "1.0.13",
+        "serve-index": "1.9.0",
+        "sockjs": "0.3.18",
+        "sockjs-client": "1.1.2",
+        "spdy": "3.4.7",
+        "strip-ansi": "3.0.1",
+        "supports-color": "3.2.3",
+        "webpack-dev-middleware": "1.11.0",
+        "yargs": "6.6.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        },
+        "yargs": {
+          "version": "6.6.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+          "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+          "dev": true,
+          "requires": {
+            "camelcase": "3.0.0",
+            "cliui": "3.2.0",
+            "decamelize": "1.2.0",
+            "get-caller-file": "1.0.2",
+            "os-locale": "1.4.0",
+            "read-pkg-up": "1.0.1",
+            "require-directory": "2.1.1",
+            "require-main-filename": "1.0.1",
+            "set-blocking": "2.0.0",
+            "string-width": "1.0.2",
+            "which-module": "1.0.0",
+            "y18n": "3.2.1",
+            "yargs-parser": "4.2.1"
+          }
+        },
+        "yargs-parser": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+          "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+          "dev": true,
+          "requires": {
+            "camelcase": "3.0.0"
+          }
+        }
+      }
+    },
+    "webpack-merge": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-2.6.1.tgz",
+      "integrity": "sha1-8dgB0sXTn4P/7J8RkkCz476ZShw=",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4"
+      }
+    },
+    "webpack-sources": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz",
+      "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==",
+      "dev": true,
+      "requires": {
+        "source-list-map": "2.0.0",
+        "source-map": "0.5.6"
+      },
+      "dependencies": {
+        "source-list-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+          "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
+          "dev": true
+        }
+      }
+    },
+    "websocket-driver": {
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
+      "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+      "dev": true,
+      "requires": {
+        "websocket-extensions": "0.1.1"
+      }
+    },
+    "websocket-extensions": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
+      "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=",
+      "dev": true
+    },
+    "when": {
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
+      "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
+      "dev": true
+    },
+    "whet.extend": {
+      "version": "0.9.9",
+      "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+      "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+      "dev": true
+    },
+    "which": {
+      "version": "1.2.14",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
+      "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
+      "dev": true,
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+      "dev": true
+    },
+    "wide-align": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+      "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        }
+      }
+    },
+    "window-size": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+      "dev": true
+    },
+    "wordwrap": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+      "dev": true
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        }
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    },
+    "ws": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
+      "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+      "dev": true,
+      "requires": {
+        "options": "0.0.6",
+        "ultron": "1.0.2"
+      }
+    },
+    "wtf-8": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
+      "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
+      "dev": true
+    },
+    "xhr2": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz",
+      "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8="
+    },
+    "xml-char-classes": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz",
+      "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=",
+      "dev": true
+    },
+    "xml2js": {
+      "version": "0.4.17",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
+      "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
+      "dev": true,
+      "requires": {
+        "sax": "1.2.4",
+        "xmlbuilder": "4.2.1"
+      }
+    },
+    "xmlbuilder": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
+      "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
+      "dev": true,
+      "requires": {
+        "lodash": "4.17.4"
+      }
+    },
+    "xmldom": {
+      "version": "0.1.27",
+      "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
+      "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=",
+      "dev": true
+    },
+    "xmlhttprequest-ssl": {
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
+      "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
+      "dev": true
+    },
+    "xtend": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+      "dev": true
+    },
+    "y18n": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+      "dev": true
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+      "dev": true,
+      "optional": true
+    },
+    "yargs": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "camelcase": "3.0.0",
+        "cliui": "3.2.0",
+        "decamelize": "1.2.0",
+        "get-caller-file": "1.0.2",
+        "os-locale": "1.4.0",
+        "read-pkg-up": "1.0.1",
+        "require-directory": "2.1.1",
+        "require-main-filename": "1.0.1",
+        "set-blocking": "2.0.0",
+        "string-width": "1.0.2",
+        "which-module": "1.0.0",
+        "y18n": "3.2.1",
+        "yargs-parser": "5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true,
+          "optional": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "number-is-nan": "1.0.1"
+          }
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "code-point-at": "1.1.0",
+            "is-fullwidth-code-point": "1.0.0",
+            "strip-ansi": "3.0.1"
+          }
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "camelcase": "3.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "yeast": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+      "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
+      "dev": true
+    },
+    "yn": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-1.3.0.tgz",
+      "integrity": "sha1-GwgSq7jYBdSJZvjfOF3J2syaGdg=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1"
+      }
+    },
+    "zone.js": {
+      "version": "0.8.12",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.12.tgz",
+      "integrity": "sha1-hv9QU8mK7CkaC/S7rFAdaUoFz7s="
+    }
+  }
+}
diff --git a/smp-angular/package.json b/smp-angular/package.json
new file mode 100644
index 000000000..7d40cd3b3
--- /dev/null
+++ b/smp-angular/package.json
@@ -0,0 +1,58 @@
+{
+  "name": "smp-web",
+  "version": "0.0.0",
+  "license": "MIT",
+  "angular-cli": {},
+  "scripts": {
+    "ng": "ng",
+    "start": "ng serve --proxy-config proxy-config.json",
+    "build": "ng build --dev --base-href /smp/",
+    "prod": "ng build --prod --output-path=./src/main/resources/META-INF/resources",
+    "test": "ng test",
+    "lint": "ng lint",
+    "e2e": "ng e2e"
+  },
+  "private": true,
+  "dependencies": {
+    "@angular/animations": "^4.1.0",
+    "@angular/cdk": "^2.0.0-beta.8",
+    "@angular/common": "^4.1.0",
+    "@angular/compiler": "^4.1.0",
+    "@angular/core": "^4.1.0",
+    "@angular/forms": "^4.1.0",
+    "@angular/http": "^4.1.0",
+    "@angular/material": "^2.0.0-beta.8",
+    "@angular/platform-browser": "^4.1.0",
+    "@angular/platform-browser-dynamic": "^4.1.0",
+    "@angular/platform-server": "^4.1.0",
+    "@angular/router": "^4.1.0",
+    "@swimlane/ngx-datatable": "^9.1.0",
+    "core-js": "^2.4.1",
+    "file-saver": "^1.3.3",
+    "hammerjs": "^2.0.8",
+    "md2": "0.0.29",
+    "rxjs": "^5.5.11",
+    "ts-helpers": "^1.1.1",
+    "zone.js": "^0.8.9"
+  },
+  "devDependencies": {
+    "@angular/cli": "^1.0.1",
+    "@angular/compiler-cli": "^4.1.0",
+    "@types/file-saver": "0.0.1",
+    "@types/jasmine": "2.5.47",
+    "@types/node": "^7.0.14",
+    "codelyzer": "~3.0.0",
+    "jasmine-core": "2.6.1",
+    "jasmine-spec-reporter": "4.1.0",
+    "karma": "1.7.0",
+    "karma-chrome-launcher": "^2.0.0",
+    "karma-cli": "^1.0.1",
+    "karma-jasmine": "^1.0.2",
+    "karma-remap-istanbul": "^0.6.0",
+    "protractor": "~5.1.1",
+    "rxjs": "^5.5.11",
+    "ts-node": "3.0.4",
+    "tslint": "^5.1.0",
+    "typescript": "~2.3.2"
+  }
+}
diff --git a/smp-angular/pom.xml b/smp-angular/pom.xml
new file mode 100644
index 000000000..6262aa184
--- /dev/null
+++ b/smp-angular/pom.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+        <groupId>eu.europa.ec.edelivery</groupId>
+        <artifactId>smp-parent-pom</artifactId>
+        <version>4.0.1-SNAPSHOT</version>
+        <relativePath>../smp-parent-pom/pom.xml</relativePath>
+    </parent>
+  <artifactId>smp-angular</artifactId>
+  <packaging>jar</packaging>
+  <name>SMP Angular UI</name>
+
+  <properties>
+    <frontend-maven-plugin.version>1.3</frontend-maven-plugin.version>
+    <node.version>v8.9.1</node.version>
+    <npm.version>5.3.0</npm.version>
+  </properties>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>com.github.eirslett</groupId>
+          <artifactId>frontend-maven-plugin</artifactId>
+          <version>${frontend-maven-plugin.version}</version>
+          <executions>
+            <execution>
+              <id>install node and npm</id>
+              <goals>
+                <goal>install-node-and-npm</goal>
+              </goals>
+              <configuration>
+                <nodeVersion>${node.version}</nodeVersion>
+                <npmVersion>${npm.version}</npmVersion>
+              </configuration>
+            </execution>
+
+            <execution>
+              <id>npm install</id>
+              <goals>
+                <goal>npm</goal>
+              </goals>
+              <configuration>
+                <arguments>install --unsafe-perm</arguments>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-clean-plugin</artifactId>
+        <configuration>
+          <filesets>
+            <fileset>
+              <directory>./src/main/resources/META-INF/resources</directory>
+              <includes>
+                <include>**/*</include>
+              </includes>
+            </fileset>
+          </filesets>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>com.github.eirslett</groupId>
+        <artifactId>frontend-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>prod</id>
+            <goals>
+              <goal>npm</goal>
+            </goals>
+            <configuration>
+              <arguments>run-script prod</arguments>
+            </configuration>
+            <phase>generate-resources</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/smp-angular/protractor.conf.js b/smp-angular/protractor.conf.js
new file mode 100644
index 000000000..1c5e1e5a4
--- /dev/null
+++ b/smp-angular/protractor.conf.js
@@ -0,0 +1,30 @@
+// Protractor configuration file, see link for more information
+// https://github.com/angular/protractor/blob/master/lib/config.ts
+
+const { SpecReporter } = require('jasmine-spec-reporter');
+
+exports.config = {
+  allScriptsTimeout: 11000,
+  specs: [
+    './e2e/**/*.e2e-spec.ts'
+  ],
+  capabilities: {
+    'browserName': 'chrome'
+  },
+  directConnect: true,
+  baseUrl: 'http://localhost:4200/',
+  framework: 'jasmine',
+  jasmineNodeOpts: {
+    showColors: true,
+    defaultTimeoutInterval: 30000,
+    print: function() {}
+  },
+  beforeLaunch: function() {
+    require('ts-node').register({
+      project: 'e2e/tsconfig.e2e.json'
+    });
+  },
+  onPrepare() {
+    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
+  }
+};
diff --git a/smp-angular/proxy-config.json b/smp-angular/proxy-config.json
new file mode 100644
index 000000000..5917edca5
--- /dev/null
+++ b/smp-angular/proxy-config.json
@@ -0,0 +1,8 @@
+{
+  "/ui/**": {
+    "target": "http://localhost:8080/smp/",
+    "changeOrigin": true,
+    "secure": false,
+    "logLevel": "debug"
+  }
+}
diff --git a/smp-angular/src/app/alert/alert.component.css b/smp-angular/src/app/alert/alert.component.css
new file mode 100644
index 000000000..da456774d
--- /dev/null
+++ b/smp-angular/src/app/alert/alert.component.css
@@ -0,0 +1,27 @@
+.alert {
+  padding: 20px;
+  color: white;
+  opacity: 1;
+  transition: opacity 0.6s;
+  margin-bottom: 15px;
+}
+
+.alert-error {background-color: #f44336;}
+.alert-success {background-color: #4CAF50;}
+.alert-info {background-color: #2196F3;}
+.alert-warning {background-color: #ff9800;}
+
+.closebtn {
+  margin-left: 15px;
+  color: white;
+  font-weight: bold;
+  float: right;
+  font-size: 22px;
+  line-height: 20px;
+  cursor: pointer;
+  transition: 0.3s;
+}
+
+.closebtn:hover {
+  color: black;
+}
diff --git a/smp-angular/src/app/alert/alert.component.html b/smp-angular/src/app/alert/alert.component.html
new file mode 100644
index 000000000..7ca0234c3
--- /dev/null
+++ b/smp-angular/src/app/alert/alert.component.html
@@ -0,0 +1,4 @@
+<div *ngIf="message" [ngClass]="{ 'alert': message, 'alert-success': message.type === 'success', 'alert-error': message.type === 'error' }" id="alertmessage_id">
+  <span class="closebtn" (click)="clearAlert()">&times;</span>
+  {{message.text}}
+</div>
diff --git a/smp-angular/src/app/alert/alert.component.ts b/smp-angular/src/app/alert/alert.component.ts
new file mode 100644
index 000000000..7a69f9369
--- /dev/null
+++ b/smp-angular/src/app/alert/alert.component.ts
@@ -0,0 +1,25 @@
+import {Component} from "@angular/core";
+import {AlertService} from "./alert.service";
+
+@Component({
+  moduleId: module.id,
+  selector: 'alert',
+  templateUrl: 'alert.component.html',
+  styleUrls: ['./alert.component.css']
+})
+
+export class AlertComponent {
+  message: any;
+
+  public static readonly MAX_COUNT_CSV: number = 10000;
+
+  constructor(private alertService: AlertService) { }
+
+  ngOnInit() {
+    this.alertService.getMessage().subscribe(message => { this.message = message; });
+  }
+
+  clearAlert():void {
+    this.alertService.clearAlert();
+  }
+}
diff --git a/smp-angular/src/app/alert/alert.service.ts b/smp-angular/src/app/alert/alert.service.ts
new file mode 100644
index 000000000..341650a04
--- /dev/null
+++ b/smp-angular/src/app/alert/alert.service.ts
@@ -0,0 +1,67 @@
+import {Injectable} from '@angular/core';
+import {Router, NavigationStart, NavigationEnd} from '@angular/router';
+import {Observable} from 'rxjs';
+import {Subject} from 'rxjs/Subject';
+
+@Injectable()
+export class AlertService {
+  private subject = new Subject<any>();
+  private previousRoute: string;
+
+
+  //TODO move the logic in the ngInit block
+  constructor (private router: Router) {
+    this.previousRoute = '';
+    // clear alert message on route change
+    router.events.subscribe(event => {
+      if (event instanceof NavigationStart) {
+        if (this.isRouteChanged(event.url)) {
+          console.log('Clearing alert when navigating from [' + this.previousRoute + '] to [' + event.url + ']');
+          this.clearAlert();
+        } else {
+          console.log('Alert kept when navigating from [' + this.previousRoute + '] to [' + event.url + ']');
+        }
+      } else if (event instanceof NavigationEnd) {
+        let navigationEnd: NavigationEnd = event;
+        this.previousRoute = navigationEnd.url;
+      }
+    });
+  }
+
+  getPath (url: string): string {
+    var parser = document.createElement('a');
+    parser.href = url;
+    return parser.pathname;
+  }
+
+  isRouteChanged (currentRoute: string): boolean {
+    let result = false;
+    let previousRoutePath = this.getPath(this.previousRoute);
+    let currentRoutePath = this.getPath(currentRoute);
+    if (previousRoutePath !== currentRoutePath) {
+      result = true;
+    }
+    return result;
+  }
+
+  clearAlert (): void {
+    this.subject.next();
+  }
+
+  success (message: string, keepAfterNavigationChange = false) {
+    this.subject.next({type: 'success', text: message});
+  }
+
+  error (message: string, keepAfterNavigationChange = false) {
+    this.subject.next({type: 'error', text: message});
+  }
+
+  exception (message: string, error: any, keepAfterNavigationChange = false): void {
+    const errMsg = error.message || (error.json ? error.json().message : error );
+    this.error(message + ' \n' + errMsg, keepAfterNavigationChange);
+  }
+
+  getMessage (): Observable<any> {
+    return this.subject.asObservable();
+  }
+}
diff --git a/smp-angular/src/app/alerts/alerts.component.html b/smp-angular/src/app/alerts/alerts.component.html
new file mode 100644
index 000000000..de8e1439c
--- /dev/null
+++ b/smp-angular/src/app/alerts/alerts.component.html
@@ -0,0 +1,164 @@
+<page-header id="alertsheader_id">Alerts</page-header>
+
+<div class="selectionCriteria">
+  <md-card>
+    <md-card-content>
+      <div class="panel">
+        <form name="filterForm" #filterForm="ngForm" (ngSubmit)="search()">
+          <!-- Processed -->
+          <md-select placeholder="Processed" [(ngModel)]="filter.processed" name="processed" id="processed_id">
+            <md-option [value]="''"></md-option>
+            <md-option *ngFor="let aprocessed of aProcessedValues" [value]="aprocessed">
+              {{aprocessed}}
+            </md-option>
+          </md-select>
+          <!-- Alert Type (Basic) -->
+          <md-select placeholder="Alert Type" [(ngModel)]="filter.alertType" name="alertType"
+                     id="alerttype_id" (change)="onAlertTypeChanged(filter.alertType)">
+            <md-option [value]="''"></md-option>
+            <md-option *ngFor="let atype of aTypes" [value]="atype">
+              {{atype}}
+            </md-option>
+          </md-select>
+          <!-- Alert Id (Advanced) -->
+          <md-input-container *ngIf="advancedSearch">
+            <input mdInput placeholder="Alert Id" name="alertId" [(ngModel)]="filter.alertId"
+                   #alertId="ngModel" id="alertid_id">
+          </md-input-container>
+          <!-- Alert Level (Basic) -->
+          <md-select placeholder="Alert Level" [(ngModel)]="filter.alertLevel" name="alertLevel"
+                     id="alertlevel_id">
+            <md-option [value]="''">
+            </md-option>
+            <md-option *ngFor="let alevel of aLevels" [value]="alevel">
+              {{alevel}}
+            </md-option>
+          </md-select>
+          <!-- Creation From (Basic) -->
+          <md2-datepicker placeholder="Creation From:" appClearInvalid
+                          [(ngModel)]="filter.creationFrom"
+                          name="creationFrom"
+                          [max]="timestampCreationFromMaxDate"
+                          (change)='onTimestampCreationFromChange($event)'
+                          [type]="'datetime'"
+                          #timestampControl="ngModel" id="creationfrom_id">
+          </md2-datepicker>
+          <!-- Creation To (Basic) -->
+          <md2-datepicker placeholder="Creation To:" appClearInvalid
+                          [(ngModel)]="filter.creationTo"
+                          name="creationTo"
+                          [min]="timestampCreationToMinDate"
+                          [max]="timestampCreationToMaxDate"
+                          (change)='onTimestampCreationToChange($event)'
+                          [type]="'datetime'"
+                          #timestampControl="ngModel" id="creationto_id">
+          </md2-datepicker>
+          <!-- Reporting From -->
+          <md2-datepicker placeholder="Reporting From:" appClearInvalid
+                          [(ngModel)]="filter.reportingFrom"
+                          name="reportingFrom"
+                          [max]="timestampReportingFromMaxDate"
+                          (change)='onTimestampReportingFromChange($event)'
+                          [type]="'datetime'"
+                          #timestampControl="ngModel" id="reportingfrom_id" *ngIf="advancedSearch">
+          </md2-datepicker>
+          <!-- Reporting To -->
+          <md2-datepicker placeholder="Reporting To:" appClearInvalid
+                          [(ngModel)]="filter.reportingTo"
+                          name="reportingTo"
+                          [min]="timestampReportingToMinDate"
+                          [max]="timestampReportingToMaxDate"
+                          (change)='onTimestampReportingToChange($event)'
+                          [type]="'datetime'"
+                          #timestampControl="ngModel" id="reportingto_id" *ngIf="advancedSearch">
+          </md2-datepicker>
+
+          <!-- Alert Type Criteria -->
+          <div class="panel" *ngIf="isAlertTypeDefined()">
+            <md-card>
+              <div>
+              <md-card-title>
+                {{filter.alertType}}
+              </md-card-title>
+              </div>
+              <md-card-content>
+                <md-input-container *ngFor="let item of items; let i = index">
+                  <input mdInput placeholder={{item}} name={{item}} [(ngModel)]="dynamicFilters[i]"
+                     #{{item}}="ngModel" id={{item}}_id>
+                </md-input-container>
+              </md-card-content>
+            </md-card>
+          </div>
+
+          <!-- Search Button and Basic/Advanced Search-->
+          <div class="searchArea">
+            <button md-raised-button color="primary" [disabled]="!filterForm.form.valid" id="searchbutton_id">
+              <md-icon>search</md-icon>
+              <span>Search</span>
+            </button>
+            <a href="#" *ngIf="!advancedSearch" (click)="toggleAdvancedSearch()" id="advancedlink_id">Advanced</a>
+            <a href="#" *ngIf="advancedSearch" (click)="toggleAdvancedSearch()" id="basiclink_id">Basic</a>
+          </div>
+        </form>
+      </div>
+    </md-card-content>
+  </md-card>
+
+  <ng-template #rowProcessed let-row="row" let-value="value" ngx-datatable-cell-template>
+    <input autofocus type="checkbox" [checked]="value" id="processed{{row.$$index}}_id" (click)="setProcessedValue(row)"/>
+  </ng-template>
+
+</div>
+
+<div class="panel">
+  <div class="group-filter-button">
+    <span class="row-button">
+      <app-row-limiter [pageSizes]="rowLimiter.pageSizes"
+                       (onPageSizeChanged)="changePageSize($event.value)"></app-row-limiter>
+    </span>
+    <span class="column-filter-button">
+      <app-column-picker [allColumns]="columnPicker.allColumns" [selectedColumns]="columnPicker.selectedColumns"
+                         (onSelectedColumnsChanged)="columnPicker.changeSelectedColumns($event)"></app-column-picker>
+    </span>
+    <button md-icon-button color="primary" [disabled]="!isSaveAsCSVButtonEnabled()" (click)="saveAsCSV()"
+            id="saveascsvbutton_id" md-tooltip="Export as CSV">
+      <img src="assets/images/exportCSV.svg" width="30" height="30">
+    </button>
+  </div>
+
+<!-- Data Table -->
+  <ngx-datatable
+    id="alertsTable"
+    class="material striped"
+    [rows]="rows"
+    [columns]="columnPicker.selectedColumns"
+    [columnMode]="'force'"
+    [headerHeight]="50"
+    [footerHeight]="50"
+    [rowHeight]="'auto'"
+    [scrollbarH]="true"
+    [externalPaging]="true"
+    [externalSorting]="true"
+    [loadingIndicator]="loading"
+    [count]="count"
+    [offset]="offset"
+    [limit]="rowLimiter.pageSize"
+    [sorts]="[{prop: 'Creation Time', dir: 'desc'}]"
+    (page)='onPage($event)'
+    (sort)="onSort($event)"
+    (activate)="onActivate($event)">
+  </ngx-datatable>
+
+  <div class="group-action-button">
+    <button id="alertsCancelButton" md-raised-button color="primary" (click)="cancel()"
+            [disabled]="buttonsDisabled">
+      <md-icon>cancel</md-icon>
+      <span>Cancel</span>
+    </button>
+    <button id="alertsSaveButton" md-raised-button color="primary" (click)="save(false)"
+            [disabled]="buttonsDisabled">
+      <md-icon>save</md-icon>
+      <span>Save</span>
+    </button>
+  </div>
+</div>
diff --git a/smp-angular/src/app/alerts/alerts.component.spec.ts b/smp-angular/src/app/alerts/alerts.component.spec.ts
new file mode 100644
index 000000000..09c3964cf
--- /dev/null
+++ b/smp-angular/src/app/alerts/alerts.component.spec.ts
@@ -0,0 +1,25 @@
+import {async, ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {AlertsComponent} from "./alerts.component";
+
+describe('AlertsComponent', () => {
+  let component: AlertsComponent;
+  let fixture: ComponentFixture<AlertsComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [AlertsComponent]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(AlertsComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/alerts/alerts.component.ts b/smp-angular/src/app/alerts/alerts.component.ts
new file mode 100644
index 000000000..64a179024
--- /dev/null
+++ b/smp-angular/src/app/alerts/alerts.component.ts
@@ -0,0 +1,401 @@
+import {Component, TemplateRef, ViewChild} from "@angular/core";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {RowLimiterBase} from "../common/row-limiter/row-limiter-base";
+import {isNullOrUndefined} from "util";
+import {DownloadService} from "../download/download.service";
+import {AlertComponent} from "../alert/alert.component";
+import {Observable} from "rxjs/Observable";
+import {AlertsResult} from "./alertsresult";
+import {Http, URLSearchParams, Response, Headers} from "@angular/http";
+import {AlertService} from "../alert/alert.service";
+import {AlertsEntry} from "./alertsentry";
+import {CancelDialogComponent} from "../common/cancel-dialog/cancel-dialog.component";
+import {MdDialog} from "@angular/material";
+import {SaveDialogComponent} from "../common/save-dialog/save-dialog.component";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'alerts.component.html',
+  providers: []
+})
+
+export class AlertsComponent {
+
+  @ViewChild('rowProcessed') rowProcessed: TemplateRef<any>;
+
+  static readonly ALERTS_URL: string = 'rest/alerts';
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+  rowLimiter: RowLimiterBase = new RowLimiterBase();
+
+  advancedSearch: boolean;
+  loading: boolean = false;
+
+  // data table
+  rows = [];
+  count: number = 0;
+  offset: number = 10;
+  //default value
+  orderBy: string = "creationTime";
+  //default value
+  asc: boolean = false;
+
+  buttonsDisabled: boolean = true;
+
+  // Mocked values
+  aTypes = ['MSG_COMMUNICATION_FAILURE','MSG_TEST'];
+  aLevels = ['HIGH', 'MEDIUM', 'LOW'];
+
+  aProcessedValues = ['PROCESSED', 'UNPROCESSED'];
+
+  filter: any = {};
+
+  dynamicFilters = [];
+
+  items=[];
+
+  timestampCreationFromMaxDate: Date = new Date();
+  timestampCreationToMinDate: Date = null;
+  timestampCreationToMaxDate: Date = new Date();
+  timestampReportingFromMaxDate: Date = new Date();
+  timestampReportingToMinDate: Date = null;
+  timestampReportingToMaxDate: Date = new Date();
+
+  constructor(private http: Http, private alertService: AlertService, public dialog: MdDialog) {
+
+  }
+
+  ngOnInit() {
+    this.filter.alertType = null;
+
+    this.columnPicker.allColumns = [
+      { name: 'Processed', cellTemplate: this.rowProcessed, width: 50 },
+      { name: 'Alert Id' },
+      { name: 'Alert Type' },
+      { name: 'Alert Level', width: 50 },
+      { name: 'Alert Text' },
+      { name: 'Creation Time' },
+      { name: 'Reporting Time' },
+      { name: 'Parameters', sortable: false }
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Processed", "ID", "Alert Type", "Alert Level", "Creation Time", "Reporting Time", "Parameters"].indexOf(col.name) != -1
+    });
+
+    this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+  }
+
+  getAlertsEntries(offset: number, pageSize: number, orderBy: string, asc: boolean): Observable<AlertsResult> {
+    let searchParams: URLSearchParams = new URLSearchParams();
+    searchParams.set('page', offset.toString());
+    searchParams.set('pageSize', pageSize.toString());
+    searchParams.set('orderBy', orderBy);
+
+    // filters
+    if(this.filter.processed) {
+      searchParams.set('processed', this.filter.processed==='PROCESSED'?'true':'false');
+    }
+
+    if(this.filter.alertType) {
+      searchParams.set('alertType', this.filter.alertType);
+    }
+
+    if(this.filter.alertId) {
+      searchParams.set('alertId', this.filter.alertId);
+    }
+
+    if(this.filter.alertLevel) {
+      searchParams.set('alertLevel', this.filter.alertLevel);
+    }
+
+    if(this.filter.creationFrom) {
+      searchParams.set('creationFrom', this.filter.creationFrom.getTime());
+    }
+
+    if(this.filter.creationTo) {
+      searchParams.set('creationTo', this.filter.creationTo.getTime());
+    }
+
+    if(this.filter.reportingFrom) {
+      searchParams.set('reportingFrom', this.filter.reportingFrom.getTime());
+    }
+
+    if(this.filter.reportingTo) {
+      searchParams.set('reportingTo', this.filter.reportingTo.getTime());
+    }
+
+    if(this.dynamicFilters.length > 0) {
+      let d : string[];
+      for(let i = 0; i < this.dynamicFilters.length; i++) {
+        d[i] = '';
+      }
+      for(let filter in this.dynamicFilters) {
+        d[filter] = this.dynamicFilters[filter];
+      }
+      searchParams.set('parameters', d.toString());
+    }
+
+    if (asc != null) {
+      searchParams.set('asc', asc.toString());
+    }
+
+    return this.http.get(AlertsComponent.ALERTS_URL, {
+      search: searchParams
+    }).map((response: Response) =>
+      response.json()
+    );
+  }
+
+  page(offset, pageSize, orderBy, asc) {
+    this.loading = true;
+
+    let newEntries: AlertsEntry[] = [];
+
+    // MOCK info
+    /*let entry1: AlertsEntry = new AlertsEntry(true, 'alertId1', this.aTypes[0], this.aLevels[0], 'aText1', new Date(), new Date(), ['asasas','ddsdsd','ddd']);
+    let entry2: AlertsEntry = new AlertsEntry(false, 'alertId2', this.aTypes[1], this.aLevels[1], 'aText2', new Date(), new Date(), ['tryrty','trurutru']);
+    let entry3: AlertsEntry = new AlertsEntry(true, 'alertId3', this.aTypes[0], this.aLevels[0], 'aText3', new Date(), new Date(), ['aaaaa','bbbbb','cccccc']);
+    newEntries[0] = entry1;
+    newEntries[1] = entry2;
+    newEntries[2] = entry3;
+
+    // information of parameters and values
+    let entry: any;
+    for(entry in newEntries) {
+      let buildParams = [], pos = 0, params = this.getDynamicParameters(newEntries[entry].alertType);
+      for(let param in params) {
+        buildParams[pos] = params[param] + '=' + newEntries[entry].parameters[pos++];
+      }
+      newEntries[entry].parameters = buildParams;
+    }
+
+    this.rows = newEntries;
+
+    this.count = 3;
+    this.offset = offset;
+    this.rowLimiter.pageSize = pageSize;
+    this.orderBy = orderBy;
+    this.asc = asc;
+    this.loading = false;*/
+
+    this.getAlertsEntries(offset, pageSize, orderBy, asc).subscribe( (result: AlertsResult) => {
+      console.log("alerts response: " + result);
+      this.offset = offset;
+      this.rowLimiter.pageSize = pageSize;
+      this.orderBy = orderBy;
+      this.asc = asc;
+      this.count = result.count;
+
+      const start = offset * pageSize;
+      const end = start + pageSize;
+      const newRows = [...result.alertsEntries];
+
+      let index = 0;
+      for(let i = start; i <end; i++) {
+        newRows[i] = result.alertsEntries[index++];
+      }
+
+      // information of parameters and values
+      let entry: any;
+      for(entry in newRows) {
+        let buildParams = [], pos = 0, params = this.getDynamicParameters(newRows[entry].alertType);
+        for(let param in params) {
+          buildParams[pos] = params[param] + '=' + newRows[entry].parameters[pos++];
+        }
+        newRows[entry].parameters = buildParams;
+      }
+
+      this.rows = newRows;
+
+      this.filter = result.filter;
+      this.aLevels = result.alertsLevels;
+      this.aTypes = result.alertsType;
+
+      this.loading = false;
+
+      if(this.count > AlertComponent.MAX_COUNT_CSV) {
+        this.alertService.error("Maximum number of rows reached for downloading CSV");
+      }
+    }, (error: any) => {
+      console.log("error getting the alerts:" + error);
+      this.loading = false;
+      this.alertService.error("Error occured:" + error);
+    });
+  }
+
+  search() {
+    console.log("Searching using filter:" + this.filter);
+    this.page(0, this.rowLimiter.pageSize, this.orderBy, this.asc);
+  }
+
+  toggleAdvancedSearch() {
+    this.advancedSearch = !this.advancedSearch;
+    return false;//to prevent default navigation
+  }
+
+  onAlertTypeChanged(alertType: string) {
+    this.items = this.getDynamicParameters(alertType);
+  }
+
+  getDynamicParameters(alertType:string): string[] {
+    if(!isNullOrUndefined(alertType) && alertType != '') {
+      // just for testing begin: MOCK
+      if(alertType == 'MSG_COMMUNICATION_FAILURE') {
+        return ['MSG_COMM1', 'MSG_COMM2', 'MSG_COMM3']
+      } else {
+        return ['MSG_TEST1', 'MSG_TEST2'];
+      }
+      // just for testing end
+    } else {
+      return [];
+    }
+  }
+
+  onTimestampCreationFromChange(event) {
+    this.timestampCreationToMinDate = event.value;
+  }
+
+  onTimestampCreationToChange(event) {
+    this.timestampCreationFromMaxDate = event.value;
+  }
+
+  onTimestampReportingFromChange(event) {
+    this.timestampReportingToMinDate = event.value;
+  }
+
+  onTimestampReportingToChange(event) {
+    this.timestampReportingFromMaxDate = event.value;
+  }
+
+
+  // datatable methods
+
+  onActivate(event) {
+    console.log('Activate Event', event);
+
+    // Prepared if in the future we will show details of alerts
+    /*if ("dblclick" === event.type) {
+      this.details(event.row);
+    }*/
+  }
+
+  onPage(event) {
+    console.log('Page Event', event);
+    this.page(event.offset, event.pageSize, this.orderBy, this.asc);
+  }
+
+  onSort(event) {
+    console.log('Sort Event', event);
+    let ascending = true;
+    if (event.newValue === 'desc') {
+      ascending = false;
+    }
+    this.page(this.offset, this.rowLimiter.pageSize, event.column.prop, ascending);
+  }
+
+  changePageSize(newPageLimit: number) {
+    console.log('New page limit:', newPageLimit);
+    this.rowLimiter.pageSize = newPageLimit;
+    this.page(0, newPageLimit, this.orderBy, this.asc);
+  }
+
+  /**
+   * Method that checks if CSV Button export can be enabled
+   * @returns {boolean} true, if button can be enabled; and false, otherwise
+   */
+  isSaveAsCSVButtonEnabled() : boolean {
+    return this.rows.length < AlertComponent.MAX_COUNT_CSV;
+  }
+
+  saveAsCSV() {
+    if(!this.buttonsDisabled) {
+      this.save(true);
+    } else {
+      DownloadService.downloadNative(AlertsComponent.ALERTS_URL + "/csv" + this.getFilterPath());
+    }
+  }
+
+  private getFilterPath() {
+    let result = '?';
+    //filters
+    if(this.filter.processed != null) {
+      result += 'processed=' + (this.filter.processed==='PROCESSED') + '&';
+    }
+
+    if(this.filter.alertType) {
+      result += 'alertType=' + this.filter.alertType + '&';
+    }
+
+    if(this.filter.alertId) {
+      result += 'alertId=' + this.filter.alertId + '&';
+    }
+
+    if(this.filter.alertLevel) {
+      result += 'alertLevel=' + this.filter.alertLevel + '&';
+    }
+
+    if(this.filter.creationFrom) {
+      result += 'creationFrom=' + this.filter.creationFrom.getTime() + '&';
+    }
+
+    if(this.filter.creationTo) {
+      result += 'creationTo=' + this.filter.creationTo.getTime() + '&';
+    }
+
+    if(this.filter.reportingFrom) {
+      result += 'reportingFrom=' + this.filter.reportingFrom.getTime() + '&';
+    }
+
+    if(this.filter.reportingTo) {
+      result += 'reportingTo=' + this.filter.reportingTo.getTime() + '&';
+    }
+
+    return result;
+
+  }
+
+  public isAlertTypeDefined(): boolean {
+    return !isNullOrUndefined(this.filter.alertType) && this.filter.alertType != '';
+  }
+
+  cancel() {
+    let dialogRef = this.dialog.open(CancelDialogComponent);
+    dialogRef.afterClosed().subscribe(result => {
+      if (result) {
+        this.buttonsDisabled = true;
+        this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+      }
+    });
+  }
+
+  save(withDownloadCSV: boolean) {
+    let headers = new Headers({'Content-Type': 'application/json'});
+    let dialogRef = this.dialog.open(SaveDialogComponent);
+    dialogRef.afterClosed().subscribe(result => {
+      if (result) {
+        this.http.put(AlertsComponent.ALERTS_URL, JSON.stringify(this.rows), {headers: headers}).subscribe(res => {
+          this.alertService.success("The operation 'update alerts' completed successfully.", false);
+          this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+          if(withDownloadCSV) {
+            DownloadService.downloadNative(AlertsComponent.ALERTS_URL + "/csv");
+          }
+        }, err => {
+          this.alertService.error("The operation 'update alerts' not completed successfully.", false);
+          this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+        });
+      } else {
+        if(withDownloadCSV) {
+          DownloadService.downloadNative(AlertsComponent.ALERTS_URL + "/csv");
+        }
+      }
+    });
+  }
+
+  setProcessedValue(row) {
+    this.buttonsDisabled = false;
+    row.processed = !row.processed;
+    this.rows[row.$$index] = row;
+  }
+
+}
diff --git a/smp-angular/src/app/alerts/alertsentry.ts b/smp-angular/src/app/alerts/alertsentry.ts
new file mode 100644
index 000000000..6d03991f6
--- /dev/null
+++ b/smp-angular/src/app/alerts/alertsentry.ts
@@ -0,0 +1,13 @@
+export class AlertsEntry {
+  constructor(public processed: boolean,
+              public alertId: string,
+              public alertType: string,
+              public alertLevel: string,
+              public alertText: string,
+              public creationTime: Date,
+              public reportingTime: Date,
+              public parameters: string[])
+  {
+
+  }
+}
diff --git a/smp-angular/src/app/alerts/alertsresult.ts b/smp-angular/src/app/alerts/alertsresult.ts
new file mode 100644
index 000000000..04ebfbf58
--- /dev/null
+++ b/smp-angular/src/app/alerts/alertsresult.ts
@@ -0,0 +1,14 @@
+import {AlertsEntry} from "./alertsentry";
+
+export class AlertsResult {
+
+  constructor(public alertsEntries: Array<AlertsEntry>,
+              public pageSize: number,
+              public count: number,
+              public filter: any,
+              public alertsType: Array<string>,
+              public alertsLevels: Array<string>
+  ) {
+
+  }
+}
diff --git a/smp-angular/src/app/app.component.css b/smp-angular/src/app/app.component.css
new file mode 100644
index 000000000..6fa6ae891
--- /dev/null
+++ b/smp-angular/src/app/app.component.css
@@ -0,0 +1,93 @@
+[md-raised-button] {
+  width: 100%;
+}
+
+md-sidenav-container {
+  width: 100%;
+  height: 100%;
+  /*border: solid green;*/
+
+}
+
+md-sidenav {
+  text-align: center;
+  box-shadow: 7px 7px 10px #9B9B9B;
+  /*border: dashed red;*/
+}
+
+md-sidenav.menu-expanded {
+  width: 220px;
+
+}
+
+md-sidenav.menu-collapsed {
+  width: 50px;
+}
+
+html, body, material-app, .my-content {
+  margin: 0;
+  width: 100%;
+  height: 100%;
+  /*border: dashed red;*/
+}
+
+.menu-expanded .sideNavButton {
+  text-align: left;
+  padding-left: 20%;
+}
+
+.menu-collapsed .sideNavButton {
+  text-align: center;
+  padding: 0 !important;
+  max-width: 50px !important;
+  min-width: 0px !important;
+}
+
+.menu-collapsed .sideNavSubmenu {
+  margin-left: -10px;
+}
+
+.menu-collapsed span.mat-expansion-indicator {
+  display: none !important;
+}
+
+.mat-expansion-panel-header {
+  padding-left: 0;
+}
+
+.menu-collapsed .mat-expansion-panel-header {
+  padding-right: 0px;
+  margin-right: -10px;
+}
+
+.menu-collapsed.mat-sidenav {
+  min-width: 1vw !important;
+}
+
+.menu-expanded #topLogo {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding-top: 18px;
+  padding-bottom: 20px;
+  padding-left: 15px;
+}
+
+.menu-collapsed #topLogo {
+  display: block;
+  padding-top: 30px;
+  padding-bottom: 12px;
+  padding-left: 0;
+  height: 70px;
+}
+
+#collapse_id, #expand_id {
+  text-align: center;
+  width: 50px;
+  height: 50px;
+  min-width: 0
+}
+
+.menu-collapsed .sideNavButton span {
+  display: none;
+}
diff --git a/smp-angular/src/app/app.component.html b/smp-angular/src/app/app.component.html
new file mode 100644
index 000000000..83c3585fe
--- /dev/null
+++ b/smp-angular/src/app/app.component.html
@@ -0,0 +1,108 @@
+<md-sidenav-container >
+  <md-sidenav mode="side" opened="true" ngClass="{{menuClass}}">
+    <!-- sidenav content -->
+    <div id="topLogo">
+      <img src="assets/images/smp_logo_icon.svg" [attr.height]="fullMenu ? '74px' : '40px'" [attr.width]="fullMenu ? '74px' : '40px'"/>
+      <div id="topLogoText" *ngIf="fullMenu">
+        <h1>eDeliver SMP <span>Administration <br>Console</span></h1>
+      </div>
+    </div>
+
+    <button md-raised-button class="sideNavButton" [routerLink]="['/']" id="messages_id">
+      <md-icon md-tooltip="Search participants" mdTooltipDisabled="{{fullMenu}}" mdTooltipPosition="right">search</md-icon>
+      <span>Participants</span>
+    </button>
+
+    <button md-raised-button class="sideNavButton" [routerLink]="['/user']" *ngIf="hasAdmin()" id="user_id">
+      <md-icon md-tooltip="Users" mdTooltipDisabled="{{fullMenu}}" mdTooltipPosition="right">people</md-icon>
+      <span>Users</span>
+    </button>
+
+    <button md-raised-button class="sideNavButton" [routerLink]="['/truststore']" *ngIf="hasAdmin()" id="truststore_id">
+      <md-icon md-tooltip="Truststore" mdTooltipDisabled="{{fullMenu}}" mdTooltipPosition="right">vpn_key</md-icon>
+      <span>Keystore</span>
+    </button>
+    <button md-raised-button class="sideNavButton" [routerLink]="['/domain']" *ngIf="hasAdmin()" id="domain_id">
+      <md-icon md-tooltip="Domain" mdTooltipDisabled="{{fullMenu}}" mdTooltipPosition="right">domain</md-icon>
+      <span>Domain</span>
+    </button>
+
+    <div class="collapse-button">
+      <button *ngIf="fullMenu" md-raised-button id="expand_id" (click)="toggleMenu()">
+        <md-icon md-tooltip="Collapse" mdTooltipPosition="right">chevron_left</md-icon>
+      </button>
+
+      <button *ngIf="!fullMenu" md-raised-button id="collapse_id" (click)="toggleMenu()">
+        <md-icon md-tooltip="Esxpand" mdTooltipPosition="right">chevron_right</md-icon>
+      </button>
+    </div>
+
+    <div id="bottomLogo" *ngIf="fullMenu">
+      <div>
+        <img src="assets/images/EC+Logo2.png"/>
+      </div>
+      <div class="domibusTextSmall"
+           style="display: flex;flex-direction: column-reverse;text-align: left;color:#004494;padding-left: 5px;">
+        <div>
+          Connecting Europe
+        </div>
+        <div style="font-size: 10pt">
+          CEF Digital
+        </div>
+      </div>
+    </div>
+
+  </md-sidenav>
+
+  <!-- primary content -->
+  <div id=".my-content" style="position:absolute; bottom:5px; top:5px; right: 5px; left: 5px">
+
+
+    <div id="sandwichMenuHolder">
+
+
+      <domain-selector *ngIf="currentUser" [currentComponent]="outlet.activated ? outlet.component : null"></domain-selector>
+
+      <div class="helpMenu">
+        <page-helper></page-helper>
+      </div>
+      <div id="sandwichMenu">
+        <button md-icon-button [md-menu-trigger-for]="settingsMenu" id="settingsmenu_id" md-tooltip="Menu">
+          <md-icon>menu</md-icon>
+        </button>
+
+        <md-menu x-position="before" #settingsMenu="mdMenu">
+
+          <div *ngIf="currentUser">
+
+            <button md-menu-item disabled="true" id="currentuser_id">
+              <md-icon>person</md-icon>
+              <span>{{currentUser}}</span>
+            </button>
+
+            <hr/>
+
+            <button md-menu-item (click)="logout($event)" id="logout_id">
+              <md-icon>power_settings_new</md-icon>
+              <span>Logout</span>
+            </button>
+
+          </div>
+
+          <div *ngIf="!currentUser" style="text-align: center; vertical-align: middle;margin: 2px;">
+            <button md-menu-item disabled="true">
+              <md-icon>person_outline</md-icon>
+              <span>Not logged in</span>
+            </button>
+          </div>
+
+        </md-menu>
+      </div>
+    </div>
+    <div id="routerHolder" style="min-height: 100%" >
+        <router-outlet></router-outlet>
+    </div>
+    <alert></alert>
+  </div>
+
+</md-sidenav-container>
diff --git a/smp-angular/src/app/app.component.spec.ts b/smp-angular/src/app/app.component.spec.ts
new file mode 100644
index 000000000..5be2cb3fa
--- /dev/null
+++ b/smp-angular/src/app/app.component.spec.ts
@@ -0,0 +1,34 @@
+/* tslint:disable:no-unused-variable */
+
+import { TestBed, async } from '@angular/core/testing';
+import { AppComponent } from './app.component';
+
+describe('AppComponent', () => {
+  beforeEach(() => {
+    TestBed.configureTestingModule({
+      declarations: [
+        AppComponent
+      ],
+    });
+    TestBed.compileComponents();
+  });
+
+  it('should create the app', async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.debugElement.componentInstance;
+    expect(app).toBeTruthy();
+  }));
+
+  it(`should have as title 'app works!'`, async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.debugElement.componentInstance;
+    expect(app.title).toEqual('app works!');
+  }));
+
+  it('should render title in a h1 tag', async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    fixture.detectChanges();
+    const compiled = fixture.debugElement.nativeElement;
+    expect(compiled.querySelector('h1').textContent).toContain('app works!');
+  }));
+});
diff --git a/smp-angular/src/app/app.component.ts b/smp-angular/src/app/app.component.ts
new file mode 100644
index 000000000..bc10a567a
--- /dev/null
+++ b/smp-angular/src/app/app.component.ts
@@ -0,0 +1,85 @@
+import {Component, OnInit, ViewChild} from "@angular/core";
+import {SecurityService} from "./security/security.service";
+import {Router, RouterOutlet} from "@angular/router";
+import {SecurityEventService} from "./security/security.event.service";
+import {Title} from "@angular/platform-browser";
+import {Http, Response} from "@angular/http";
+import {Observable} from "rxjs/Observable";
+
+@Component({
+  selector: 'app-root',
+  templateUrl: './app.component.html',
+  styleUrls: ['./app.component.css']
+})
+export class AppComponent implements OnInit {
+
+  isAdmin: boolean;
+  _currentUser: string;
+  fullMenu: boolean = true;
+  menuClass: string = this.fullMenu ? "menu-expanded" : "menu-collapsed";
+
+  @ViewChild(RouterOutlet)
+  outlet: RouterOutlet;
+
+  constructor(private securityService: SecurityService,
+              private router: Router,
+              private securityEventService: SecurityEventService,
+              private http: Http,
+              private titleService: Title) {
+    let applicationNameResponse: Observable<Response> = this.http.get('rest/application/name');
+
+    applicationNameResponse.subscribe((name: Response) => {
+      this.titleService.setTitle(name.json());
+    });
+  }
+
+  ngOnInit() {
+    this.securityEventService.onLoginSuccessEvent().subscribe(
+      data => {
+        this.isAdmin = this.securityService.isCurrentUserAdmin();
+      });
+
+    this.securityEventService.onLoginErrorEvent().subscribe(
+      error => {
+        this.isAdmin = this.securityService.isCurrentUserAdmin();
+      });
+
+    this.securityEventService.onLogoutSuccessEvent().subscribe(
+      data => {
+        this.isAdmin = this.securityService.isCurrentUserAdmin();
+        this.router.navigate(['/login']);
+      });
+  }
+
+  hasAdmin(): boolean {
+    return this.securityService.isCurrentUserAdmin();
+  }
+
+  get currentUser(): string {
+    let user = this.securityService.getCurrentUser();
+    return user ? user.username : "";
+  }
+
+  logout(event: Event): void {
+    event.preventDefault();
+    this.router.navigate(['/login']).then((ok) => {
+      if (ok) {
+        this.securityService.logout();
+      }
+    })
+  }
+
+  toggleMenu() {
+    this.fullMenu = !this.fullMenu
+    this.menuClass = this.fullMenu ? "menu-expanded" : "menu-collapsed"
+    setTimeout(() => {
+      var evt = document.createEvent("HTMLEvents")
+      evt.initEvent('resize', true, false)
+      window.dispatchEvent(evt)
+    }, 500)
+    //ugly hack but otherwise the ng-datatable doesn't resize when collapsing the menu
+    //alternatively this can be tried (https://github.com/swimlane/ngx-datatable/issues/193) but one has to implement it on every page
+    //containing a ng-datatable and it only works after one clicks inside the table
+  }
+
+}
diff --git a/smp-angular/src/app/app.module.ts b/smp-angular/src/app/app.module.ts
new file mode 100644
index 000000000..4da1f77da
--- /dev/null
+++ b/smp-angular/src/app/app.module.ts
@@ -0,0 +1,179 @@
+import {BrowserModule} from "@angular/platform-browser";
+import {NgModule} from "@angular/core";
+import {FormsModule, ReactiveFormsModule} from "@angular/forms";
+import {Http, HttpModule, RequestOptions, XHRBackend} from "@angular/http";
+import {
+  MdButtonModule,
+  MdDialogModule,
+  MdIconModule,
+  MdInputModule,
+  MdListModule,
+  MdMenuModule,
+  MdSelectModule,
+  MdSidenavModule,
+  MdTooltipModule,
+  MdExpansionModule
+} from "@angular/material";
+import "hammerjs";
+
+import {NgxDatatableModule} from "@swimlane/ngx-datatable";
+import {Md2Module, Md2SelectModule} from "md2";
+
+import {AppComponent} from "./app.component";
+import {LoginComponent} from "./login/login.component";
+import {HomeComponent} from "./home/home.component";
+
+
+
+import {AuthenticatedGuard} from "./guards/authenticated.guard";
+import {AuthorizedGuard} from "./guards/authorized.guard";
+import {routing} from "./app.routes";
+import {IsAuthorized} from "./security/is-authorized.directive";
+import {ExtendedHttpClient} from "./http/extended-http-client";
+import {HttpEventService} from "./http/http.event.service";
+import {SecurityService} from "./security/security.service";
+import {SecurityEventService} from "./security/security.event.service";
+import {DomainService} from "./security/domain.service";
+import {AlertComponent} from "./alert/alert.component";
+import {AlertService} from "./alert/alert.service";
+import {ErrorLogComponent} from "./errorlog/errorlog.component";
+import {FooterComponent} from "./footer/footer.component";
+import {DomibusInfoService} from "./appinfo/domibusinfo.service";
+import {AuthorizedAdminGuard} from "./guards/authorized-admin.guard";
+import {MessageFilterComponent} from "./messagefilter/messagefilter.component";
+import {ServiceGroupComponent} from "./servicegroup/servicegroup.component";
+import {DomainComponent} from "./domain/domain.component";
+import {UserComponent} from "./user/user.component";
+import {TruststoreComponent} from "./truststore/truststore.component";
+import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
+import {ServicegroupMetadatalistDialogComponent} from "./servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component";
+import {RowLimiterComponent} from "./common/row-limiter/row-limiter.component";
+import {DatePipe} from "./customDate/datePipe";
+import {CapitalizeFirstPipe} from "./common/capitalizefirst.pipe";
+import {DefaultPasswordDialogComponent} from "./security/default-password-dialog/default-password-dialog.component";
+import {ServicegroupDetailsDialogComponent} from "./servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component";
+import {ErrorlogDetailsComponent} from "./errorlog/errorlog-details/errorlog-details.component";
+import {EditMessageFilterComponent} from "./messagefilter/editmessagefilter-form/editmessagefilter-form.component";
+import {CancelDialogComponent} from "./common/cancel-dialog/cancel-dialog.component";
+import {DirtyGuard} from "./common/dirty.guard";
+import {SaveDialogComponent} from "./common/save-dialog/save-dialog.component";
+import {TruststoreDialogComponent} from "./truststore/truststore-dialog/truststore-dialog.component";
+import {TrustStoreUploadComponent} from "./truststore/truststore-upload/truststore-upload.component";
+import {ColumnPickerComponent} from "./common/column-picker/column-picker.component";
+import {PageHelperComponent} from "./common/page-helper/page-helper.component";
+import {SharedModule} from "./common/module/SharedModule";;
+import {ClearInvalidDirective} from "./customDate/clearInvalid.directive";
+import {PageHeaderComponent} from "./common/page-header/page-header.component";
+import {DomainSelectorComponent} from "./common/domain-selector/domain-selector.component";
+import {AlertsComponent} from "./alerts/alerts.component";
+
+import {SearchTableComponent} from "./common/searchtable/searchtable.component";
+import {ServiceGroupExtensionDialogComponent} from "./servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component";
+import {ServicegroupMetadataDialogComponent} from "./servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component";
+import {DomainDetailsDialogComponent} from "./domain/domain-details-dialog/domain-details-dialog.component";
+import {UserDetailsDialogComponent} from "./user/user-details-dialog/user-details-dialog.component";
+
+
+export function extendedHttpClientFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, httpEventService: HttpEventService) {
+  return new ExtendedHttpClient(xhrBackend, requestOptions, httpEventService);
+}
+
+@NgModule({
+  declarations: [
+    AppComponent,
+    LoginComponent,
+    HomeComponent,
+    MessageFilterComponent,
+    ServiceGroupComponent,
+    DomainComponent,
+    DomainDetailsDialogComponent,
+    UserComponent,
+    ErrorLogComponent,
+    AlertComponent,
+    FooterComponent,
+    IsAuthorized,
+    TruststoreComponent,
+    SaveDialogComponent,
+    ServicegroupMetadatalistDialogComponent,
+    ServicegroupMetadataDialogComponent,
+    ServiceGroupExtensionDialogComponent,
+    CancelDialogComponent,
+    RowLimiterComponent,
+    DatePipe,
+    CapitalizeFirstPipe,
+    DefaultPasswordDialogComponent,
+    EditMessageFilterComponent,
+    ServicegroupDetailsDialogComponent,
+    ErrorlogDetailsComponent,
+    TruststoreDialogComponent,
+    TrustStoreUploadComponent,
+    ColumnPickerComponent,
+    TrustStoreUploadComponent,
+    PageHelperComponent,
+    ClearInvalidDirective,
+    PageHeaderComponent,
+    DomainSelectorComponent,
+    AlertsComponent,
+    SearchTableComponent,
+    UserDetailsDialogComponent
+  ],
+  entryComponents: [
+    AppComponent,
+    ServicegroupMetadatalistDialogComponent,
+    ServicegroupMetadataDialogComponent,
+    ServicegroupDetailsDialogComponent,
+    ServiceGroupExtensionDialogComponent,
+    DomainDetailsDialogComponent,
+    UserDetailsDialogComponent,
+    CancelDialogComponent,
+    SaveDialogComponent,
+    DefaultPasswordDialogComponent,
+    EditMessageFilterComponent,
+    ErrorlogDetailsComponent,
+    TruststoreDialogComponent,
+    TrustStoreUploadComponent,
+  ],
+  imports: [
+    BrowserModule,
+    BrowserAnimationsModule,
+    FormsModule,
+    HttpModule,
+    NgxDatatableModule,
+    MdButtonModule,
+    MdDialogModule,
+    MdTooltipModule,
+    MdMenuModule,
+    MdInputModule,
+    MdIconModule,
+    MdListModule,
+    MdSidenavModule,
+    MdSelectModule,
+    routing,
+    ReactiveFormsModule,
+    Md2Module,
+    Md2SelectModule,
+    SharedModule,
+    MdExpansionModule
+  ],
+  providers: [
+    AuthenticatedGuard,
+    AuthorizedGuard,
+    AuthorizedAdminGuard,
+    DirtyGuard,
+    HttpEventService,
+    SecurityService,
+    SecurityEventService,
+    DomainService,
+    DomibusInfoService,
+    AlertService,
+    {
+      provide: Http,
+      useFactory: extendedHttpClientFactory,
+      deps: [XHRBackend, RequestOptions, HttpEventService],
+      multi: false
+    }
+  ],
+  bootstrap: [AppComponent]
+})
+export class AppModule {
+}
diff --git a/smp-angular/src/app/app.routes.ts b/smp-angular/src/app/app.routes.ts
new file mode 100644
index 000000000..7f178f7bf
--- /dev/null
+++ b/smp-angular/src/app/app.routes.ts
@@ -0,0 +1,24 @@
+import {RouterModule, Routes} from '@angular/router';
+import {LoginComponent} from './login/login.component';
+import {ServiceGroupComponent} from './servicegroup/servicegroup.component';
+import {DomainComponent} from './domain/domain.component';
+import {AuthenticatedGuard} from './guards/authenticated.guard';
+import {AuthorizedAdminGuard} from './guards/authorized-admin.guard';
+import {UserComponent} from './user/user.component';
+import {TruststoreComponent} from 'app/truststore/truststore.component';
+
+
+const appRoutes: Routes = [
+  {path: '', component: ServiceGroupComponent},
+  {path: 'servicegroup', component: ServiceGroupComponent},
+  {path: 'domain', component: DomainComponent},
+  {path: 'user', component: UserComponent},
+
+  {path: 'truststore', component: TruststoreComponent, canActivate: [AuthenticatedGuard, AuthorizedAdminGuard]},
+
+  {path: 'login', component: LoginComponent},
+  {path: '**', component: ServiceGroupComponent, canActivate: [AuthenticatedGuard]}
+
+];
+
+export const routing = RouterModule.forRoot(appRoutes);
diff --git a/smp-angular/src/app/appinfo/domibusinfo.service.ts b/smp-angular/src/app/appinfo/domibusinfo.service.ts
new file mode 100644
index 000000000..5f77bc697
--- /dev/null
+++ b/smp-angular/src/app/appinfo/domibusinfo.service.ts
@@ -0,0 +1,31 @@
+import {Injectable} from "@angular/core";
+import {Http, Response} from "@angular/http";
+import {Observable} from "rxjs/Observable";
+import "rxjs/add/operator/map";
+import {Router} from "@angular/router";
+import {HttpEventService} from "../http/http.event.service";
+import {ReplaySubject} from "rxjs";
+import {DomibusInfo} from "./domibusinfo";
+
+@Injectable()
+export class DomibusInfoService {
+  constructor(private http: Http, private router: Router) {
+  }
+
+  getDomibusInfo(): Observable<DomibusInfo> {
+    let subject = new ReplaySubject();
+    this.http.get('rest/application/info')
+      .map((response: Response) => {
+        let domibusInfo = new DomibusInfo(response.json().version);
+        return domibusInfo;
+      })
+      .subscribe((res: DomibusInfo) => {
+        subject.next(res);
+      }, (error: any) => {
+        console.log("getDomibusInfo:" + error);
+        // subject.next(null);
+      });
+    return subject.asObservable();
+  }
+
+}
diff --git a/smp-angular/src/app/appinfo/domibusinfo.ts b/smp-angular/src/app/appinfo/domibusinfo.ts
new file mode 100644
index 000000000..cc5af6e74
--- /dev/null
+++ b/smp-angular/src/app/appinfo/domibusinfo.ts
@@ -0,0 +1,5 @@
+export class DomibusInfo {
+
+  constructor(public version:string) {
+  }
+}
diff --git a/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.css b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.css
new file mode 100644
index 000000000..5e50dc67f
--- /dev/null
+++ b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.css
@@ -0,0 +1,42 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+  text-align: center;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
+
diff --git a/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.html b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.html
new file mode 100644
index 000000000..57caa638b
--- /dev/null
+++ b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.html
@@ -0,0 +1,26 @@
+<div style="width: 500px;text-align: center">
+  <h1 md-dialog-title>Do you want to cancel all unsaved operations?</h1>
+
+  <div class="divTable">
+    <div class="divTableBody">
+
+      <div class="divTableRow">
+
+        <div class="divTableCell">
+          <button md-raised-button color="primary" (click)="dialogRef.close(true)" id="yesbuttondialog_id">
+            <md-icon>check_circle</md-icon>
+            <span>Yes</span>
+          </button>
+        </div>
+
+        <div class="divTableCell">
+          <button md-raised-button color="primary" (click)="dialogRef.close(false)" id="nobuttondialog_id">
+            <md-icon>cancel</md-icon>
+            <span>No</span>
+          </button>
+        </div>
+
+      </div>
+    </div>
+  </div>
+</div>
diff --git a/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.spec.ts b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.spec.ts
new file mode 100644
index 000000000..5689e3fb5
--- /dev/null
+++ b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { CancelDialogComponent } from './cancel-dialog.component';
+
+describe('CancelDialogComponent', () => {
+  let component: CancelDialogComponent;
+  let fixture: ComponentFixture<CancelDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ CancelDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(CancelDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.ts b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.ts
new file mode 100644
index 000000000..a3dbf4d5e
--- /dev/null
+++ b/smp-angular/src/app/common/cancel-dialog/cancel-dialog.component.ts
@@ -0,0 +1,17 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-cancel-dialog',
+  templateUrl: './cancel-dialog.component.html',
+  styleUrls: ['./cancel-dialog.component.css']
+})
+export class CancelDialogComponent implements OnInit {
+
+  constructor(public dialogRef: MdDialogRef<CancelDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/common/capitalizefirst.pipe.ts b/smp-angular/src/app/common/capitalizefirst.pipe.ts
new file mode 100644
index 000000000..21402945e
--- /dev/null
+++ b/smp-angular/src/app/common/capitalizefirst.pipe.ts
@@ -0,0 +1,19 @@
+import {Pipe, PipeTransform} from '@angular/core';
+
+/*
+ * Capitalize the first letter of the string
+ * Takes a string as a value.
+ * Usage:
+ *  value | capitalizefirst
+*/
+@Pipe({
+  name: 'capitalizeFirst'
+})
+export class CapitalizeFirstPipe implements PipeTransform {
+  transform(value: string, args: any[]): string {
+    if (value === null) {
+      return 'Not assigned';
+    }
+    return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
+  }
+}
diff --git a/smp-angular/src/app/common/column-picker/column-picker-base.ts b/smp-angular/src/app/common/column-picker/column-picker-base.ts
new file mode 100644
index 000000000..231e775d6
--- /dev/null
+++ b/smp-angular/src/app/common/column-picker/column-picker-base.ts
@@ -0,0 +1,10 @@
+export class ColumnPickerBase {
+  columnSelection: boolean;
+  allColumns = [];
+  selectedColumns = [];
+
+  changeSelectedColumns(newSelectedColumns: Array<any>) {
+    this.selectedColumns = newSelectedColumns
+  }
+
+}
diff --git a/smp-angular/src/app/common/column-picker/column-picker.component.css b/smp-angular/src/app/common/column-picker/column-picker.component.css
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/smp-angular/src/app/common/column-picker/column-picker.component.css
@@ -0,0 +1 @@
+
diff --git a/smp-angular/src/app/common/column-picker/column-picker.component.html b/smp-angular/src/app/common/column-picker/column-picker.component.html
new file mode 100644
index 000000000..dbe09a919
--- /dev/null
+++ b/smp-angular/src/app/common/column-picker/column-picker.component.html
@@ -0,0 +1,25 @@
+<div style="margin-bottom:10px">
+  <a class="domibusLink hide-show-column" href="#" *ngIf="!columnSelection" (click)="toggleColumnSelection()"
+     id="columnslinkoff_id" click-stop-propagation>Show
+    columns</a>
+  <a class="domibusLink hide-show-column" href="#" *ngIf="columnSelection" (click)="toggleColumnSelection()"
+     id="columnslinkon_id" click-stop-propagation>Hide
+    columns</a>
+</div>
+
+<div *ngIf="columnSelection" style="margin-bottom: 10px;">
+  <div *ngFor='let col of allColumns' style="display: inline-block;margin:5px;">
+    <input
+      type='checkbox'
+      [id]="col.name"
+      (click)='toggle(col)'
+      [checked]='isChecked(col)'
+    />
+    <label [attr.for]="col.name">{{col.name}}</label>
+  </div>
+  <div class="all-none-selection">
+    <a href="#" class="domibusLink" id="all_id" (click)="selectAllColumns()" click-stop-propagation>All</a>
+    <a href="#" class="domibusLink" id="none_id" (click)="selectNoColumns()" click-stop-propagation>None</a>
+  </div>
+</div>
+
diff --git a/smp-angular/src/app/common/column-picker/column-picker.component.spec.ts b/smp-angular/src/app/common/column-picker/column-picker.component.spec.ts
new file mode 100644
index 000000000..61b81430e
--- /dev/null
+++ b/smp-angular/src/app/common/column-picker/column-picker.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ColumnPickerComponent } from './column-picker.component';
+
+describe('ColumnPickerComponent', () => {
+  let component: ColumnPickerComponent;
+  let fixture: ComponentFixture<ColumnPickerComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ColumnPickerComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ColumnPickerComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/column-picker/column-picker.component.ts b/smp-angular/src/app/common/column-picker/column-picker.component.ts
new file mode 100644
index 000000000..4a5e17c9f
--- /dev/null
+++ b/smp-angular/src/app/common/column-picker/column-picker.component.ts
@@ -0,0 +1,77 @@
+import {Component, EventEmitter, Input, OnInit, Output} from "@angular/core";
+import {isNullOrUndefined} from "util";
+
+@Component({
+  selector: 'app-column-picker',
+  templateUrl: './column-picker.component.html',
+  styleUrls: ['./column-picker.component.css']
+})
+export class ColumnPickerComponent implements OnInit {
+
+  columnSelection: boolean;
+
+  @Input()
+  allColumns = [];
+
+  @Input()
+  selectedColumns = [];
+
+  @Output()
+  onSelectedColumnsChanged = new EventEmitter<Array<any>>();
+
+  constructor() {
+  }
+
+  ngOnInit() {
+  }
+
+  toggleColumnSelection() {
+    this.columnSelection = !this.columnSelection
+  }
+
+  /*
+  * Note: if an 'Actions' column exists, it will be the last one of the array
+  * */
+  toggle(col) {
+    const isChecked = this.isChecked(col);
+
+    if (isChecked) {
+      this.selectedColumns = this.selectedColumns.filter(c => {
+        return c.name !== col.name;
+      });
+    } else {
+      this.selectedColumns.splice(this.allColumns.indexOf(col), 0, col);
+      this.selectedColumns = [...this.selectedColumns];
+    }
+
+    this.setLastColumn(this.selectedColumns, 'Actions');
+
+    this.onSelectedColumnsChanged.emit(this.selectedColumns);
+  }
+
+  setLastColumn(array : Array<any>, colName : any) {
+    let col = array.find(x => x.name === colName);
+    if(!isNullOrUndefined(col)) {
+      let posCol = array.indexOf(col);
+      array.splice(posCol, 1);
+      array.push(col);
+    }
+  }
+
+  isChecked(col) {
+    return this.selectedColumns.find(c => {
+      return c.name === col.name;
+    });
+  }
+
+  selectAllColumns() {
+    this.selectedColumns = [...this.allColumns];
+    this.onSelectedColumnsChanged.emit(this.selectedColumns);
+  }
+
+  selectNoColumns() {
+    this.selectedColumns = [];
+    this.onSelectedColumnsChanged.emit(this.selectedColumns);
+  }
+
+}
diff --git a/smp-angular/src/app/common/directive/attribute/ClickStopPropagation.ts b/smp-angular/src/app/common/directive/attribute/ClickStopPropagation.ts
new file mode 100644
index 000000000..cce15ec4c
--- /dev/null
+++ b/smp-angular/src/app/common/directive/attribute/ClickStopPropagation.ts
@@ -0,0 +1,11 @@
+import {Directive, HostListener} from "@angular/core";
+
+@Directive({
+  selector: "[click-stop-propagation]"
+})
+export class ClickStopPropagationDirective {
+  @HostListener("click", ["$event"])
+  public onClick(event: any): void {
+    event.preventDefault();
+  }
+}
diff --git a/smp-angular/src/app/common/dirty-operations.ts b/smp-angular/src/app/common/dirty-operations.ts
new file mode 100644
index 000000000..a8a2b3fc4
--- /dev/null
+++ b/smp-angular/src/app/common/dirty-operations.ts
@@ -0,0 +1,3 @@
+export interface DirtyOperations {
+  isDirty(): boolean;
+}
diff --git a/smp-angular/src/app/common/dirty.guard.spec.ts b/smp-angular/src/app/common/dirty.guard.spec.ts
new file mode 100644
index 000000000..c0e5d97cf
--- /dev/null
+++ b/smp-angular/src/app/common/dirty.guard.spec.ts
@@ -0,0 +1,15 @@
+import { TestBed, async, inject } from '@angular/core/testing';
+
+import { DirtyGuard } from './dirty.guard';
+
+describe('DirtyGuard', () => {
+  beforeEach(() => {
+    TestBed.configureTestingModule({
+      providers: [DirtyGuard]
+    });
+  });
+
+  it('should ...', inject([DirtyGuard], (guard: DirtyGuard) => {
+    expect(guard).toBeTruthy();
+  }));
+});
diff --git a/smp-angular/src/app/common/dirty.guard.ts b/smp-angular/src/app/common/dirty.guard.ts
new file mode 100644
index 000000000..0a32d7e61
--- /dev/null
+++ b/smp-angular/src/app/common/dirty.guard.ts
@@ -0,0 +1,23 @@
+import { Injectable } from '@angular/core';
+import {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanDeactivate} from '@angular/router';
+import { Observable } from 'rxjs/Observable';
+import {MdDialog} from "@angular/material";
+import {CancelDialogComponent} from "./cancel-dialog/cancel-dialog.component";
+
+@Injectable()
+export class DirtyGuard implements CanActivate, CanDeactivate<any> {
+
+  constructor(public dialog: MdDialog) {
+
+  };
+
+  canActivate(next: ActivatedRouteSnapshot,
+              state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
+    return true;
+  }
+
+  canDeactivate(component: any, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
+    if (component.isDirty && !component.isDirty()) return true;
+    return this.dialog.open(CancelDialogComponent).afterClosed();
+  }
+}
diff --git a/smp-angular/src/app/common/domain-selector/domain-selector.component.css b/smp-angular/src/app/common/domain-selector/domain-selector.component.css
new file mode 100644
index 000000000..333d7e7a4
--- /dev/null
+++ b/smp-angular/src/app/common/domain-selector/domain-selector.component.css
@@ -0,0 +1,8 @@
+:host {
+	float: right;
+	margin-right: 120px;
+}
+
+:host /deep/ .mat-select-trigger {
+  min-width: 140px;
+}
diff --git a/smp-angular/src/app/common/domain-selector/domain-selector.component.html b/smp-angular/src/app/common/domain-selector/domain-selector.component.html
new file mode 100644
index 000000000..f081b5144
--- /dev/null
+++ b/smp-angular/src/app/common/domain-selector/domain-selector.component.html
@@ -0,0 +1,5 @@
+<md-select *ngIf="showDomains" [(ngModel)]="domainCode" (change)="changeDomain()">
+	<md-option *ngFor="let d of domains" [value]="d.code">
+	  {{d.name}}
+	</md-option>
+</md-select>
diff --git a/smp-angular/src/app/common/domain-selector/domain-selector.component.spec.ts b/smp-angular/src/app/common/domain-selector/domain-selector.component.spec.ts
new file mode 100644
index 000000000..4b7120c65
--- /dev/null
+++ b/smp-angular/src/app/common/domain-selector/domain-selector.component.spec.ts
@@ -0,0 +1,25 @@
+import {async, ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {DomainSelectorComponent} from "./domain-selector.component";
+
+describe('DomainSelectorComponent', () => {
+  let component: DomainSelectorComponent;
+  let fixture: ComponentFixture<DomainSelectorComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [DomainSelectorComponent]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(DomainSelectorComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/domain-selector/domain-selector.component.ts b/smp-angular/src/app/common/domain-selector/domain-selector.component.ts
new file mode 100644
index 000000000..ee6bf1f9c
--- /dev/null
+++ b/smp-angular/src/app/common/domain-selector/domain-selector.component.ts
@@ -0,0 +1,55 @@
+import {Component, OnInit, Input} from '@angular/core';
+import {SecurityService} from '../../security/security.service';
+import {DomainService} from '../../security/domain.service';
+import {Domain} from '../../security/domain';
+import {MdDialog} from '@angular/material';
+import {CancelDialogComponent} from '../cancel-dialog/cancel-dialog.component';
+
+@Component({
+  selector: 'domain-selector',
+  templateUrl: './domain-selector.component.html',
+  styleUrls: ['./domain-selector.component.css']
+})
+export class DomainSelectorComponent implements OnInit {
+
+  showDomains: boolean;
+  currentDomainCode: string;
+  domainCode: string;
+  domains: Domain[];
+
+  @Input()
+  currentComponent: any;
+
+  constructor (private domainService: DomainService, private securityService: SecurityService, private dialog: MdDialog) {
+  }
+
+  ngOnInit () {
+    this.domainService.isMultiDomain().subscribe((isMultiDomain: boolean) => {
+      if (isMultiDomain && this.securityService.isCurrentUserSuperAdmin()) {
+        this.showDomains = true;
+        this.domainService.getCurrentDomain().subscribe((domain: Domain) => this.domainCode = this.currentDomainCode = domain ? domain.code : null);
+        this.domainService.getDomains().subscribe((domains: Domain[]) => this.domains = domains);
+      }
+    });
+  }
+
+  changeDomain () {
+    let canChangeDomain = Promise.resolve(true);
+    if (this.currentComponent && this.currentComponent.isDirty && this.currentComponent.isDirty()) {
+      canChangeDomain = this.dialog.open(CancelDialogComponent).afterClosed().toPromise<boolean>();
+    }
+
+    canChangeDomain.then((canChange: boolean) => {
+      if (!canChange) throw false;
+
+      let domain = this.domains.find(d => d.code == this.domainCode);
+      this.domainService.setCurrentDomain(domain).then(() => {
+        if (this.currentComponent.ngOnInit)
+          this.currentComponent.ngOnInit();
+      });
+
+    }).catch(() => { // domain not changed -> reset the combo value
+      this.domainCode = this.currentDomainCode;
+    });
+  }
+}
diff --git a/smp-angular/src/app/common/module/SharedModule.ts b/smp-angular/src/app/common/module/SharedModule.ts
new file mode 100644
index 000000000..764139f59
--- /dev/null
+++ b/smp-angular/src/app/common/module/SharedModule.ts
@@ -0,0 +1,14 @@
+import {NgModule} from "@angular/core";
+
+import {ClickStopPropagationDirective} from "app/common/directive/attribute/ClickStopPropagation";
+
+@NgModule({
+  declarations: [
+    ClickStopPropagationDirective
+  ],
+  exports: [
+    ClickStopPropagationDirective
+  ]
+})
+export class SharedModule {
+}
diff --git a/smp-angular/src/app/common/page-header/page-header.component.css b/smp-angular/src/app/common/page-header/page-header.component.css
new file mode 100644
index 000000000..e25fefba3
--- /dev/null
+++ b/smp-angular/src/app/common/page-header/page-header.component.css
@@ -0,0 +1,4 @@
+:host:before {
+	display: none !important;
+	content: '' !important;
+}
diff --git a/smp-angular/src/app/common/page-header/page-header.component.html b/smp-angular/src/app/common/page-header/page-header.component.html
new file mode 100644
index 000000000..596222714
--- /dev/null
+++ b/smp-angular/src/app/common/page-header/page-header.component.html
@@ -0,0 +1,4 @@
+<h1>
+	<span *ngIf="isMultiDomain">{{currentDomain}}:</span>
+	<ng-content></ng-content>
+</h1>
diff --git a/smp-angular/src/app/common/page-header/page-header.component.spec.ts b/smp-angular/src/app/common/page-header/page-header.component.spec.ts
new file mode 100644
index 000000000..999d24a32
--- /dev/null
+++ b/smp-angular/src/app/common/page-header/page-header.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { PageHeaderComponent } from './page-header.component';
+
+describe('PageHeaderComponent', () => {
+  let component: PageHeaderComponent;
+  let fixture: ComponentFixture<PageHeaderComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ PageHeaderComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(PageHeaderComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/page-header/page-header.component.ts b/smp-angular/src/app/common/page-header/page-header.component.ts
new file mode 100644
index 000000000..d3abeda9e
--- /dev/null
+++ b/smp-angular/src/app/common/page-header/page-header.component.ts
@@ -0,0 +1,27 @@
+import {Component, EventEmitter, Input, OnInit} from "@angular/core";
+import {DomainService} from "../../security/domain.service";
+import {Domain} from "../../security/domain";
+
+@Component({
+  selector: 'page-header',
+  templateUrl: './page-header.component.html',
+  styleUrls: ['./page-header.component.css']
+})
+export class PageHeaderComponent implements OnInit {
+
+  isMultiDomain: boolean;
+  currentDomain: string;
+
+  constructor(private domainService : DomainService) {
+  }
+
+  ngOnInit() {
+    this.domainService.isMultiDomain().subscribe((isMultiDomain: boolean) => {
+      this.isMultiDomain = isMultiDomain;
+      if (isMultiDomain) {
+        this.domainService.getCurrentDomain().subscribe((domain: Domain) => this.currentDomain = domain ? domain.name : '');
+      }
+    });
+  }
+
+}
diff --git a/smp-angular/src/app/common/page-helper/page-helper.component.css b/smp-angular/src/app/common/page-helper/page-helper.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/common/page-helper/page-helper.component.html b/smp-angular/src/app/common/page-helper/page-helper.component.html
new file mode 100644
index 000000000..ca0f502db
--- /dev/null
+++ b/smp-angular/src/app/common/page-helper/page-helper.component.html
@@ -0,0 +1,3 @@
+<a (click)="openHelpDialog()" *ngIf="activateHelp">
+  <md-icon md-tooltip="Help" style="cursor: pointer">help</md-icon>
+</a>
diff --git a/smp-angular/src/app/common/page-helper/page-helper.component.spec.ts b/smp-angular/src/app/common/page-helper/page-helper.component.spec.ts
new file mode 100644
index 000000000..1e3c09ef6
--- /dev/null
+++ b/smp-angular/src/app/common/page-helper/page-helper.component.spec.ts
@@ -0,0 +1,25 @@
+import {async, ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {PageHelperComponent} from "./page-helper.component";
+
+describe('PageHelperComponent', () => {
+  let component: PageHelperComponent;
+  let fixture: ComponentFixture<PageHelperComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [PageHelperComponent]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(PageHelperComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/page-helper/page-helper.component.ts b/smp-angular/src/app/common/page-helper/page-helper.component.ts
new file mode 100644
index 000000000..529f0a82f
--- /dev/null
+++ b/smp-angular/src/app/common/page-helper/page-helper.component.ts
@@ -0,0 +1,51 @@
+import {Component, OnInit} from "@angular/core";
+import {MdDialog} from "@angular/material";
+import {NavigationStart, Router} from "@angular/router";
+import {isNullOrUndefined} from "util";
+
+@Component({
+  selector: 'page-helper',
+  templateUrl: './page-helper.component.html',
+  styleUrls: ['./page-helper.component.css']
+})
+export class PageHelperComponent implements OnInit {
+
+  pageName: string;
+  helpPages: Map<String, String> = new Map<String, String>();
+  activateHelp: boolean = false;
+
+  constructor(public dialog: MdDialog, private router: Router) {
+  }
+
+  ngOnInit() {
+    let MAIN_HELP_PAGE = "https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/Domibus+v3.3+Admin+Console+Help";
+    let VERSION_SPECIFIC_PAGE = "#Domibusv3.3AdminConsoleHelp-";
+
+    this.helpPages.set("/", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "Messages");
+    this.helpPages.set("/login", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "Login");
+    this.helpPages.set("/messagefilter", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "MessageFilter");
+    this.helpPages.set("/truststore", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "Truststore");
+    this.helpPages.set("/pmode", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "PMode");
+    this.helpPages.set("/errorlog", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "ErrorLog");
+    this.helpPages.set("/jms", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "JMSMonitoring");
+    this.helpPages.set("/user", MAIN_HELP_PAGE + VERSION_SPECIFIC_PAGE + "Users");
+    this.router.events.subscribe(event => {
+      if (event instanceof NavigationStart) {
+        console.log("Navigation change [" + event.url + "]");
+        let page = this.helpPages.get(event.url);
+        if (isNullOrUndefined(page)) {
+          this.activateHelp = false;
+        } else {
+          this.activateHelp = true;
+          this.pageName = page.toString();
+        }
+      }
+    });
+  }
+
+
+  openHelpDialog() {
+    window.open(this.pageName, "_blank");
+  }
+
+}
diff --git a/smp-angular/src/app/common/row-limiter/row-limiter-base.ts b/smp-angular/src/app/common/row-limiter/row-limiter-base.ts
new file mode 100644
index 000000000..76c0fd64b
--- /dev/null
+++ b/smp-angular/src/app/common/row-limiter/row-limiter-base.ts
@@ -0,0 +1,11 @@
+export class RowLimiterBase {
+
+  pageSizes: Array<any> = [
+    {key: '10', value: 10},
+    {key: '25', value: 25},
+    {key: '50', value: 50},
+    {key: '100', value: 100}
+  ];
+
+  pageSize: number = this.pageSizes[0].value;
+}
diff --git a/smp-angular/src/app/common/row-limiter/row-limiter.component.css b/smp-angular/src/app/common/row-limiter/row-limiter.component.css
new file mode 100644
index 000000000..139597f9c
--- /dev/null
+++ b/smp-angular/src/app/common/row-limiter/row-limiter.component.css
@@ -0,0 +1,2 @@
+
+
diff --git a/smp-angular/src/app/common/row-limiter/row-limiter.component.html b/smp-angular/src/app/common/row-limiter/row-limiter.component.html
new file mode 100644
index 000000000..196e7bc58
--- /dev/null
+++ b/smp-angular/src/app/common/row-limiter/row-limiter.component.html
@@ -0,0 +1,9 @@
+<div>
+  <md-select placeholder="Rows" [(ngModel)]="pageSize" name="pageSize" (change)="changePageSize($event)"
+             id="pagesize_id">
+    <md-option *ngFor="let rowLimit of pageSizes" [value]="rowLimit.value">
+      {{rowLimit.key}}
+    </md-option>
+  </md-select>
+</div>
+
diff --git a/smp-angular/src/app/common/row-limiter/row-limiter.component.spec.ts b/smp-angular/src/app/common/row-limiter/row-limiter.component.spec.ts
new file mode 100644
index 000000000..da68e909e
--- /dev/null
+++ b/smp-angular/src/app/common/row-limiter/row-limiter.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { RowLimiterComponent } from './row-limiter.component';
+
+describe('RowLimiterComponent', () => {
+  let component: RowLimiterComponent;
+  let fixture: ComponentFixture<RowLimiterComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ RowLimiterComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(RowLimiterComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/common/row-limiter/row-limiter.component.ts b/smp-angular/src/app/common/row-limiter/row-limiter.component.ts
new file mode 100644
index 000000000..77d1ff930
--- /dev/null
+++ b/smp-angular/src/app/common/row-limiter/row-limiter.component.ts
@@ -0,0 +1,30 @@
+import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
+
+@Component({
+  selector: 'app-row-limiter',
+  templateUrl: './row-limiter.component.html',
+  styleUrls: ['./row-limiter.component.css']
+})
+export class RowLimiterComponent implements OnInit {
+
+  @Input()
+  pageSizes: Array<any>;
+
+  @Output()
+  private onPageSizeChanged = new EventEmitter<number>();
+
+  pageSize: number;
+
+  constructor() {
+  }
+
+  ngOnInit() {
+    this.pageSize = this.pageSizes[0].value;
+  }
+
+  changePageSize(newPageLimit:number) {
+    this.onPageSizeChanged.emit(newPageLimit);
+    console.log('New page limit:', newPageLimit);
+  }
+
+}
diff --git a/smp-angular/src/app/common/save-dialog/save-dialog.component.css b/smp-angular/src/app/common/save-dialog/save-dialog.component.css
new file mode 100644
index 000000000..5e50dc67f
--- /dev/null
+++ b/smp-angular/src/app/common/save-dialog/save-dialog.component.css
@@ -0,0 +1,42 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+  text-align: center;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
+
diff --git a/smp-angular/src/app/common/save-dialog/save-dialog.component.html b/smp-angular/src/app/common/save-dialog/save-dialog.component.html
new file mode 100644
index 000000000..1d326fcb6
--- /dev/null
+++ b/smp-angular/src/app/common/save-dialog/save-dialog.component.html
@@ -0,0 +1,27 @@
+<div style="width: 500px;text-align: center">
+  <h1 md-dialog-title>Do you want to save your changes?</h1>
+
+  <div class="divTable">
+    <div class="divTableBody">
+
+      <div class="divTableRow">
+
+        <div class="divTableCell">
+          <button md-raised-button color="primary" (click)="dialogRef.close(true)" id="yesbuttondialog_id">
+            <md-icon>check_circle</md-icon>
+            <span>Yes</span>
+          </button>
+        </div>
+
+        <div class="divTableCell">
+          <button md-raised-button color="primary" (click)="dialogRef.close(false)" id="nobuttondialog_id">
+            <md-icon>cancel</md-icon>
+            <span>No</span>
+          </button>
+        </div>
+
+      </div>
+    </div>
+  </div>
+</div>
+
diff --git a/smp-angular/src/app/common/save-dialog/save-dialog.component.spec.ts b/smp-angular/src/app/common/save-dialog/save-dialog.component.spec.ts
new file mode 100644
index 000000000..2edb76189
--- /dev/null
+++ b/smp-angular/src/app/common/save-dialog/save-dialog.component.spec.ts
@@ -0,0 +1,26 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SaveDialogComponent } from './save-dialog.component';
+
+describe('ServicegroupExtensionDialogComponent', () => {
+  let component: SaveDialogComponent;
+  let fixture: ComponentFixture<SaveDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ SaveDialogComponent ]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(SaveDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
+
diff --git a/smp-angular/src/app/common/save-dialog/save-dialog.component.ts b/smp-angular/src/app/common/save-dialog/save-dialog.component.ts
new file mode 100644
index 000000000..0c3e764bb
--- /dev/null
+++ b/smp-angular/src/app/common/save-dialog/save-dialog.component.ts
@@ -0,0 +1,17 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-messagefilter-dialog',
+  templateUrl: './save-dialog.component.html',
+  styleUrls: ['./save-dialog.component.css']
+})
+export class SaveDialogComponent implements OnInit {
+
+  constructor(public dialogRef: MdDialogRef<SaveDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+}
+
diff --git a/smp-angular/src/app/common/searchtable/searchtable-controller.ts b/smp-angular/src/app/common/searchtable/searchtable-controller.ts
new file mode 100644
index 000000000..16cb32050
--- /dev/null
+++ b/smp-angular/src/app/common/searchtable/searchtable-controller.ts
@@ -0,0 +1,15 @@
+export class SearchTableController {
+
+
+  showDetails(row: any) {
+
+  }
+
+  edit(row: any) {
+
+  }
+
+  delete(row: any) {
+
+  }
+}
diff --git a/smp-angular/src/app/common/searchtable/searchtable.component.css b/smp-angular/src/app/common/searchtable/searchtable.component.css
new file mode 100644
index 000000000..d1a612141
--- /dev/null
+++ b/smp-angular/src/app/common/searchtable/searchtable.component.css
@@ -0,0 +1,18 @@
+/* --- Select ---*/
+.mat-select{
+  padding:20px 0;
+}
+
+/* --- Button  ---*/
+.group-btn {
+   margin-top:20px;
+ }
+
+#hiddenButtonId {
+  position: fixed;
+}
+
+
+.datatable-body{
+  overflow-y: scroll;
+}
diff --git a/smp-angular/src/app/common/searchtable/searchtable.component.html b/smp-angular/src/app/common/searchtable/searchtable.component.html
new file mode 100644
index 000000000..3135c062c
--- /dev/null
+++ b/smp-angular/src/app/common/searchtable/searchtable.component.html
@@ -0,0 +1,111 @@
+<div style="position: absolute; top: 5px; bottom: 5px; left: 5px; right: 5px;">
+  <page-header id="{{id}}_header_id">{{title}}</page-header>
+
+  <div class="selectionCriteria">
+    <md-card>
+
+      <md-card-content>
+
+        <div class="panel">
+          <form name="filterForm" #filterForm="ngForm" (ngSubmit)="search()">
+            <ng-container *ngTemplateOutlet="searchPanel"></ng-container>
+
+            <div class="searchArea">
+              <button md-raised-button color="primary" [disabled]="!filterForm.form.valid" id="searchbutton_id">
+                <md-icon>search</md-icon>
+                <span>Search</span>
+              </button>
+            </div>
+          </form>
+        </div>
+      </md-card-content>
+    </md-card>
+  </div>
+
+  <div class="panel" style="position: absolute; top: 270px; bottom: 5px; left: 5px; right: 5px;">
+    <div class="group-filter-button">
+    <span class="row-button">
+      <app-row-limiter [pageSizes]="rowLimiter.pageSizes"
+                       (onPageSizeChanged)="changePageSize($event.value)"></app-row-limiter>
+    </span>
+      <span class="column-filter-button">
+      <app-column-picker [allColumns]="columnPicker.allColumns" [selectedColumns]="columnPicker.selectedColumns"
+                         (onSelectedColumnsChanged)="columnPicker.changeSelectedColumns($event)"></app-column-picker>
+    </span>
+    </div>
+    <!-- temporal solution <div - absolut - wrapping> for stretch table height to fit screen size: scrollbarV does not work - virtual scrolling has
+    row bugs.-->
+    <div class="panel" style="position: absolute; overflow-y: scroll;top: 100px; bottom: 40px; left: 0px; right: 0px;">
+      <ngx-datatable
+        id="serviceGroupTable"
+        class="material striped"
+        style=""
+        [rows]="rows"
+        [columns]="columnPicker.selectedColumns"
+        [columnMode]="'force'"
+        [headerHeight]="50"
+        [footerHeight]="50"
+        [rowHeight]="'auto'"
+        [scrollbarH]="true"
+        [externalPaging]="true"
+        [externalSorting]="true"
+        [loadingIndicator]="loading"
+        [count]="count"
+        [offset]="offset"
+        [limit]="rowLimiter.pageSize"
+        [sorts]="[{prop: 'received', dir: 'desc'}]"
+        (page)='onPage($event)'
+        (sort)="onSort($event)"
+        [selected]="selected"
+        [selectionType]="'multi'"
+        (activate)="onActivate($event)"
+        (select)="onSelect($event)">
+      </ngx-datatable>
+    </div>
+
+    <ng-template #rowActions let-row="row" let-value="value" ngx-datatable-cell-template>
+
+      <button md-icon-button color="primary"
+              (click)="editRowButtonAction(row)" id="editButtonRow{{row.$$index}}_id" tooltip="Edit">
+        <md-icon>edit</md-icon>
+      </button>
+
+
+      <button md-icon-button color="primary" (click)="deleteRowButtonAction(row)"
+              id="deleteButtonRow{{row.$$index}}_id" tooltip="Delete">
+        <md-icon>delete</md-icon>
+      </button>
+    </ng-template>
+
+
+    <div class="group-action-button" style="position: absolute;left: 8px; bottom: 8px;">
+      <button md-raised-button color="primary"  (click)="newButtonAction()"
+              id="add_id">
+        <md-icon>add</md-icon>
+        <span>New</span>
+      </button>
+
+      <button md-raised-button color="primary" [disabled]="!isRowSelected()" (click)="editButtonAction()"
+              id="edit_id">
+        <md-icon>edit</md-icon>
+        <span>Edit</span>
+      </button>
+
+      <button md-raised-button color="primary" [disabled]="!isRowSelected()" (click)="deleteButtonAction()"
+              id="resendbutton_id">
+        <md-icon>delete</md-icon>
+        <span>Delete</span>
+      </button>
+
+      <ng-container *ngTemplateOutlet="additionalToolButtons"></ng-container>
+
+    </div>
+  </div>
+
+
+</div>
+
+<!--
+
+
+-->
diff --git a/smp-angular/src/app/common/searchtable/searchtable.component.ts b/smp-angular/src/app/common/searchtable/searchtable.component.ts
new file mode 100644
index 000000000..55e365934
--- /dev/null
+++ b/smp-angular/src/app/common/searchtable/searchtable.component.ts
@@ -0,0 +1,215 @@
+import {Component, EventEmitter, Input, TemplateRef, ViewChild} from "@angular/core";
+import {Http, URLSearchParams, Response} from "@angular/http";
+import {SearchTableResult} from "./searchtableresult";
+import {Observable} from "rxjs";
+import {AlertService} from "../../alert/alert.service";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {ColumnPickerBase} from "../column-picker/column-picker-base";
+import {RowLimiterBase} from "../row-limiter/row-limiter-base";
+import {AlertComponent} from "../../alert/alert.component";
+import {SearchTableController} from "./searchtable-controller";
+
+@Component({
+  selector: 'smp-search-table',
+  templateUrl: './searchtable.component.html',
+  providers: [],
+  styleUrls: ['./searchtable.component.css']
+})
+
+export class SearchTableComponent {
+  @ViewChild('rowActions') rowActions: TemplateRef<any>;
+
+  @Input() @ViewChild('additionalToolButtons') additionalToolButtons: TemplateRef<any>;
+  @Input() @ViewChild('searchPanel') searchPanel: TemplateRef<any>;
+
+
+
+
+  @Input() id: String = "";
+  @Input() title: String = "";
+  @Input() columnPicker: ColumnPickerBase;
+  @Input() url: string = '';
+  @Input() searchTableController: SearchTableController;
+  @Input() filter: any = {};
+
+
+
+  columnActions:any;
+
+  rowLimiter: RowLimiterBase = new RowLimiterBase();
+
+  selected = [];
+
+
+
+  loading: boolean = false;
+  rows = [];
+  count: number = 0;
+  offset: number = 0;
+  //default value
+  orderBy: string = null;
+  //default value
+  asc: boolean = false;
+
+  msgStatus: Array<String>;
+
+
+  messageResent = new EventEmitter(false);
+
+  constructor(protected http: Http, protected alertService: AlertService, public dialog: MdDialog) {
+  }
+
+  ngOnInit() {
+
+    this.columnActions = {
+      cellTemplate: this.rowActions,
+      name: 'Actions',
+      width: 80,
+      sortable: false
+    };
+    /**
+     * Add actions to last column
+     */
+    if (this.columnPicker) {
+      this.columnPicker.allColumns.push(this.columnActions);
+
+      this.columnPicker.selectedColumns.push(this.columnActions);
+    }
+    this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+  }
+
+  getTableDataEntries(offset: number, pageSize: number, orderBy: string, asc: boolean): Observable< SearchTableResult > {
+    let searchParams: URLSearchParams = new URLSearchParams();
+    searchParams.set('page', offset.toString());
+    searchParams.set('pageSize', pageSize.toString());
+    searchParams.set('orderBy', orderBy);
+
+    //filters
+    if (this.filter.participantId) {
+      searchParams.set('participantId', this.filter.participantId);
+    }
+
+    if (this.filter.participantSchema) {
+      searchParams.set('participantSchema', this.filter.participantSchema);
+    }
+
+
+    if(this.filter.domain) {
+      searchParams.set('domain', this.filter.domain )
+    }
+
+    if (asc != null) {
+      searchParams.set('asc', asc.toString());
+    }
+
+    return this.http.get(this.url, {
+      search: searchParams
+    }).map((response: Response) =>
+      response.json()
+    );
+  }
+
+  page(offset, pageSize, orderBy, asc) {
+    this.loading = true;
+
+    this.getTableDataEntries(offset, pageSize, orderBy, asc).subscribe((result: SearchTableResult ) => {
+      console.log("service group response:" + result);
+      this.offset = offset;
+      this.rowLimiter.pageSize = pageSize;
+      this.orderBy = orderBy;
+      this.asc = asc;
+      this.count = result.count;
+      this.selected = [];
+
+      const start = offset * pageSize;
+      const end = start + pageSize;
+      const newRows = [...result.serviceEntities];
+
+      let index = 0;
+      for (let i = start; i < end; i++) {
+        newRows[i] = result.serviceEntities[index++];
+      }
+
+      this.rows = newRows;
+
+      this.loading = false;
+
+      if(this.count > AlertComponent.MAX_COUNT_CSV) {
+        this.alertService.error("Maximum number of rows reached for downloading CSV");
+      }
+    }, (error: any) => {
+      console.log("error getting the message log:" + error);
+      this.loading = false;
+      this.alertService.error("Error occured:" + error);
+    });
+  }
+
+  onPage(event) {
+    console.log('Page Event', event);
+    this.page(event.offset, event.pageSize, this.orderBy, this.asc);
+  }
+
+  onSort(event) {
+    console.log('Sort Event', event);
+    let ascending = true;
+    if (event.newValue === 'desc') {
+      ascending = false;
+    }
+    this.page(this.offset, this.rowLimiter.pageSize, event.column.prop, ascending);
+  }
+
+  onSelect({selected}) {
+    // console.log('Select Event', selected, this.selected);
+  }
+
+  onActivate(event) {
+    // console.log('Activate Event', event);
+
+    if ("dblclick" === event.type) {
+      this.details(event.row);
+    }
+  }
+
+  changePageSize(newPageLimit: number) {
+    console.log('New page limit:', newPageLimit);
+    this.page(0, newPageLimit, this.orderBy, this.asc);
+  }
+
+  search() {
+    console.log("Searching using filter:" + this.filter);
+    this.page(0, this.rowLimiter.pageSize, this.orderBy, this.asc);
+  }
+
+  isRowSelected() {
+    if (this.selected)
+      return true;
+
+    return false;
+  }
+
+
+  details(selectedRow: any) {
+    this.searchTableController.showDetails(selectedRow);
+  }
+
+  newButtonAction(){
+
+  }
+
+  editButtonAction(){
+    this.editRowButtonAction( this.selected[0]);
+  }
+
+  deleteButtonAction(){
+      // delete all seleted rows
+  }
+
+  editRowButtonAction(row: any){
+    this.details(row);
+  }
+
+  deleteRowButtonAction(row: any){
+
+  }
+
+}
diff --git a/smp-angular/src/app/common/searchtable/searchtableresult.ts b/smp-angular/src/app/common/searchtable/searchtableresult.ts
new file mode 100644
index 000000000..f09349b02
--- /dev/null
+++ b/smp-angular/src/app/common/searchtable/searchtableresult.ts
@@ -0,0 +1,11 @@
+
+export class SearchTableResult {
+
+  constructor(public serviceEntities: Array<any>,
+              public pageSize: number,
+              public count: number,
+              public filter: any
+              ) {
+
+  }
+}
diff --git a/smp-angular/src/app/customDate/clearInvalid.directive.ts b/smp-angular/src/app/customDate/clearInvalid.directive.ts
new file mode 100644
index 000000000..b6941ea03
--- /dev/null
+++ b/smp-angular/src/app/customDate/clearInvalid.directive.ts
@@ -0,0 +1,34 @@
+import {Directive, ElementRef, OnInit, OnDestroy} from '@angular/core';
+import {Md2Datepicker} from 'md2';
+
+@Directive({
+  selector: '[appClearInvalid]'
+})
+export class ClearInvalidDirective implements OnInit, OnDestroy {
+  private input: any;
+
+  constructor(private el: ElementRef, private host: Md2Datepicker) {
+  }
+
+  onBlurHandler(event) {
+    if (!this.host.value) {
+      this.input.value = '';
+    }
+  }
+
+  ngOnInit() {
+    const inputList = this.el.nativeElement.getElementsByTagName('input');
+    if (inputList.length !== 1) {
+      return;
+    }
+
+    this.input = inputList[0];
+    this.input.addEventListener('blur', this.onBlurHandler.bind(this));
+  }
+
+  ngOnDestroy() {
+    if (this.input) {
+      this.input.removeEventListener('blur', this.onBlurHandler);
+    }
+  }
+}
diff --git a/smp-angular/src/app/customDate/datePipe.ts b/smp-angular/src/app/customDate/datePipe.ts
new file mode 100644
index 000000000..62033e0bf
--- /dev/null
+++ b/smp-angular/src/app/customDate/datePipe.ts
@@ -0,0 +1,41 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+  name: 'domibusDate'
+})
+
+/**
+ * This Pipe was created because Dates were not being correctly shown in IE/EDGE
+ * It's an Angular4 known issue but they didn't solve yet.
+ * When they solve it, we can delete this file and use the pipe with date and format again.
+ */
+export class DatePipe implements PipeTransform {
+  transform(value: string, type: string = ""): string {
+    if(value) {
+      let d = new Date(value);
+
+      let dd = ("0"+d.getDate()).slice(-2); //day
+      let MM = ("0"+(d.getMonth()+1)).slice(-2); //month
+      let yyyy = d.getFullYear(); //year
+      let date = `${dd}-${MM}-${yyyy}`;
+
+      let time = '';
+
+      if (type != 'short') {
+        let hh = ("0"+d.getHours()).slice(-2); //hours
+        let mm = ("0"+d.getMinutes()).slice(-2); //minutes
+        let ss = ("0"+d.getSeconds()).slice(-2); //seconds
+        let currentTimezone = (d.getTimezoneOffset()/60) * -1;
+        let gmt = 'GMT';
+        if (currentTimezone !== 0) {
+          gmt += currentTimezone > 0 ? '+' : ' ';
+          gmt += currentTimezone;
+        }
+        time = `${hh}:${mm}:${ss}${gmt}`;
+      }
+
+      return `${date} ${time}`;
+    }
+    return "";
+  }
+}
diff --git a/smp-angular/src/app/customDate/dateformat.service.ts b/smp-angular/src/app/customDate/dateformat.service.ts
new file mode 100644
index 000000000..e6791c5bd
--- /dev/null
+++ b/smp-angular/src/app/customDate/dateformat.service.ts
@@ -0,0 +1,21 @@
+import {Injectable} from "@angular/core";
+
+@Injectable()
+export class DateFormatService {
+
+  private static getFormattedDate(date: Date): string {
+    return ("0" + date.getDate()).slice(-2).toString()+"-"+
+      ("0" + (date.getMonth() + 1)).slice(-2).toString()+"-"+
+      date.getFullYear().toString();
+  }
+
+  private static getFormattedTime(date: Date): string {
+    return ("0" + date.getHours()).slice(-2).toString()+"h"+
+      ("0" + date.getMinutes()).slice(-2).toString()+"m"+
+      ("0" + date.getSeconds()).slice(-2).toString();
+  }
+
+  static format(date: Date): string {
+    return this.getFormattedDate(date) + "_" + this.getFormattedTime(date);
+  }
+}
diff --git a/smp-angular/src/app/domain/domain-controller.ts b/smp-angular/src/app/domain/domain-controller.ts
new file mode 100644
index 000000000..e650bc376
--- /dev/null
+++ b/smp-angular/src/app/domain/domain-controller.ts
@@ -0,0 +1,32 @@
+import {SearchTableController} from "../common/searchtable/searchtable-controller";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {DomainDetailsDialogComponent} from "./domain-details-dialog/domain-details-dialog.component";
+
+
+export class DomainController extends SearchTableController {
+
+  constructor(public dialog: MdDialog) {
+    super();
+  }
+
+
+  public showDetails(row: any) {
+    let dialogRef: MdDialogRef<DomainDetailsDialogComponent> = this.dialog.open(DomainDetailsDialogComponent);
+    dialogRef.componentInstance.domain = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+
+  }
+
+
+
+
+  public edit(row: any) {
+
+  }
+
+  public  delete(row: any) {
+
+  }
+}
diff --git a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.css b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
new file mode 100644
index 000000000..06802bc1d
--- /dev/null
+++ b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.html
@@ -0,0 +1,46 @@
+<h2 md-dialog-title>Domain details</h2>
+<md-dialog-content style="height:460px;width:650px">
+  <md-card>
+    <md-card-content>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Domain id" value="{{domain.domainId}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="SML SMP id" value="{{domain.bdmslSmpId}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="ClienCert header" value="{{domain.bdmslClientCertHeader}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="ClienCert alias" value="{{domain.bdmslClientCertAlias}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Signature alias" value="{{domain.signatureCertAlias}}" readonly/>
+      </md-input-container>
+
+    </md-card-content>
+  </md-card>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button" >
+  <button id="ServiceGroupsSaveButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>save</md-icon>
+    <span>Save</span>
+  </button>
+
+
+  <button id="ServiceGroupsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>close</md-icon>
+    <span>Close</span>
+  </button>
+  </div>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.spec.ts b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.spec.ts
new file mode 100644
index 000000000..801e26a0c
--- /dev/null
+++ b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupDetailsDialogComponent } from './servicegroup-details-dialog.component';
+
+describe('ServicegroupDetailsDialogComponent', () => {
+  let component: ServicegroupDetailsDialogComponent;
+  let fixture: ComponentFixture<ServicegroupDetailsDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupDetailsDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupDetailsDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.ts b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.ts
new file mode 100644
index 000000000..ed229d5bf
--- /dev/null
+++ b/smp-angular/src/app/domain/domain-details-dialog/domain-details-dialog.component.ts
@@ -0,0 +1,20 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'domain-details-dialog',
+  templateUrl: './domain-details-dialog.component.html',
+  styleUrls: ['./domain-details-dialog.component.css']
+})
+export class DomainDetailsDialogComponent implements OnInit {
+
+  domain;
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  constructor(public dialogRef: MdDialogRef<DomainDetailsDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/domain/domain.component.css b/smp-angular/src/app/domain/domain.component.css
new file mode 100644
index 000000000..94bdbcf05
--- /dev/null
+++ b/smp-angular/src/app/domain/domain.component.css
@@ -0,0 +1,15 @@
+/* --- Select ---*/
+.mat-select{
+  padding:20px 0;
+}
+
+/* --- Button  ---*/
+.group-btn {
+   margin-top:20px;
+ }
+
+#hiddenButtonId {
+  position: fixed;
+}
+
+
diff --git a/smp-angular/src/app/domain/domain.component.html b/smp-angular/src/app/domain/domain.component.html
new file mode 100644
index 000000000..aa1096d09
--- /dev/null
+++ b/smp-angular/src/app/domain/domain.component.html
@@ -0,0 +1,38 @@
+
+<smp-search-table
+  page_id= 'domain_id'
+  title= 'Domains'
+  [columnPicker] = "columnPicker"
+  url="ui/domain"
+  [additionalToolButtons]="additionalToolButtons"
+  [searchTableController]="domainController"
+  [searchPanel]="searchPanel"
+  [filter]="filter"
+
+>
+  <ng-template #additionalToolButtons >
+
+  </ng-template>
+
+  <ng-template #searchPanel>
+    <md-input-container>
+      <input mdInput placeholder="Domain Id" name="Domain Id" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="Domain_id">
+    </md-input-container>
+    <md-input-container>
+      <input mdInput placeholder="SMP Id" name="SMP Id" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="SMPid">
+    </md-input-container>
+    <md-input-container>
+    <input mdInput placeholder="ClientCert Header" name="ClientCert Header" [(ngModel)]="filter.messageId"
+           #messageId="ngModel" id="ClientCert_header">
+    </md-input-container>
+
+    <md-input-container>
+    <input mdInput placeholder="ClientCert Alias" name="ClientCert Alias" [(ngModel)]="filter.messageId"
+           #messageId="ngModel" id="ClientCert_Alias">
+    </md-input-container>
+
+  </ng-template>
+
+</smp-search-table>
diff --git a/smp-angular/src/app/domain/domain.component.ts b/smp-angular/src/app/domain/domain.component.ts
new file mode 100644
index 000000000..399277d3c
--- /dev/null
+++ b/smp-angular/src/app/domain/domain.component.ts
@@ -0,0 +1,75 @@
+import {Component, TemplateRef, ViewChild} from "@angular/core";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {MdDialog, MdDialogRef} from "@angular/material";
+
+import {Http} from "@angular/http";
+import {AlertService} from "../alert/alert.service";
+import {DomainController} from "./domain-controller";
+;
+
+
+@Component({
+  moduleId: module.id,
+  templateUrl:'./domain.component.html',
+  styleUrls: ['./domain.component.css'],
+  providers: [],
+})
+
+export class DomainComponent {
+
+  @ViewChild('rowMetadataAction') rowMetadataAction: TemplateRef<any>
+  @ViewChild('rowExtensionAction') rowExtensionAction: TemplateRef<any>
+
+  @ViewChild('rowActions') rowActions: TemplateRef<any>;
+
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+
+  domainController: DomainController;
+  filter: any = {};
+
+  constructor(protected http: Http, protected alertService: AlertService, public dialog: MdDialog) {
+  }
+
+  ngOnInit() {
+    this.domainController = new DomainController(this.dialog);
+
+    this.columnPicker.allColumns = [
+      {
+        name: 'Domain Id',
+        prop: 'domainId',
+        width: 275
+      },
+      {
+        name: 'ClientCert Header',
+        prop: 'bdmslClientCertHeader',
+      },
+      {
+        name: 'ClientCert Alias',
+        prop: 'bdmslClientCertAlias',
+      },
+      {
+        name: 'SMP Id',
+        prop: 'bdmslSmpId',
+        width: 120
+      },
+      {
+        name: 'Signature CertAlias',
+        prop: 'signatureCertAlias',
+        width: 120
+      },
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Domain Id", "ClientCert Header", "ClientCert Alias", "SMP Id"].indexOf(col.name) != -1
+    });
+
+  }
+
+
+
+  details(row: any) {
+    this.domainController.showDetails(row);
+
+  }
+}
diff --git a/smp-angular/src/app/domain/domainresult.ts b/smp-angular/src/app/domain/domainresult.ts
new file mode 100644
index 000000000..57bd728b6
--- /dev/null
+++ b/smp-angular/src/app/domain/domainresult.ts
@@ -0,0 +1,12 @@
+import {DomainRO} from "./domainro";
+
+export class DomainResult {
+
+  constructor(public serviceEntities: Array<DomainRO>,
+              public pageSize: number,
+              public count: number,
+              public filter: any
+              ) {
+
+  }
+}
diff --git a/smp-angular/src/app/domain/domainro.ts b/smp-angular/src/app/domain/domainro.ts
new file mode 100644
index 000000000..f13a69c48
--- /dev/null
+++ b/smp-angular/src/app/domain/domainro.ts
@@ -0,0 +1,15 @@
+export class DomainRO {
+  constructor(public domainId: string,
+              public bdmslClientCertHeader: string,
+              public bdmslClientCertAlias: string,
+              public bdmslSmpId: string,
+              public signatureCertAlias: string
+
+
+  ) {
+
+  }
+}
+
+
+
diff --git a/smp-angular/src/app/download/download.service.ts b/smp-angular/src/app/download/download.service.ts
new file mode 100644
index 000000000..00f1159c7
--- /dev/null
+++ b/smp-angular/src/app/download/download.service.ts
@@ -0,0 +1,12 @@
+
+export class DownloadService {
+
+  public static downloadNative(content) {
+    let element = document.createElement('a');
+    element.setAttribute('href', content);
+    element.style.display = 'none';
+    document.body.appendChild(element);
+    element.click();
+    document.body.removeChild(element);
+  }
+}
diff --git a/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.css b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.html b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.html
new file mode 100644
index 000000000..8672c6745
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.html
@@ -0,0 +1,44 @@
+<h2 md-dialog-title>Error log details</h2>
+<md-dialog-content style="height:450px;width:650px">
+  <md-card>
+    <md-card-content>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Signal Message Id" value="{{message.errorSignalMessageId}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="AP Role" value="{{message.mshRole}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Message Id" value="{{message.messageInErrorId}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Error Code" value="{{message.errorCode}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Error Detail" value="{{message.errorDetail}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Timestamp" value="{{message.timestamp | domibusDate: dateFormat}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Notified" value="{{message.notified | domibusDate: dateFormat}}" readonly/>
+      </md-input-container>
+
+    </md-card-content>
+  </md-card>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <button id="messageLogDetailsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})" style="margin-top:10px">
+    <md-icon>close</md-icon>
+    <span>Close</span>
+  </button>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.spec.ts b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.spec.ts
new file mode 100644
index 000000000..206fecc74
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ErrorlogDetailsComponent } from './errorlog-details.component';
+
+describe('ErrorlogDetailsComponent', () => {
+  let component: ErrorlogDetailsComponent;
+  let fixture: ComponentFixture<ErrorlogDetailsComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ErrorlogDetailsComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ErrorlogDetailsComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.ts b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.ts
new file mode 100644
index 000000000..6df351dcd
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog-details/errorlog-details.component.ts
@@ -0,0 +1,19 @@
+import { Component, OnInit } from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-errorlog-details',
+  templateUrl: './errorlog-details.component.html',
+  styleUrls: ['./errorlog-details.component.css']
+})
+export class ErrorlogDetailsComponent implements OnInit {
+
+  message;
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  constructor(public dialogRef: MdDialogRef<ErrorlogDetailsComponent>) { }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/errorlog/errorlog.component.css b/smp-angular/src/app/errorlog/errorlog.component.css
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog.component.css
@@ -0,0 +1 @@
+
diff --git a/smp-angular/src/app/errorlog/errorlog.component.html b/smp-angular/src/app/errorlog/errorlog.component.html
new file mode 100644
index 000000000..1153350f5
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog.component.html
@@ -0,0 +1,136 @@
+<page-header id="errorlogheader_id">Error Log</page-header>
+<div class="selectionCriteria">
+  <md-card>
+    <md-card-content>
+
+      <div class="panel">
+        <form name="filterForm" #filterForm="ngForm" (ngSubmit)="search()">
+
+          <md-input-container>
+            <input mdInput placeholder="Signal Message Id" name="errorSignalMessageId"
+                   [(ngModel)]="filter.errorSignalMessageId" #errorSignalMessageId="ngModel" id="signalmessageid_id"
+                   width="40px">
+          </md-input-container>
+
+          <md-input-container>
+            <input mdInput placeholder="Message Id" name="messageInErrorId" [(ngModel)]="filter.messageInErrorId"
+                   #messageInErrorId="ngModel" id="messageid_id">
+          </md-input-container>
+          <md2-datepicker placeholder="Error From:" appClearInvalid
+                          [(ngModel)]="filter.timestampFrom"
+                          name="fromTimestmap"
+                          [type]="'datetime'"
+                          [max]="timestampFromMaxDate"
+                          (change)='onTimestampFromChange($event)'
+                          id="fromtimestamp_id"></md2-datepicker>
+          <md2-datepicker placeholder="Error To:" appClearInvalid
+                          [(ngModel)]="filter.timestampTo"
+                          name="toTimestmap"
+                          [min]="timestampToMinDate"
+                          [max]="timestampToMaxDate"
+                          (change)='onTimestampToChange($event)'
+                          [type]="'datetime'"
+                          #timestampControl="ngModel" id="totimestamp_id"></md2-datepicker>
+
+          <md-input-container *ngIf="advancedSearch">
+            <input mdInput placeholder="Error Detail" name="ErrorDetail" [(ngModel)]="filter.errorDetail"
+                   #errorDetail="ngModel" id="errordetail_id">
+          </md-input-container>
+          <md-select placeholder="AP Role" [(ngModel)]="filter.mshRole" name="mshRole" class="optionField"
+                     id="aprole_id"
+                     *ngIf="advancedSearch">
+            <md-option [value]="''">
+            </md-option>
+            <md-option *ngFor="let role of mshRoles" [value]="role">
+              {{role}}
+            </md-option>
+          </md-select>
+
+          <md-select placeholder="Error Code" [(ngModel)]="filter.errorCode" name="errorCode" class="optionField"
+                     id="errorcode_id" *ngIf="advancedSearch">
+            <md-option [value]="''">
+            </md-option>
+            <md-option *ngFor="let code of errorCodes" [value]="code">
+              {{code}}
+            </md-option>
+          </md-select>
+
+
+          <md2-datepicker placeholder="Notified From:" appClearInvalid
+                          [(ngModel)]="filter.notifiedFrom"
+                          name="notifiedFrom"
+                          [type]="'datetime'"
+                          [max]="notifiedFromMaxDate"
+                          (change)='onNotifiedFromChange($event)'
+                          #timestampControl="ngModel" id="notifiedfrom_id"
+                          *ngIf="advancedSearch"></md2-datepicker>
+          <md2-datepicker placeholder="Notified To:" appClearInvalid
+                          [(ngModel)]="filter.notifiedTo"
+                          name="notifiedTo"
+                          [type]="'datetime'"
+                          [min]="notifiedToMinDate"
+                          [max]="notifiedToMaxDate"
+                          (change)='onNotifiedToChange($event)'
+                          #timestampControl="ngModel" id="notifiedto_id"
+                          *ngIf="advancedSearch"></md2-datepicker>
+
+
+          <div class="searchArea">
+            <button md-raised-button color="primary" [disabled]="!filterForm.form.valid" id="searchbutton_id">
+              <md-icon>search</md-icon>
+              <span>Search</span>
+            </button>
+            <a href="#" *ngIf="!advancedSearch" (click)="toggleAdvancedSearch()" id="advancedlink_id">Advanced</a>
+            <a href="#" *ngIf="advancedSearch" (click)="toggleAdvancedSearch()" id="basiclink_id">Basic</a>
+          </div>
+        </form>
+      </div>
+
+    </md-card-content>
+  </md-card>
+</div>
+
+<div class="panel">
+  <div class="group-filter-button">
+    <span class="row-button">
+      <app-row-limiter [pageSizes]="rowLimiter.pageSizes"
+                       (onPageSizeChanged)="changePageSize($event.value)"></app-row-limiter>
+    </span>
+    <span class="column-filter-button">
+      <app-column-picker [allColumns]="columnPicker.allColumns" [selectedColumns]="columnPicker.selectedColumns"
+                         (onSelectedColumnsChanged)="columnPicker.changeSelectedColumns($event)"></app-column-picker>
+    </span>
+    <button md-icon-button color="primary" [disabled]="!isSaveAsCSVButtonEnabled()" (click)="saveAsCSV()"
+            id="saveascsvbutton_id" md-tooltip="Export as CSV">
+      <img src="assets/images/exportCSV.svg" width="30" height="30">
+    </button>
+  </div>
+
+
+  <ngx-datatable
+    id="errorLogTable"
+    class="material striped"
+    [rows]="rows"
+    [columnMode]="'force'"
+    [columns]="columnPicker.selectedColumns"
+    [headerHeight]="50"
+    [footerHeight]="50"
+    [rowHeight]="'auto'"
+    [scrollbarH]="true"
+    [externalPaging]="true"
+    [externalSorting]="true"
+    [loadingIndicator]="loading"
+    [count]="count"
+    [offset]="offset"
+    [limit]="rowLimiter.pageSize"
+    [sorts]="[{prop: 'timestamp', dir: 'desc'}]"
+    (page)='onPage($event)'
+    (sort)="onSort($event)"
+    (activate)="onActivate($event)"
+    (select)="onSelect($event)">
+</ngx-datatable>
+
+  <ng-template #rowWithDateFormatTpl let-row="row" let-value="value" ngx-datatable-cell-template>
+    <span class="text-select">{{value | domibusDate: dateFormat}}</span>
+  </ng-template>
+</div>
diff --git a/smp-angular/src/app/errorlog/errorlog.component.ts b/smp-angular/src/app/errorlog/errorlog.component.ts
new file mode 100644
index 000000000..f75658757
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlog.component.ts
@@ -0,0 +1,339 @@
+import {Component, TemplateRef, ViewChild, Renderer2, AfterViewInit, ElementRef} from "@angular/core";
+import {Observable} from "rxjs";
+import {Http, Response, URLSearchParams} from "@angular/http";
+import {ErrorLogResult} from "./errorlogresult";
+import {AlertService} from "../alert/alert.service";
+import {ErrorlogDetailsComponent} from "app/errorlog/errorlog-details/errorlog-details.component";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {RowLimiterBase} from "../common/row-limiter/row-limiter-base";
+import {DownloadService} from "../download/download.service";
+import {AlertComponent} from "../alert/alert.component";
+import { Md2Datepicker } from "md2";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'errorlog.component.html',
+  providers: [],
+  styleUrls: ['./errorlog.component.css']
+})
+
+export class ErrorLogComponent implements AfterViewInit {
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase()
+  rowLimiter: RowLimiterBase = new RowLimiterBase()
+
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  @ViewChild('rowWithDateFormatTpl') rowWithDateFormatTpl: TemplateRef<any>;
+  @ViewChild('bibi') bibi: Md2Datepicker;
+
+  timestampFromMaxDate: Date = new Date();
+  timestampToMinDate: Date = null;
+  timestampToMaxDate: Date = new Date();
+
+  notifiedFromMaxDate: Date = new Date();
+  notifiedToMinDate: Date = null;
+  notifiedToMaxDate: Date = new Date();
+
+  filter: any = {};
+  loading: boolean = false;
+  rows = [];
+  count: number = 0;
+  offset: number = 0;
+  //default value
+  orderBy: string = "timestamp";
+  //default value
+  asc: boolean = false;
+
+  mshRoles: Array<String>;
+  errorCodes: Array<String>;
+
+  advancedSearch: boolean;
+
+  static readonly ERROR_LOG_URL : string = 'rest/errorlogs';
+  static readonly ERROR_LOG_CSV_URL : string = ErrorLogComponent.ERROR_LOG_URL + '/csv';
+
+  constructor(private elementRef: ElementRef, private http: Http, private alertService: AlertService, public dialog: MdDialog, private renderer: Renderer2) {
+  }
+
+  ngOnInit() {
+    this.columnPicker.allColumns = [
+      {
+        name: "Signal Message Id",
+        prop: "errorSignalMessageId"
+      },
+      {
+        name: "AP Role",
+        prop: "mshRole",
+        width: 50
+      },
+      {
+        name: 'Message Id',
+        prop: "messageInErrorId",
+      },
+      {
+        name: 'Error Code',
+        width: 50
+      },
+      {
+        name: 'Error Detail',
+        width: 350
+      },
+      {
+        cellTemplate: this.rowWithDateFormatTpl,
+        name: 'Timestamp',
+        width: 180
+      },
+      {
+        cellTemplate: this.rowWithDateFormatTpl,
+        name: 'Notified'
+      }
+
+    ];
+
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Message Id", "Error Code", "Timestamp"].indexOf(col.name) != -1
+    });
+
+    this.page(this.offset, this.rowLimiter.pageSize, this.orderBy, this.asc);
+
+    // this.bibi.registerOnValidatorChange(() => {
+    //   console.log('bau')
+    // })
+    // this.bibi.registerOnTouched(() => {
+    //   console.log('bau touch');
+    //   return {};
+    // });
+    //
+    // this.bibi._onTouched = () => {  console.log('wwwhat?')}
+  //  this.bibi._validatorOnChange
+  }
+
+  onTest() {
+    console.log('onTest')
+  }
+
+  getErrorLogEntries(offset: number, pageSize: number, orderBy: string, asc: boolean): Observable<ErrorLogResult> {
+    let searchParams: URLSearchParams = new URLSearchParams();
+    searchParams.set('page', offset.toString());
+    searchParams.set('pageSize', pageSize.toString());
+    searchParams.set('orderBy', orderBy);
+
+    //filter
+    if (this.filter.errorSignalMessageId) {
+      searchParams.set('errorSignalMessageId', this.filter.errorSignalMessageId);
+    }
+    if (this.filter.mshRole) {
+      searchParams.set('mshRole', this.filter.mshRole);
+    }
+    if (this.filter.messageInErrorId) {
+      searchParams.set('messageInErrorId', this.filter.messageInErrorId);
+    }
+    if (this.filter.errorCode) {
+      searchParams.set('errorCode', this.filter.errorCode);
+    }
+    if (this.filter.errorDetail) {
+      searchParams.set('errorDetail', this.filter.errorDetail);
+    }
+    if (this.filter.timestampFrom != null) {
+      searchParams.set('timestampFrom', this.filter.timestampFrom.getTime());
+    }
+    if (this.filter.timestampTo != null) {
+      searchParams.set('timestampTo', this.filter.timestampTo.getTime());
+    }
+    if (this.filter.notifiedFrom != null) {
+      searchParams.set('notifiedFrom', this.filter.notifiedFrom.getTime());
+    }
+    if (this.filter.notifiedTo != null) {
+      searchParams.set('notifiedTo', this.filter.notifiedTo.getTime());
+    }
+
+    if (asc != null) {
+      searchParams.set('asc', asc.toString());
+    }
+
+    return this.http.get(ErrorLogComponent.ERROR_LOG_URL, {
+      search: searchParams
+    }).map((response: Response) =>
+      response.json()
+    );
+  }
+
+  page(offset, pageSize, orderBy, asc) {
+    this.loading = true;
+
+    this.getErrorLogEntries(offset, pageSize, orderBy, asc).subscribe((result: ErrorLogResult) => {
+      console.log("errorLog response:" + result);
+      this.offset = offset;
+      this.rowLimiter.pageSize = pageSize;
+      this.orderBy = orderBy;
+      this.asc = asc;
+      this.count = result.count;
+
+      const start = offset * pageSize;
+      const end = start + pageSize;
+      const newRows = [...result.errorLogEntries];
+
+      let index = 0;
+      for (let i = start; i < end; i++) {
+        newRows[i] = result.errorLogEntries[index++];
+      }
+
+      this.rows = newRows;
+
+      if (result.filter.timestampFrom != null) {
+        result.filter.timestampFrom = new Date(result.filter.timestampFrom);
+      }
+      if (result.filter.timestampTo != null) {
+        result.filter.timestampTo = new Date(result.filter.timestampTo);
+      }
+      if (result.filter.notifiedFrom != null) {
+        result.filter.notifiedFrom = new Date(result.filter.notifiedFrom);
+      }
+      if (result.filter.notifiedTo != null) {
+        result.filter.notifiedTo = new Date(result.filter.notifiedTo);
+      }
+
+      this.filter = result.filter;
+      this.mshRoles = result.mshRoles;
+      this.errorCodes = result.errorCodes;
+
+      this.loading = false;
+
+      if(this.count > AlertComponent.MAX_COUNT_CSV) {
+        this.alertService.error("Maximum number of rows reached for downloading CSV");
+      }
+    }, (error: any) => {
+      console.log("error getting the error log:" + error);
+      this.loading = false;
+      this.alertService.error("Error occured:" + error);
+    });
+
+  }
+
+  onPage(event) {
+    console.log('Page Event', event);
+    this.page(event.offset, event.pageSize, this.orderBy, this.asc);
+  }
+
+  onSort(event) {
+    console.log('Sort Event', event);
+    let ascending = true;
+    if (event.newValue === 'desc') {
+      ascending = false;
+    }
+    this.page(this.offset, this.rowLimiter.pageSize, event.column.prop, ascending);
+  }
+
+  changePageSize(newPageLimit: number) {
+    console.log('New page limit:', newPageLimit);
+    this.page(0, newPageLimit, this.orderBy, this.asc);
+  }
+
+  search() {
+    console.log("Searching using filter:" + this.filter);
+    this.page(0, this.rowLimiter.pageSize, this.orderBy, this.asc);
+  }
+
+  onTimestampFromChange(event) {
+    this.timestampToMinDate = event.value;
+  }
+
+  onTimestampToChange(event) {
+    this.timestampFromMaxDate = event.value;
+  }
+
+  onNotifiedFromChange(event) {
+    this.notifiedToMinDate = event.value;
+  }
+
+  onNotifiedToChange(event) {
+    this.notifiedFromMaxDate = event.value;
+  }
+
+  toggleAdvancedSearch(): boolean {
+    this.advancedSearch = !this.advancedSearch;
+    return false;//to prevent default navigation
+  }
+
+  onSelect({selected}) {
+    // console.log('Select Event', selected, this.selected);
+  }
+
+  onActivate(event) {
+    // console.log('Activate Event', event);
+
+    if ("dblclick" === event.type) {
+      this.details(event.row);
+    }
+  }
+
+  details(selectedRow: any) {
+    let dialogRef: MdDialogRef<ErrorlogDetailsComponent> = this.dialog.open(ErrorlogDetailsComponent);
+    dialogRef.componentInstance.message = selectedRow;
+    // dialogRef.componentInstance.currentSearchSelectedSource = this.currentSearchSelectedSource;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+  }
+
+  private getFilterPath() {
+    let result = '?';
+
+    //filter
+    if (this.filter.errorSignalMessageId) {
+      result += 'errorSignalMessageId=' + this.filter.errorSignalMessageId + '&';
+    }
+    if (this.filter.mshRole) {
+      result += 'mshRole=' + this.filter.mshRole + '&';
+    }
+    if (this.filter.messageInErrorId) {
+      result += 'messageInErrorId=' + this.filter.messageInErrorId + '&';
+    }
+    if (this.filter.errorCode) {
+      result += 'errorCode=' + this.filter.errorCode + '&';
+    }
+    if (this.filter.errorDetail) {
+      result += 'errorDetail=' + this.filter.errorDetail + '&';
+    }
+    if (this.filter.timestampFrom != null) {
+      result += 'timestampFrom=' + this.filter.timestampFrom.getTime() + '&';
+    }
+    if (this.filter.timestampTo != null) {
+      result += 'timestampTo=' + this.filter.timestampTo.getTime() + '&';
+    }
+    if (this.filter.notifiedFrom != null) {
+      result += 'notifiedFrom=' + this.filter.notifiedFrom.getTime() + '&';
+    }
+    if (this.filter.notifiedTo != null) {
+      result += 'notifiedTo=' + this.filter.notifiedTo.getTime() + '&';
+    }
+
+    return result;
+  }
+
+  isSaveAsCSVButtonEnabled() {
+    return (this.count < AlertComponent.MAX_COUNT_CSV);
+  }
+
+  saveAsCSV() {
+    DownloadService.downloadNative(ErrorLogComponent.ERROR_LOG_CSV_URL + this.getFilterPath());
+  }
+
+  ngAfterViewInit() {
+   // var inputs = this.elementRef.nativeElement.getElementsByTagName('input');
+   // console.log( 'inputs[0] ', inputs )
+   // inputs[2].onblur =  () => { console.log('on blur ');
+   //    if (!this.filter.timestampFrom)
+   //      inputs[2].value = '';
+   // }
+
+  }
+
+  onClick(event) {
+    console.log(event);
+  }
+
+}
diff --git a/smp-angular/src/app/errorlog/errorlogentry.ts b/smp-angular/src/app/errorlog/errorlogentry.ts
new file mode 100644
index 000000000..9c6b2a285
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlogentry.ts
@@ -0,0 +1,11 @@
+export class ErrorLogEntry {
+
+
+  constructor(errorSignalMessageId: string,
+              mshRole: string,
+              messageInErrorId: string,
+              errorCode: string,
+              timestamp: Date,
+              notified: Date) {
+  }
+}
diff --git a/smp-angular/src/app/errorlog/errorlogresult.ts b/smp-angular/src/app/errorlog/errorlogresult.ts
new file mode 100644
index 000000000..ae9114f26
--- /dev/null
+++ b/smp-angular/src/app/errorlog/errorlogresult.ts
@@ -0,0 +1,14 @@
+import {ErrorLogEntry} from "./errorlogentry";
+export class ErrorLogResult {
+
+  constructor(public errorLogEntries: Array<ErrorLogEntry>,
+              // public offset: number,
+              public pageSize: number,
+              // public orderBy: string,
+              // public asc: boolean,
+              public count: number,
+              public filter: any,
+              public mshRoles: Array<string>,
+              public errorCodes: Array<string>) {
+  }
+}
diff --git a/smp-angular/src/app/footer/footer.component.css b/smp-angular/src/app/footer/footer.component.css
new file mode 100644
index 000000000..d06fb69f2
--- /dev/null
+++ b/smp-angular/src/app/footer/footer.component.css
@@ -0,0 +1,13 @@
+#footer {
+  position:absolute;
+  bottom:0;
+  left: 10px;
+  width:100%;
+  overflow:hidden;
+  text-align: center;
+}
+
+#footer .domibusVersion {
+  display: inline-block;
+  font-size: 15px;
+}
diff --git a/smp-angular/src/app/footer/footer.component.html b/smp-angular/src/app/footer/footer.component.html
new file mode 100644
index 000000000..816b3d598
--- /dev/null
+++ b/smp-angular/src/app/footer/footer.component.html
@@ -0,0 +1,3 @@
+<div id="footer">
+  <span class="domibusVersion">{{domibusVersion}}</span>
+</div>
diff --git a/smp-angular/src/app/footer/footer.component.ts b/smp-angular/src/app/footer/footer.component.ts
new file mode 100644
index 000000000..96c832076
--- /dev/null
+++ b/smp-angular/src/app/footer/footer.component.ts
@@ -0,0 +1,28 @@
+import {Component, OnInit} from "@angular/core";
+import {DomibusInfoService} from "../appinfo/domibusinfo.service";
+import {DomibusInfo} from "../appinfo/domibusinfo";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'footer.component.html',
+  selector: 'footer',
+  providers: [],
+  styleUrls: ['./footer.component.css']
+})
+
+export class FooterComponent implements OnInit {
+  domibusVersion: string;
+
+  constructor(private domibusInfoService: DomibusInfoService) {
+  }
+
+  ngOnInit(): void {
+    console.log("FooterComponent onInit");
+    this.domibusInfoService.getDomibusInfo().subscribe((domibusInfo: DomibusInfo) => {
+      this.domibusVersion = domibusInfo.version;
+      }
+    );
+  }
+
+
+}
diff --git a/smp-angular/src/app/guards/authenticated.guard.ts b/smp-angular/src/app/guards/authenticated.guard.ts
new file mode 100644
index 000000000..52a5d08e4
--- /dev/null
+++ b/smp-angular/src/app/guards/authenticated.guard.ts
@@ -0,0 +1,25 @@
+import {Injectable} from "@angular/core";
+import {Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
+import {SecurityService} from "../security/security.service";
+import {ReplaySubject} from "rxjs";
+
+@Injectable()
+export class AuthenticatedGuard implements CanActivate {
+
+  constructor(private router: Router, private securityService: SecurityService) {
+  }
+
+  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
+    const subject = new ReplaySubject();
+    this.securityService.isAuthenticated(true).subscribe((isAuthenticated: boolean) => {
+      if(isAuthenticated) {
+        subject.next(true);
+      } else {
+        // not logged in so redirect to login page with the return url
+        this.router.navigate(['/login'], {queryParams: {returnUrl: state.url}});
+        subject.next(false);
+      }
+    });
+    return subject.asObservable()
+  }
+}
diff --git a/smp-angular/src/app/guards/authorized-admin.guard.ts b/smp-angular/src/app/guards/authorized-admin.guard.ts
new file mode 100644
index 000000000..67cf658d8
--- /dev/null
+++ b/smp-angular/src/app/guards/authorized-admin.guard.ts
@@ -0,0 +1,21 @@
+import {Injectable} from "@angular/core";
+import {ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
+import {SecurityService} from "../security/security.service";
+import {AuthorizedGuard} from "./authorized.guard";
+
+@Injectable()
+export class AuthorizedAdminGuard extends AuthorizedGuard {
+
+  constructor(securityService: SecurityService) {
+    super(securityService);
+  }
+
+  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
+    return super.canActivate(route, state);
+  }
+
+
+  getAllowedRoles(route: ActivatedRouteSnapshot): Array<string> {
+    return [SecurityService.ROLE_DOMAIN_ADMIN, SecurityService.ROLE_AP_ADMIN];
+  }
+}
diff --git a/smp-angular/src/app/guards/authorized.guard.ts b/smp-angular/src/app/guards/authorized.guard.ts
new file mode 100644
index 000000000..915ff55eb
--- /dev/null
+++ b/smp-angular/src/app/guards/authorized.guard.ts
@@ -0,0 +1,28 @@
+import {Injectable} from "@angular/core";
+import {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
+import {SecurityService} from "../security/security.service";
+import {ReplaySubject} from "rxjs";
+
+@Injectable()
+export class AuthorizedGuard implements CanActivate {
+
+  constructor(private securityService: SecurityService) {
+  }
+
+  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
+    console.debug("AuthorizedGuard");
+    let allowedRoles = this.getAllowedRoles(route);
+    let subject = new ReplaySubject();
+    this.securityService.isAuthorized(allowedRoles).subscribe((isAuthorized:boolean) => {
+      console.debug("AuthorizedGuard canActivate [" + isAuthorized + "]");
+      subject.next(isAuthorized);
+    },(error:any) => {
+      console.debug("AuthorizedGuard canActivate error [" + error + "]");
+    });
+    return subject.asObservable();
+  }
+
+  getAllowedRoles(route: ActivatedRouteSnapshot) {
+    return route.data["allowedRoles"] as Array<string>;
+  }
+}
diff --git a/smp-angular/src/app/home/home.component.css b/smp-angular/src/app/home/home.component.css
new file mode 100644
index 000000000..eb32d205a
--- /dev/null
+++ b/smp-angular/src/app/home/home.component.css
@@ -0,0 +1,3 @@
+.userInfo {
+  margin-top:30px;
+}
diff --git a/smp-angular/src/app/home/home.component.html b/smp-angular/src/app/home/home.component.html
new file mode 100644
index 000000000..8029f15aa
--- /dev/null
+++ b/smp-angular/src/app/home/home.component.html
@@ -0,0 +1,16 @@
+<div>
+    <table class="userInfo">
+      <tr>
+        <td>Username:</td>
+        <td>{{currentUser.username}}</td>
+      </tr>
+      <tr>
+        <td>Role(s):</td>
+        <td>
+          <table *ngFor="let role of currentUser.authorities">
+            <tr><td>{{role}}</td></tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+</div>
diff --git a/smp-angular/src/app/home/home.component.ts b/smp-angular/src/app/home/home.component.ts
new file mode 100644
index 000000000..797893f7a
--- /dev/null
+++ b/smp-angular/src/app/home/home.component.ts
@@ -0,0 +1,28 @@
+import {Component, OnInit} from '@angular/core';
+
+import {SecurityService} from '../security/security.service';
+import {User} from "../security/user";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'home.component.html',
+  providers: [],
+  styleUrls: ['./home.component.css']
+})
+
+export class HomeComponent implements OnInit{
+  currentUser: User;
+
+  ngOnInit(): void {
+    console.log("HomeComponent onInit")
+    this.currentUser = this.securityService.getCurrentUser();
+  }
+
+  constructor(private securityService: SecurityService) {
+  }
+
+  logout(event:Event):void {
+    event.preventDefault();
+    this.securityService.logout();
+  }
+}
diff --git a/smp-angular/src/app/http/extended-http-client.ts b/smp-angular/src/app/http/extended-http-client.ts
new file mode 100644
index 000000000..1d26dceef
--- /dev/null
+++ b/smp-angular/src/app/http/extended-http-client.ts
@@ -0,0 +1,47 @@
+import {Injectable} from '@angular/core';
+import {
+  Http, Response, RequestOptionsArgs, Headers, RequestOptions, ConnectionBackend,
+  XHRBackend
+} from '@angular/http';
+import {Observable} from 'rxjs/Observable';
+import 'rxjs/add/operator/map';
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/operator/share';
+import 'rxjs/add/observable/throw';
+import {Observer} from 'rxjs/Observer';
+import {HttpEventService} from "./http.event.service";
+
+@Injectable()
+export class ExtendedHttpClient extends Http {
+  http: Http;
+  httpEventService: HttpEventService;
+
+  constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions, httpEventService: HttpEventService) {
+    super(_backend, _defaultOptions);
+    this.httpEventService = httpEventService;
+  }
+
+  setOptions(options?: RequestOptionsArgs): RequestOptionsArgs {
+    if (!options) {
+      options = {};
+    }
+    if (!options.headers) {
+      options.headers = new Headers();
+    }
+    return options;
+  }
+
+  request(url: string, options?: RequestOptionsArgs): Observable<Response> {
+    options = this.setOptions(options);
+
+    return super.request(url, options).catch((error: Response) => {
+      if ((error.status === 403)) {
+        console.log('The authentication session expires or the user is not authorised');
+        this.httpEventService.requestForbiddenEvent(error);
+        // return Observable.empty();
+      }
+      return Observable.throw(error);
+    });
+  }
+
+}
diff --git a/smp-angular/src/app/http/http.event.service.ts b/smp-angular/src/app/http/http.event.service.ts
new file mode 100644
index 000000000..c5a763ab4
--- /dev/null
+++ b/smp-angular/src/app/http/http.event.service.ts
@@ -0,0 +1,15 @@
+import {Injectable} from "@angular/core";
+import {Subject} from "rxjs/Subject";
+import {Response} from "@angular/http";
+
+@Injectable()
+export class HttpEventService extends Subject<any> {
+    constructor() {
+        super();
+    }
+    requestForbiddenEvent(error: Response) {
+        if(error) {
+            super.next(error);
+        }
+    }
+}
diff --git a/smp-angular/src/app/login/login.component.css b/smp-angular/src/app/login/login.component.css
new file mode 100644
index 000000000..e02abfc9b
--- /dev/null
+++ b/smp-angular/src/app/login/login.component.css
@@ -0,0 +1 @@
+
diff --git a/smp-angular/src/app/login/login.component.html b/smp-angular/src/app/login/login.component.html
new file mode 100644
index 000000000..aae172e41
--- /dev/null
+++ b/smp-angular/src/app/login/login.component.html
@@ -0,0 +1,33 @@
+<div id="page" class="login-page">
+  <div id="formContainer">
+    <form name="loginForm" #loginForm="ngForm" (ngSubmit)="login()">
+      <table cellspacing="0">
+        <tr>
+          <td>
+            <md-input-container>
+              <input mdInput placeholder="Username" name="username" [(ngModel)]="model.username" #username="ngModel"
+                     required id="username_id">
+            </md-input-container>
+          </td>
+        </tr>
+        <tr>
+          <td>
+            <md-input-container>
+              <input type="password" mdInput placeholder="Password" name="password" [(ngModel)]="model.password"
+                     #password="ngModel" required id="password_id">
+            </md-input-container>
+          </td>
+        </tr>
+        <tr>
+          <td>
+            <button md-raised-button color="primary" [disabled]="!loginForm.form.valid" id="loginbutton_id">
+              <md-icon>input</md-icon>
+              <span>Login</span>
+            </button>
+          </td>
+        </tr>
+      </table>
+      <footer></footer>
+    </form>
+  </div>
+</div>
diff --git a/smp-angular/src/app/login/login.component.ts b/smp-angular/src/app/login/login.component.ts
new file mode 100644
index 000000000..147f722aa
--- /dev/null
+++ b/smp-angular/src/app/login/login.component.ts
@@ -0,0 +1,104 @@
+import {Component, OnDestroy, OnInit} from "@angular/core";
+import {Router, ActivatedRoute} from "@angular/router";
+import {SecurityService} from "../security/security.service";
+import {HttpEventService} from "../http/http.event.service";
+import {AlertService} from "../alert/alert.service";
+import {SecurityEventService} from "../security/security.event.service";
+import {User} from "../security/user";
+import {MdDialogRef, MdDialog} from "@angular/material";
+import {DefaultPasswordDialogComponent} from "app/security/default-password-dialog/default-password-dialog.component";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'login.component.html',
+  styleUrls: ['./login.component.css']
+})
+
+export class LoginComponent implements OnInit, OnDestroy {
+
+
+  model: any = {};
+  loading = false;
+  returnUrl: string;
+  sub: any;
+
+  constructor(private route: ActivatedRoute,
+              private router: Router,
+              private securityService: SecurityService,
+              private httpEventService: HttpEventService,
+              private alertService: AlertService,
+              private securityEventService: SecurityEventService,
+              private dialog: MdDialog) {
+  }
+
+  ngOnInit() {
+    // get return url from route parameters or default to '/'
+    this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
+
+    this.httpEventService.subscribe((error) => {
+      console.log("Received forbidden request event")
+      this.securityService.logout();
+    });
+
+    this.sub = this.securityEventService.onLoginSuccessEvent().subscribe(
+      data => {
+        console.log("Authentication successfull");
+        this.verifyDefaultLoginUsed();
+        this.router.navigate([this.returnUrl]);
+      });
+
+    this.securityEventService.onLoginErrorEvent().subscribe(
+      error => {
+        console.error("Error authenticating:" + error);
+        let message;
+        const HTTP_UNAUTHORIZED = 401;
+        const HTTP_FORBIDDEN = 403;
+        const HTTP_NOTFOUND = 404;
+        const HTTP_GATEWAY_TIMEOUT = 504;
+        const USER_INACTIVE = 'Inactive';
+        const USER_SUSPENDED = 'Suspended';
+        switch (error.status) {
+          case HTTP_UNAUTHORIZED:
+          case HTTP_FORBIDDEN:
+            let forbiddenCode = error.json().message;
+            console.log("User forbiden code " + forbiddenCode);
+            switch (forbiddenCode) {
+              case USER_INACTIVE:
+                message = "The user is inactive. Please contact your administrator.";
+                break;
+              case USER_SUSPENDED:
+                message = "The user is suspended. Please try again later or contact your administrator.";
+                break;
+              default:
+                message = "The username/password combination you provided are not valid. Please try again or contact your administrator.";
+                break;
+            }
+            break;
+          case HTTP_GATEWAY_TIMEOUT:
+          case HTTP_NOTFOUND:
+            message = "Unable to login. Domibus is not running.";
+            break;
+          default:
+            message = "Default error (" + error.status + ") occurred during login.";
+            break;
+        }
+        this.alertService.error(message);
+      });
+  }
+
+  login() {
+    this.securityService.login(this.model.username, this.model.password);
+  }
+
+  verifyDefaultLoginUsed() {
+    let currentUser: User = this.securityService.getCurrentUser();
+    if (currentUser.defaultPasswordUsed) {
+      this.dialog.open(DefaultPasswordDialogComponent);
+    }
+  }
+
+  ngOnDestroy(): void {
+    console.log("Destroying login component");
+    this.sub.unsubscribe();
+  }
+}
diff --git a/smp-angular/src/app/messagefilter/backendfilterentry.ts b/smp-angular/src/app/messagefilter/backendfilterentry.ts
new file mode 100644
index 000000000..36d8ffbaf
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/backendfilterentry.ts
@@ -0,0 +1,35 @@
+import {RoutingCriteriaEntry} from "./routingcriteriaentry";
+
+
+export class BackendFilterEntry {
+
+  from: RoutingCriteriaEntry;
+  to: RoutingCriteriaEntry;
+  action: RoutingCriteriaEntry;
+  service: RoutingCriteriaEntry ;
+
+  public constructor(public entityId: number,
+                     public index: number,
+                     public backendName: string,
+                     public routingCriterias: Array<RoutingCriteriaEntry>,
+                     public persisted: boolean) {
+    this.initRoutingCriteria();
+  }
+
+  public initRoutingCriteria() {
+    this.from = this.getRoutingCriteria("from");
+    this.to = this.getRoutingCriteria("to");
+    this.action = this.getRoutingCriteria("action");
+    this.service = this.getRoutingCriteria("service");
+  }
+
+  public getRoutingCriteria(property: string): RoutingCriteriaEntry {
+    for (let i = 0; i < this.routingCriterias.length; i++) {
+      if (this.routingCriterias[i].name == property) {
+        return this.routingCriterias[i];
+      }
+    }
+    return null;
+  }
+
+}
diff --git a/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.css b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.css
new file mode 100644
index 000000000..5df038ca0
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.css
@@ -0,0 +1,16 @@
+.ng-valid[required], .ng-valid.required  {
+  border-left: 5px solid #42A948; /* green */
+}
+
+.ng-invalid:not(form)  {
+  border-left: 5px solid #a94442; /* red */
+}
+
+.formError {
+  color: red;
+}
+
+.alertMessage {
+  font-size: 30%;
+  color: red;
+}
diff --git a/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.html b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.html
new file mode 100644
index 000000000..8e97babaa
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.html
@@ -0,0 +1,62 @@
+<div style="width: 500px">
+  <h2 md-dialog-title>{{formTitle}}</h2>
+  <form [formGroup]="messageFilterForm">
+    <md-card>
+      <div>
+        <md2-select mdInput placeholder="Plugin" id="backendfilter_id" floatPlaceholder="always" (change)="updatePlugin($event)" [(ngModel)]="plugin" [style.width]="'100%'" [formControl]="messageFilterForm.controls['plugin']">
+          <md2-option *ngFor="let bName of backendFilterNames" [value]="bName.toString()">
+            {{bName.toString()}}
+          </md2-option>
+        </md2-select>
+      </div>
+
+      <div>
+        <md-input-container [style.width]="'100%'">
+          <input mdInput placeholder="From" name="from" id="from_id" [value]="from" (blur)="updateFrom($event)" [formControl]="messageFilterForm.controls['from']" pattern="[a-zA-Z0-9_:-]+:[a-zA-Z0-9_:-]+" [maxLength]="textMaxLength">
+          <div *ngIf="messageFilterForm.controls['from'].hasError('pattern')" style="color:red; font-size: 70%">You should follow the rule: [partyName]:[partyType]</div>
+        </md-input-container>
+      </div>
+
+      <div>
+        <md-input-container [style.width]="'100%'">
+          <input mdInput placeholder="To" name="to" id="to_id" [value]="to" (blur)="updateTo($event)" [formControl]="messageFilterForm.controls['to']" pattern="[a-zA-Z0-9_:-]+:[a-zA-Z0-9_:-]+" [maxLength]="textMaxLength">
+          <div *ngIf="messageFilterForm.controls['to'].hasError('pattern')" style="color:red; font-size: 70%">You should follow the rule: [partyName]:[partyType]</div>
+        </md-input-container>
+      </div>
+
+      <div>
+        <md-input-container [style.width]="'100%'">
+          <input mdInput placeholder="Action" name="action" id="action_id" [value]="action" (blur)="updateAction($event)" [formControl]="messageFilterForm.controls['action']" pattern="[a-zA-Z0-9_:-]+" [maxLength]="textMaxLength">
+          <div *ngIf="messageFilterForm.controls['action'].hasError('pattern')" style="color:red; font-size: 70%">You should follow the rule : [action]</div>
+        </md-input-container>
+      </div>
+
+      <div>
+        <md-input-container [style.width]="'100%'">
+          <input mdInput placeholder="Service" name="service" id="service_id" [value]="service" (blur)="updateService($event)" [formControl]="messageFilterForm.controls['service']" pattern="[a-zA-Z0-9_:-]+:[a-zA-Z0-9_:-]+" [maxLength]="textMaxLength">
+          <div *ngIf="messageFilterForm.controls['service'].hasError('pattern')" style="color:red; font-size: 70%">You should follow the rule: [serviceName]:[serviceType]</div>
+        </md-input-container>
+      </div>
+
+      <table class="buttonsRow">
+        <tr>
+          <td>
+            <!-- Can optionally provide a result for the closing dialog. -->
+            <button md-raised-button color="primary" [md-dialog-close]="true" (click)="submitForm()" type="submit" [disabled]="!messageFilterForm.valid" id="okbutton_id">
+              <md-icon>check_circle</md-icon>
+              <span>OK</span>
+            </button>
+          </td>
+          <td>
+            <button md-raised-button color="primary" md-dialog-close id="cancelbutton_id">
+              <md-icon>cancel</md-icon>
+              <span>Cancel</span>
+            </button>
+          </td>
+        </tr>
+      </table>
+
+      <div></div>
+    </md-card>
+  </form>
+</div>
diff --git a/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.ts b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.ts
new file mode 100644
index 000000000..69b6cb1ea
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/editmessagefilter-form/editmessagefilter-form.component.ts
@@ -0,0 +1,85 @@
+import {Component, Inject} from '@angular/core';
+import {FormBuilder, FormGroup, Validators} from '@angular/forms';
+import {MD_DIALOG_DATA, MdDialogRef} from '@angular/material';
+import {BackendFilterEntry} from '../backendfilterentry';
+import {isNullOrUndefined} from 'util';
+
+let NEW_MODE = 'New Message Filter';
+let EDIT_MODE = 'Message Filter Edit';
+let MAX_LENGTH = 255;
+
+@Component({
+  selector: 'editmessagefilter-form',
+  templateUrl: 'editmessagefilter-form.component.html'
+})
+export class EditMessageFilterComponent {
+
+  plugin: string;
+  from: string;
+  to: string;
+  service: string;
+  action: string;
+  formTitle: string = EDIT_MODE;
+  textMaxLength = MAX_LENGTH;
+
+  backendFilterNames: Array<String> = [];
+
+  messageFilterForm: FormGroup;
+
+  constructor(public dialogRef: MdDialogRef<EditMessageFilterComponent>,
+              @Inject(MD_DIALOG_DATA) public data: any,
+              fb: FormBuilder) {
+    if (isNullOrUndefined(data.edit)) {
+      this.formTitle = NEW_MODE;
+      this.backendFilterNames = data.backendFilterNames;
+      this.plugin = this.backendFilterNames[0].toString();
+      this.from = '';
+      this.to = '';
+      this.action = '';
+      this.service = '';
+    } else {
+      let backEntry: BackendFilterEntry = new BackendFilterEntry(this.data.edit.entityId,
+        this.data.edit.index,
+        this.data.edit.backendName,
+        this.data.edit.routingCriterias,
+        this.data.edit.persisted);
+      this.backendFilterNames = data.backendFilterNames;
+      this.plugin = backEntry.backendName;
+      this.from = isNullOrUndefined(backEntry.from) ? '' : backEntry.from.expression;
+      this.to = isNullOrUndefined(backEntry.to) ? '' : backEntry.to.expression;
+      this.action = isNullOrUndefined(backEntry.action) ? '' : backEntry.action.expression;
+      this.service = isNullOrUndefined(backEntry.service) ? '' : backEntry.service.expression;
+    }
+    this.messageFilterForm = fb.group({
+      'plugin': [null, Validators.required],
+      'from': [null, Validators.pattern],
+      'to': [null, Validators.pattern],
+      'action': [null, Validators.pattern],
+      'service': [null, Validators.pattern]
+    });
+  }
+
+  updatePlugin(event) {
+    this.plugin = event.value;
+  }
+
+  updateFrom(event) {
+    this.from = event.target.value;
+  }
+
+  updateTo(event) {
+    this.to = event.target.value;
+  }
+
+  updateAction(event) {
+    this.action = event.target.value;
+  }
+
+  updateService(event) {
+    this.service = event.target.value;
+  }
+
+  submitForm() {
+    this.dialogRef.close(true);
+  }
+}
diff --git a/smp-angular/src/app/messagefilter/messagefilter.component.css b/smp-angular/src/app/messagefilter/messagefilter.component.css
new file mode 100644
index 000000000..deedc1c96
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/messagefilter.component.css
@@ -0,0 +1,33 @@
+.justified {
+  white-space: normal;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  display: block;
+  max-width: 100%;
+}
+
+:before {
+  content: "\200D";
+  display:inline;
+}
+
+.clickable {
+  display:inline-block;
+  width: 100%;
+  height: 100%;
+}
+
+.rowsDiv {
+  margin-top:30px;
+}
+
+.pluginRow {
+  width: 100%;
+}
+
+
+.tableArea {
+  width: 100%;
+  height: 80%;
+}
+
diff --git a/smp-angular/src/app/messagefilter/messagefilter.component.html b/smp-angular/src/app/messagefilter/messagefilter.component.html
new file mode 100644
index 000000000..440c9186c
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/messagefilter.component.html
@@ -0,0 +1,139 @@
+<page-header id="messagefilterheader_id">Message Filter</page-header>
+<div class="selectionCriteria">
+  <div class="panel">
+    <md-card>
+      <md-card-content>
+        <form name="messageFilterForm" #messageFilterForm="ngForm">
+          <button md-icon-button color="primary" [disabled]="!isSaveAsCSVButtonEnabled()" (click)="saveAsCSV()"
+                  id="saveascsvbutton_id" md-tooltip="Export as CSV">
+            <img src="assets/images/exportCSV.svg" width="30" height="30">
+          </button>
+          <ngx-datatable
+            #mydatatable
+            class="material striped"
+            [columnMode]="'force'"
+            [headerHeight]="50"
+            [footerHeight]="50"
+            [rowHeight]="'auto'"
+            [rows]="rows"
+            [selected]="selected"
+            [selectionType]="'multi'"
+            (select)='onSelect($event)'
+            id="messageFilterTable">
+            <ngx-datatable-column name="Plugin" prop="backendName" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+              <span class="justified, clickable" style="word-wrap: break-word" (dblclick)="buttonEditAction(this.selected[0])" id="pluginRow{{row.$$index}}_id">
+                {{value}}
+              </span>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="From" prop="from.expression" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+              <span class="justified, clickable" style="word-wrap: break-word" (dblclick)="buttonEditAction(this.selected[0])" id="fromRow{{row.$$index}}_id">
+                {{value}}
+              </span>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="To" prop="to.expression" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+              <span class="justified, clickable" style="word-wrap: break-word" (dblclick)="buttonEditAction(this.selected[0])" id="toRow{{row.$$index}}_id">
+                {{value}}
+              </span>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="Action" prop="action.expression" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+              <span class="clickable" style="word-wrap: break-word" (dblclick)="buttonEditAction(this.selected[0])" id="actionRow{{row.$$index}}_id">
+                {{value}}
+              </span>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="Service" prop="service.expression" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+              <span class="justified, clickable" style="word-wrap: break-word" (dblclick)="buttonEditAction(this.selected[0])" id="serviceRow{{row.$$index}}_id">
+                {{value}}
+              </span>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="Persisted" prop="persisted" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+                <input autofocus type="checkbox" [checked]="value" disabled (dblclick)="buttonEditAction(this.selected[0])" id="persistedRow{{row.$$index}}_id"/>
+              </ng-template>
+            </ngx-datatable-column>
+            <ngx-datatable-column name="Actions" prop="actions" [sortable]="false">
+              <ng-template ngx-datatable-cell-template let-value="value" let-row="row">
+                <button md-icon-button color="primary" type="button" [disabled]="row.$$index===0"
+                        (click)="buttonMoveUpAction(row)" id="moveUpButtonRow{{row.$$index}}_id" tooltip="Move Up">
+                  <md-icon>arrow_drop_up</md-icon>
+                </button>
+                <button md-icon-button color="primary" type="button" [disabled]="row.$$index===rows.length - 1"
+                        (click)="buttonMoveDownAction(row)" id="moveDownButtonRow{{row.$$index}}_id"
+                        tooltip="Move Down">
+                  <md-icon>arrow_drop_down</md-icon>
+                </button>
+                <button md-icon-button color="primary" type="button" (click)="buttonEditAction(row)"
+                        id="editButtonRow{{row.$$index}}_id" tooltip="Edit">
+                  <md-icon>edit</md-icon>
+                </button>
+                <button md-icon-button color="primary" type="button" (click)="buttonDeleteAction(row)"
+                        id="deleteButtonRow{{row.$$index}}_id" tooltip="Delete">
+                  <md-icon>delete</md-icon>
+                </button>
+              </ng-template>
+            </ngx-datatable-column>
+          </ngx-datatable>
+
+          <table class="group-action-button">
+            <tr>
+              <td>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableMoveUp"
+                        (click)="buttonMoveUp()" id="moveupbutton_id">
+                  <md-icon>arrow_drop_up</md-icon>
+                  <span>Move Up</span>
+                </button>
+              </td>
+              <td>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableMoveDown"
+                        (click)="buttonMoveDown()" id="movedownbutton_id">
+                  <md-icon>arrow_drop_down</md-icon>
+                  <span>Move Down</span>
+                </button>
+              </td>
+            </tr>
+          </table>
+          <table class="group-action-button">
+            <tr>
+              <td>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableCancel"
+                        (click)="cancelDialog()" id="cancelbutton_id">
+                  <md-icon>cancel</md-icon>
+                  <span>Cancel</span>
+                </button>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableSave" (click)="saveDialog(false)"
+                        id="savebutton_id">
+                  <md-icon>save</md-icon>
+                  <span>Save</span>
+                </button>
+                <button md-raised-button color="primary" type="button" (click)="buttonNew()" id="newbutton_id">
+                  <md-icon>add</md-icon>
+                  <span>New</span>
+                </button>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableEdit"
+                        (click)="buttonEditAction(this.selected[0])"
+                        id="editbutton_id">
+                  <md-icon>edit</md-icon>
+                  <span>Edit</span>
+                </button>
+                <button md-raised-button color="primary" type="button" [disabled]="!enableDelete"
+                        (click)="buttonDelete()" id="deletebutton_id">
+                  <md-icon>delete</md-icon>
+                  <span>Delete</span>
+                </button>
+              </td>
+            </tr>
+          </table>
+        </form>
+      </md-card-content>
+    </md-card>
+  </div>
+</div>
diff --git a/smp-angular/src/app/messagefilter/messagefilter.component.ts b/smp-angular/src/app/messagefilter/messagefilter.component.ts
new file mode 100644
index 000000000..53096b7cb
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/messagefilter.component.ts
@@ -0,0 +1,476 @@
+import {Component} from "@angular/core";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {AlertService} from "../alert/alert.service";
+import {Http, Headers, Response} from "@angular/http";
+import {Observable} from "rxjs/Observable";
+import {MessageFilterResult} from "./messagefilterresult";
+import {BackendFilterEntry} from "./backendfilterentry";
+import {RoutingCriteriaEntry} from "./routingcriteriaentry";
+import {isNullOrUndefined, isUndefined} from "util";
+import {EditMessageFilterComponent} from "./editmessagefilter-form/editmessagefilter-form.component";
+import {DirtyOperations} from "../common/dirty-operations";
+import {CancelDialogComponent} from "../common/cancel-dialog/cancel-dialog.component";
+import {SaveDialogComponent} from "../common/save-dialog/save-dialog.component";
+import {DownloadService} from "../download/download.service";
+
+@Component({
+  moduleId: module.id,
+  templateUrl: 'messagefilter.component.html',
+  providers: [],
+  styleUrls: ['./messagefilter.component.css']
+})
+
+export class MessageFilterComponent implements DirtyOperations {
+
+  rows = [];
+  selected = [];
+
+  backendFilterNames = [];
+
+  rowNumber = -1;
+
+  enableCancel = false;
+  enableSave = false;
+  enableDelete = false;
+  enableEdit = false;
+
+  enableMoveUp = false;
+  enableMoveDown = false;
+
+  loading: boolean = false;
+
+  areFiltersPersisted: boolean;
+
+  static readonly MESSAGE_FILTER_URL: string = 'rest/messagefilters';
+
+  constructor(private http: Http, private alertService: AlertService, public dialog: MdDialog) {
+  }
+
+
+  getBackendFiltersInfo() {
+    this.getMessageFilterEntries().subscribe((result: MessageFilterResult) => {
+      console.log("messagefilter response: " + result);
+
+      let newRows = [];
+      this.backendFilterNames = [];
+      if (!isNullOrUndefined(result.messageFilterEntries)) {
+        for (let i = 0; i < result.messageFilterEntries.length; i++) {
+          let currentFilter: BackendFilterEntry = result.messageFilterEntries[i];
+          if (isNullOrUndefined(currentFilter)) {
+            continue;
+          }
+          let backendEntry = new BackendFilterEntry(currentFilter.entityId, i, currentFilter.backendName, currentFilter.routingCriterias, currentFilter.persisted);
+          newRows.push(backendEntry);
+          if (this.backendFilterNames.indexOf(backendEntry.backendName) == -1) {
+            this.backendFilterNames.push(backendEntry.backendName);
+          }
+        }
+        this.areFiltersPersisted = result.areFiltersPersisted;
+
+        this.rows = newRows;
+
+        if (!this.areFiltersPersisted && this.backendFilterNames.length > 1) {
+          this.alertService.error("One or several filters in the table were not configured yet (Persisted flag is not checked). " +
+            "It is strongly recommended to double check the filters configuration and afterwards save it.");
+          this.enableSave = true;
+        }
+      }
+    }, (error: any) => {
+      console.log("error getting the message filter: " + error);
+      this.loading = false;
+      this.alertService.error("Error occurred: " + error);
+    });
+  }
+
+  getMessageFilterEntries(): Observable<MessageFilterResult> {
+    return this.http.get(MessageFilterComponent.MESSAGE_FILTER_URL).map((response: Response) =>
+      response.json()
+    );
+  }
+
+  ngOnInit() {
+    this.loading = true;
+
+    this.getBackendFiltersInfo();
+  }
+
+  createValueProperty(cell, newProp, row) {
+    switch (cell) {
+      case 'from':
+        this.rows[row].from = newProp;
+        break;
+      case 'to':
+        this.rows[row].to = newProp;
+        break;
+      case 'action':
+        this.rows[row].action = newProp;
+        break;
+      case 'service':
+        this.rows[row].service = newProp;
+        break;
+    }
+  }
+
+  buttonNew() {
+    let formRef: MdDialogRef<EditMessageFilterComponent> = this.dialog.open(EditMessageFilterComponent, {data: {backendFilterNames: this.backendFilterNames}});
+    formRef.afterClosed().subscribe(result => {
+      if (result == true) {
+        let routingCriterias: Array<RoutingCriteriaEntry> = [];
+        if (!isNullOrUndefined(formRef.componentInstance.from) && formRef.componentInstance.from != "") {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'from', formRef.componentInstance.from));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.to) && formRef.componentInstance.to != "") {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'to', formRef.componentInstance.to));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.action) && formRef.componentInstance.action != "") {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'action', formRef.componentInstance.action));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.service) && formRef.componentInstance.service != "") {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'service', formRef.componentInstance.service));
+        }
+        let backendEntry = new BackendFilterEntry(0, this.rowNumber + 1, formRef.componentInstance.plugin, routingCriterias, false);
+        if (this.findRowsIndex(backendEntry) == -1) {
+          this.rows.push(backendEntry);
+          this.enableSave = formRef.componentInstance.messageFilterForm.dirty;
+          this.enableCancel = formRef.componentInstance.messageFilterForm.dirty;
+        } else {
+          this.alertService.error("Impossible to insert a duplicate entry");
+        }
+      }
+    });
+  }
+
+  private findRowsIndex(backendEntry: BackendFilterEntry): number {
+    for (let i = 0; i < this.rows.length; i++) {
+      let currentRow = this.rows[i];
+      if (currentRow.backendName === backendEntry.backendName && this.compareRoutingCriterias(backendEntry.routingCriterias, currentRow.routingCriterias)) {
+        return i;
+      }
+    }
+    return -1;
+  }
+
+  private compareRoutingCriterias(criteriasA: RoutingCriteriaEntry[], criteriasB: RoutingCriteriaEntry[]): boolean {
+    let result: boolean = true;
+    for (let entry of criteriasA) {
+      result = result && this.findRoutingCriteria(entry, criteriasB);
+    }
+    return result;
+  }
+
+  private findRoutingCriteria(toFind: RoutingCriteriaEntry, routingCriterias: RoutingCriteriaEntry[]): boolean {
+    for (let entry of routingCriterias) {
+      if (entry.name === toFind.name && entry.expression === toFind.expression) {
+        return true;
+      }
+    }
+    return toFind.expression === '' && routingCriterias.length == 0;
+  }
+
+  buttonEditAction(row) {
+    let formRef: MdDialogRef<EditMessageFilterComponent> = this.dialog.open(EditMessageFilterComponent, {
+      data: {
+        backendFilterNames: this.backendFilterNames,
+        edit: row
+      }
+    });
+    formRef.afterClosed().subscribe(result => {
+      if (result == true) {
+        let routingCriterias: Array<RoutingCriteriaEntry> = [];
+        if (!isNullOrUndefined(formRef.componentInstance.from)) {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'from', formRef.componentInstance.from));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.to)) {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'to', formRef.componentInstance.to));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.action)) {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'action', formRef.componentInstance.action));
+        }
+        if (!isNullOrUndefined(formRef.componentInstance.service)) {
+          routingCriterias.push(new RoutingCriteriaEntry(0, 'service', formRef.componentInstance.service));
+        }
+        let backendEntry = new BackendFilterEntry(0, this.rowNumber + 1, formRef.componentInstance.plugin, routingCriterias, false);
+        let backendEntryPos = this.findRowsIndex(backendEntry);
+        if (backendEntryPos == -1) {
+          this.updateSelectedPlugin(formRef.componentInstance.plugin);
+          this.updateSelectedFrom(formRef.componentInstance.from);
+          this.updateSelectedTo(formRef.componentInstance.to);
+          this.updateSelectedAction(formRef.componentInstance.action);
+          this.updateSelectedService(formRef.componentInstance.service);
+
+          this.enableSave = formRef.componentInstance.messageFilterForm.dirty;
+          this.enableCancel = formRef.componentInstance.messageFilterForm.dirty;
+        } else {
+          if (this.findRowsIndex(backendEntry) != this.rowNumber) {
+            this.alertService.error("Impossible to insert a duplicate entry");
+          }
+        }
+      }
+    });
+  }
+
+  private deleteRoutingCriteria(rc: string) {
+    let numRoutingCriterias = this.rows[this.rowNumber].routingCriterias.length;
+    for (let i = 0; i < numRoutingCriterias; i++) {
+      let routCriteria = this.rows[this.rowNumber].routingCriterias[i];
+      if (routCriteria.name == rc) {
+        this.rows[this.rowNumber].routingCriterias.splice(i, 1);
+        return;
+      }
+    }
+  }
+
+  private createRoutingCriteria(rc: string, value: string) {
+    if (value.length == 0) {
+      return;
+    }
+    let newRC = new RoutingCriteriaEntry(null, rc, value);
+    this.rows[this.rowNumber].routingCriterias.push(newRC);
+    this.createValueProperty(rc, newRC, this.rowNumber);
+  }
+
+  private updateSelectedTo(value: string) {
+    if (!isNullOrUndefined(this.rows[this.rowNumber].to)) {
+      if (value.length == 0) {
+        // delete
+        this.deleteRoutingCriteria('to');
+        this.rows[this.rowNumber].to.expression = '';
+      } else {
+        // update
+        this.rows[this.rowNumber].to.expression = value;
+      }
+    } else {
+      // create
+      this.createRoutingCriteria('to', value);
+    }
+  }
+
+  private updateSelectedPlugin(value: string) {
+    this.rows[this.rowNumber].backendName = value;
+  }
+
+  private updateSelectedFrom(value: string) {
+    if (!isNullOrUndefined(this.rows[this.rowNumber].from)) {
+      if (value.length == 0) {
+        // delete
+        this.deleteRoutingCriteria('from');
+        this.rows[this.rowNumber].from.expression = '';
+      } else {
+        // update
+        this.rows[this.rowNumber].from.expression = value;
+      }
+    } else {
+      // create
+      this.createRoutingCriteria('from', value);
+    }
+  }
+
+  private updateSelectedAction(value: string) {
+    if (!isNullOrUndefined(this.rows[this.rowNumber].action)) {
+      if (value.length == 0) {
+        // delete
+        this.deleteRoutingCriteria('action');
+        this.rows[this.rowNumber].action.expression = '';
+      } else {
+        // update
+        this.rows[this.rowNumber].action.expression = value;
+      }
+    } else {
+      // create
+      this.createRoutingCriteria('action', value);
+    }
+  }
+
+  private updateSelectedService(value: string) {
+    if (!isNullOrUndefined(this.rows[this.rowNumber].service)) {
+      if (value.length == 0) {
+        // delete
+        this.deleteRoutingCriteria('service');
+        this.rows[this.rowNumber].service.expression = '';
+      } else {
+        // update
+        this.rows[this.rowNumber].service.expression = value;
+      }
+    } else {
+      // create
+      this.createRoutingCriteria('service', value);
+    }
+  }
+
+  private disableSelectionAndButtons() {
+    this.selected = [];
+    this.enableMoveDown = false;
+    this.enableMoveUp = false;
+    this.enableCancel = false;
+    this.enableSave = false;
+    this.enableEdit = false;
+    this.enableDelete = false;
+  }
+
+  isSaveAsCSVButtonEnabled() : boolean {
+    return (this.rows.length < 10000);
+  }
+
+  saveAsCSV() {
+    if(this.isDirty()) {
+      this.saveDialog(true);
+    } else {
+      DownloadService.downloadNative(MessageFilterComponent.MESSAGE_FILTER_URL + "/csv");
+    }
+  }
+
+  cancelDialog() {
+    let dialogRef = this.dialog.open(CancelDialogComponent);
+    dialogRef.afterClosed().subscribe(result => {
+      if (result) {
+        this.disableSelectionAndButtons();
+        this.getBackendFiltersInfo();
+      }
+    });
+  }
+
+  saveDialog(withDownloadCSV: boolean) {
+    let headers = new Headers({'Content-Type': 'application/json'});
+    let dialogRef = this.dialog.open(SaveDialogComponent);
+    dialogRef.afterClosed().subscribe(result => {
+      if (result) {
+        this.disableSelectionAndButtons();
+        this.http.put(MessageFilterComponent.MESSAGE_FILTER_URL, JSON.stringify(this.rows), {headers: headers}).subscribe(res => {
+          this.alertService.success("The operation 'update message filters' completed successfully.", false);
+          this.getBackendFiltersInfo();
+          if(withDownloadCSV) {
+            DownloadService.downloadNative(MessageFilterComponent.MESSAGE_FILTER_URL + "/csv");
+          }
+        }, err => {
+          this.alertService.error("The operation 'update message filters' not completed successfully.", false);
+        });
+      } else {
+        if(withDownloadCSV) {
+          DownloadService.downloadNative(MessageFilterComponent.MESSAGE_FILTER_URL + "/csv");
+        }
+      }
+    });
+  }
+
+  buttonDeleteAction(row) {
+    this.enableCancel = true;
+    this.enableSave = true;
+    this.enableDelete = false;
+    this.enableEdit = false;
+
+    this.enableMoveUp = false;
+    this.enableMoveDown = false;
+
+    this.rows.splice(row.$$index, 1);
+
+    this.selected = [];
+  }
+
+  buttonDelete() {
+    this.enableCancel = true;
+    this.enableSave = true;
+    this.enableDelete = false;
+    this.enableEdit = false;
+
+    this.enableMoveUp = false;
+    this.enableMoveDown = false;
+
+    // we need to use the old for loop approach to don't mess with the entries on the top before
+    for (let i = this.selected.length - 1; i >= 0; i--) {
+      this.rows.splice(this.selected[i].$$index, 1);
+    }
+
+    this.selected = [];
+  }
+
+  private moveUpInternal(rowNumber) {
+    if (rowNumber < 1) {
+      return;
+    }
+    let array = this.rows.slice();
+    let move = array[rowNumber];
+    array[rowNumber] = array[rowNumber - 1];
+    array[rowNumber - 1] = move;
+
+    this.rows = array.slice();
+    this.rowNumber--;
+
+    if (rowNumber == 0) {
+      this.enableMoveUp = false;
+    }
+    this.enableMoveDown = true;
+    this.enableSave = true;
+    this.enableCancel = true;
+  }
+
+  buttonMoveUpAction(row) {
+    this.moveUpInternal(row.$$index);
+    setTimeout(() => {
+      document.getElementById('pluginRow'+(row.$$index)+'_id').click();
+    }, 50);
+  }
+
+  buttonMoveUp() {
+    this.moveUpInternal(this.rowNumber);
+  }
+
+  private moveDownInternal(rowNumber) {
+    if (rowNumber > this.rows.length - 1) {
+      return;
+    }
+
+    let array = this.rows.slice();
+    let move = array[rowNumber];
+    array[rowNumber] = array[rowNumber + 1];
+    array[rowNumber + 1] = move;
+
+    this.rows = array.slice();
+    this.rowNumber++;
+
+    if (rowNumber == this.rows.length - 1) {
+      this.enableMoveDown = false;
+    }
+    this.enableMoveUp = true;
+    this.enableSave = true;
+    this.enableCancel = true;
+  }
+
+  buttonMoveDownAction(row) {
+    this.moveDownInternal(row.$$index);
+    setTimeout(() => {
+      document.getElementById('pluginRow'+(row.$$index)+'_id').click();
+    }, 50);
+  }
+
+  buttonMoveDown() {
+    this.moveDownInternal(this.rowNumber);
+  }
+
+  onSelect({selected}) {
+    console.log('Select Event', selected, this.selected);
+
+    if (isNullOrUndefined(selected) || selected.length == 0) {
+      // unselect
+      this.enableMoveDown = false;
+      this.enableMoveUp = false;
+      this.enableDelete = false;
+      this.enableEdit = false;
+
+      return;
+    }
+
+    // select
+    this.rowNumber = this.selected[0].$$index;
+
+    this.selected.splice(0, this.selected.length);
+    this.selected.push(...selected);
+    this.enableMoveDown = selected.length == 1 && this.rowNumber < this.rows.length - 1;
+    this.enableMoveUp = selected.length == 1 && this.rowNumber > 0;
+    this.enableDelete = selected.length > 0;
+    this.enableEdit = selected.length == 1;
+  }
+
+  isDirty(): boolean {
+    return this.enableCancel;
+  }
+}
diff --git a/smp-angular/src/app/messagefilter/messagefilterresult.ts b/smp-angular/src/app/messagefilter/messagefilterresult.ts
new file mode 100644
index 000000000..9e98822ed
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/messagefilterresult.ts
@@ -0,0 +1,6 @@
+import {BackendFilterEntry} from "./backendfilterentry";
+export class MessageFilterResult {
+
+  constructor(public messageFilterEntries: Array<BackendFilterEntry>, public areFiltersPersisted: boolean) {
+  }
+}
diff --git a/smp-angular/src/app/messagefilter/routingcriteriaentry.ts b/smp-angular/src/app/messagefilter/routingcriteriaentry.ts
new file mode 100644
index 000000000..44df5794b
--- /dev/null
+++ b/smp-angular/src/app/messagefilter/routingcriteriaentry.ts
@@ -0,0 +1,9 @@
+export class RoutingCriteriaEntry {
+
+  public constructor(
+    public entityId: number,
+    public name: string,
+    public expression: string
+  ) {
+  }
+}
diff --git a/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.css b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.css
new file mode 100644
index 000000000..55a259899
--- /dev/null
+++ b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.css
@@ -0,0 +1,43 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+  text-align: center;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
+
diff --git a/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.html b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.html
new file mode 100644
index 000000000..e30dabd05
--- /dev/null
+++ b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.html
@@ -0,0 +1,17 @@
+ <h1 md-dialog-title>You are using the default password for this user. We strongly recommend you to change it using the
+    user console.
+  </h1>
+  <div class="divTable">
+    <div class="divTableBody">
+
+      <div class="divTableRow">
+        <div class="divTableCell">
+          <button md-raised-button color="primary" (click)="dialogRef.close('ok')" id="defaultpassbutton_id">
+            <md-icon>check_circle</md-icon>
+            <span>OK</span>
+          </button>
+        </div>
+      </div>
+    </div>
+  </div>
+
diff --git a/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.spec.ts b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.spec.ts
new file mode 100644
index 000000000..086487d0c
--- /dev/null
+++ b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { DefaultPasswordDialogComponent } from './default-password-dialog.component';
+
+describe('DefaultPasswordDialogComponent', () => {
+  let component: DefaultPasswordDialogComponent;
+  let fixture: ComponentFixture<DefaultPasswordDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ DefaultPasswordDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(DefaultPasswordDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.ts b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.ts
new file mode 100644
index 000000000..a2519a804
--- /dev/null
+++ b/smp-angular/src/app/security/default-password-dialog/default-password-dialog.component.ts
@@ -0,0 +1,16 @@
+import {Component, OnInit} from "@angular/core";
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-default-password-dialog',
+  templateUrl: './default-password-dialog.component.html',
+  styleUrls: ['./default-password-dialog.component.css']
+})
+export class DefaultPasswordDialogComponent implements OnInit {
+
+  constructor(public dialogRef: MdDialogRef<DefaultPasswordDialogComponent>) { }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/security/domain.service.ts b/smp-angular/src/app/security/domain.service.ts
new file mode 100644
index 000000000..ed76cd86d
--- /dev/null
+++ b/smp-angular/src/app/security/domain.service.ts
@@ -0,0 +1,66 @@
+import {Injectable} from '@angular/core';
+import {Http, Headers, Response} from '@angular/http';
+import {Observable} from 'rxjs/Observable';
+import {ReplaySubject} from 'rxjs';
+import 'rxjs/add/operator/map';
+import {Domain} from './domain';
+
+@Injectable()
+export class DomainService {
+
+  static readonly MULTI_TENANCY_URL: string = 'rest/application/multitenancy';
+  static readonly CURRENT_DOMAIN_URL: string = 'rest/security/user/domain';
+  static readonly DOMAIN_LIST_URL: string = 'rest/application/domains';
+
+  private isMultiDomainSubject: ReplaySubject<boolean>;
+  private domainSubject: ReplaySubject<Domain>;
+
+  constructor (private http: Http) {
+  }
+
+  isMultiDomain (): Observable<boolean> {
+    if (!this.isMultiDomainSubject) {
+      this.isMultiDomainSubject = new ReplaySubject<boolean>();
+      this.http.get(DomainService.MULTI_TENANCY_URL).subscribe((res: Response) => {
+        this.isMultiDomainSubject.next(res.json());
+      }, (error: any) => {
+        console.log('get isMultiDomain:' + error);
+        this.isMultiDomainSubject.next(false);
+      });
+    }
+    return this.isMultiDomainSubject.asObservable();
+  }
+
+  getCurrentDomain (): Observable<Domain> {
+    if (!this.domainSubject) {
+      this.domainSubject = new ReplaySubject<Domain>();
+      this.http.get(DomainService.CURRENT_DOMAIN_URL).subscribe((res: Response) => {
+        this.domainSubject.next(res.json());
+      }, (error: any) => {
+        console.log('getCurrentDomain:' + error);
+        this.domainSubject.next(null);
+      });
+    }
+    return this.domainSubject.asObservable();
+  }
+
+  resetDomain (): void {
+    if (this.domainSubject) {
+      this.domainSubject.unsubscribe();
+    }
+    this.domainSubject = null;
+  }
+
+  getDomains (): Observable<Domain[]> {
+    return this.http.get(DomainService.DOMAIN_LIST_URL).map((res: Response) => res.json());
+  }
+
+  setCurrentDomain (domain: Domain) {
+    return this.http.put(DomainService.CURRENT_DOMAIN_URL, domain.code).toPromise().then(() => {
+      if (this.domainSubject) {
+        this.domainSubject.next(domain);
+      }
+    });
+  }
+
+}
diff --git a/smp-angular/src/app/security/domain.ts b/smp-angular/src/app/security/domain.ts
new file mode 100644
index 000000000..aba5088dc
--- /dev/null
+++ b/smp-angular/src/app/security/domain.ts
@@ -0,0 +1,7 @@
+export class Domain { 
+  code: string;
+  name: string; 
+
+  constructor(code: string, name: string) {
+  }
+}
diff --git a/smp-angular/src/app/security/is-authorized.directive.ts b/smp-angular/src/app/security/is-authorized.directive.ts
new file mode 100644
index 000000000..2dfd23f04
--- /dev/null
+++ b/smp-angular/src/app/security/is-authorized.directive.ts
@@ -0,0 +1,26 @@
+import {Directive,ElementRef,Input} from '@angular/core';
+import {SecurityService} from './security.service';
+
+@Directive({
+    selector:'[isAuthorized]',
+    providers:[]
+})
+export class IsAuthorized {
+    @Input('isAuthorized') role:string;
+    constructor(private _elementRef:ElementRef, private securityService:SecurityService) {
+
+    }
+    ngOnInit():void {
+      if(this.role && this.role.trim() !== '') {
+        this.securityService.isAuthorized([this.role]).subscribe((isAuthorized:boolean) => {
+          if(!isAuthorized) {
+            let el : HTMLElement = this._elementRef.nativeElement;
+            el.parentNode.removeChild(el);
+          }
+        },
+          (error:any) => {
+            console.log("Error in IsAuthorized directive [" + error + "]");
+          });
+      }
+    }
+}
diff --git a/smp-angular/src/app/security/security.event.service.ts b/smp-angular/src/app/security/security.event.service.ts
new file mode 100644
index 000000000..7953c1340
--- /dev/null
+++ b/smp-angular/src/app/security/security.event.service.ts
@@ -0,0 +1,49 @@
+import {Injectable} from "@angular/core";
+import {Response} from "@angular/http";
+import {Observable} from "rxjs/Observable";
+import "rxjs/add/operator/map";
+import {Subject} from "rxjs";
+
+@Injectable()
+export class SecurityEventService {
+
+  private loginSuccessSubject = new Subject<any>();
+  private loginErrorSubject = new Subject<any>();
+  private logoutSuccessSubject = new Subject<any>();
+  private logoutErrorSubject = new Subject<any>();
+
+  constructor() {
+  }
+
+  notifyLoginSuccessEvent(res: Response) {
+    this.loginSuccessSubject.next(res);
+  }
+
+  onLoginSuccessEvent(): Observable<Response> {
+    return this.loginSuccessSubject.asObservable();
+  }
+
+  notifyLoginErrorEvent(error: any) {
+    this.loginErrorSubject.next(error);
+  }
+
+  onLoginErrorEvent(): Observable<any> {
+    return this.loginErrorSubject.asObservable();
+  }
+
+  notifyLogoutSuccessEvent(res: Response) {
+    this.logoutSuccessSubject.next(res);
+  }
+
+  onLogoutSuccessEvent(): Observable<Response> {
+    return this.logoutSuccessSubject.asObservable();
+  }
+
+  notifyLogoutErrorEvent(error: any) {
+    this.logoutErrorSubject.next(error);
+  }
+
+  onLogoutErrorEvent(): Observable<any> {
+    return this.logoutErrorSubject.asObservable();
+  }
+}
diff --git a/smp-angular/src/app/security/security.service.ts b/smp-angular/src/app/security/security.service.ts
new file mode 100644
index 000000000..432412f92
--- /dev/null
+++ b/smp-angular/src/app/security/security.service.ts
@@ -0,0 +1,119 @@
+import {Injectable} from '@angular/core';
+import {Http, Headers, Response} from '@angular/http';
+import {Observable} from 'rxjs/Observable';
+import 'rxjs/add/operator/map';
+import {User} from './user';
+import {ReplaySubject} from 'rxjs';
+import {SecurityEventService} from './security.event.service';
+import {DomainService} from './domain.service';
+
+@Injectable()
+export class SecurityService {
+  static ROLE_AP_ADMIN = 'ROLE_AP_ADMIN';
+  static ROLE_DOMAIN_ADMIN = 'ROLE_ADMIN';
+
+  constructor (private http: Http, private securityEventService: SecurityEventService, private domainService: DomainService) {
+  }
+
+  login (username: string, password: string) {
+    this.domainService.resetDomain();
+    let headers = new Headers({'Content-Type': 'application/json'});
+    return this.http.post('rest/security/authentication',
+      JSON.stringify({
+        username: username,
+        password: password
+      }),
+      {headers: headers})
+      .subscribe((response: Response) => {
+          console.log('Login success');
+          localStorage.setItem('currentUser', JSON.stringify(response.json()));
+          this.securityEventService.notifyLoginSuccessEvent(response);
+        },
+        (error: any) => {
+          console.log('Login error');
+          this.securityEventService.notifyLoginErrorEvent(error);
+        });
+  }
+
+  logout () {
+    console.log('Logging out');
+    this.domainService.resetDomain();
+    this.http.delete('rest/security/authentication').subscribe((res: Response) => {
+        localStorage.removeItem('currentUser');
+        this.securityEventService.notifyLogoutSuccessEvent(res);
+      },
+      (error: any) => {
+        console.debug('error logging out [' + error + ']');
+        this.securityEventService.notifyLogoutErrorEvent(error);
+      });
+  }
+
+  getCurrentUser (): User {
+    return JSON.parse(localStorage.getItem('currentUser'));
+  }
+
+  private getCurrentUsernameFromServer (): Observable<string> {
+    let subject = new ReplaySubject();
+    this.http.get('rest/security/user')
+      .subscribe((res: Response) => {
+        subject.next(res.text());
+      }, (error: any) => {
+        //console.log('getCurrentUsernameFromServer:' + error);
+        subject.next(null);
+      });
+    return subject.asObservable();
+  }
+
+  isAuthenticated (callServer: boolean = false): Observable<boolean> {
+    let subject = new ReplaySubject();
+    if (callServer) {
+      //we get the username from the server to trigger the redirection to the login screen in case the user is not authenticated
+      this.getCurrentUsernameFromServer()
+        .subscribe((user: string) => {
+          console.log('isAuthenticated: getCurrentUsernameFromServer [' + user + ']');
+          subject.next(user !== null);
+        }, (user: string) => {
+          console.log('isAuthenticated error' + user);
+          subject.next(false);
+        });
+
+    } else {
+      let currentUser = this.getCurrentUser();
+      subject.next(currentUser !== null);
+    }
+    return subject.asObservable();
+  }
+
+  isCurrentUserSuperAdmin (): boolean {
+    return this.isCurrentUserInRole([SecurityService.ROLE_AP_ADMIN]);
+  }
+
+  isCurrentUserAdmin (): boolean {
+    return this.isCurrentUserInRole([SecurityService.ROLE_DOMAIN_ADMIN, SecurityService.ROLE_AP_ADMIN]);
+  }
+
+  isCurrentUserInRole (roles: Array<string>): boolean {
+    let hasRole = false;
+    const currentUser = this.getCurrentUser();
+    if (currentUser && currentUser.authorities) {
+      roles.forEach((role: string) => {
+        if (currentUser.authorities.indexOf(role) !== -1) {
+          hasRole = true;
+        }
+      });
+    }
+    return hasRole;
+  }
+
+  isAuthorized (roles: Array<string>): Observable<boolean> {
+    let subject = new ReplaySubject();
+
+    this.isAuthenticated(false).subscribe((isAuthenticated: boolean) => {
+      if (isAuthenticated && roles) {
+        let hasRole = this.isCurrentUserInRole(roles);
+        subject.next(hasRole);
+      }
+    });
+    return subject.asObservable();
+  }
+}
diff --git a/smp-angular/src/app/security/user.ts b/smp-angular/src/app/security/user.ts
new file mode 100644
index 000000000..f793d56cf
--- /dev/null
+++ b/smp-angular/src/app/security/user.ts
@@ -0,0 +1,9 @@
+export class User {
+  id: number;
+  username: string;
+  authorities: Array<string>;
+  defaultPasswordUsed:boolean;
+
+  constructor(id: number, login: string, profile: string, authorities: Array<string>,defaultPasswordUsed:boolean) {
+  }
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup-controller.ts b/smp-angular/src/app/servicegroup/servicegroup-controller.ts
new file mode 100644
index 000000000..7e761fac9
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-controller.ts
@@ -0,0 +1,50 @@
+import {SearchTableController} from "../common/searchtable/searchtable-controller";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {ServicegroupDetailsDialogComponent} from "./servicegroup-details-dialog/servicegroup-details-dialog.component";
+import {Http} from "@angular/http";
+import {AlertService} from "../alert/alert.service";
+import {ServiceGroupExtensionDialogComponent} from "./servicegroup-extension-dialog/servicegroup-extension-dialog.component";
+import {ServicegroupMetadatalistDialogComponent} from "./servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component";
+
+export class ServiceGroupController extends SearchTableController {
+
+  constructor(public dialog: MdDialog) {
+    super();
+  }
+
+
+  public showDetails(row: any) {
+    let dialogRef: MdDialogRef<ServicegroupDetailsDialogComponent> = this.dialog.open(ServicegroupDetailsDialogComponent);
+    dialogRef.componentInstance.servicegroup = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+
+  }
+
+  public showExtension(row: any) {
+    let dialogRef: MdDialogRef<ServiceGroupExtensionDialogComponent> = this.dialog.open(ServiceGroupExtensionDialogComponent);
+    dialogRef.componentInstance.servicegroup = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+  }
+
+  public showMetadataList(row: any) {
+    let dialogRef: MdDialogRef<ServicegroupMetadatalistDialogComponent> = this.dialog.open(ServicegroupMetadatalistDialogComponent);
+   // dialogRef.componentInstance.servicegroup = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+
+  }
+
+
+  public edit(row: any) {
+
+  }
+
+  public  delete(row: any) {
+
+  }
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.css b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.html b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.html
new file mode 100644
index 000000000..99d819dce
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.html
@@ -0,0 +1,38 @@
+<h2 md-dialog-title>ServiceGroup details</h2>
+<md-dialog-content style="height:260px;width:650px">
+  <md-card>
+    <md-card-content>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Participant Id" value="{{servicegroup.serviceGroupROId.participantId}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Participant schema" value="{{servicegroup.serviceGroupROId.participantSchema}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Domain" value="{{servicegroup.domain}}" readonly/>
+      </md-input-container>
+
+    </md-card-content>
+  </md-card>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button" >
+  <button id="ServiceGroupsSaveButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>save</md-icon>
+    <span>Save</span>
+  </button>
+
+
+  <button id="ServiceGroupsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>close</md-icon>
+    <span>Close</span>
+  </button>
+  </div>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.spec.ts b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.spec.ts
new file mode 100644
index 000000000..801e26a0c
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupDetailsDialogComponent } from './servicegroup-details-dialog.component';
+
+describe('ServicegroupDetailsDialogComponent', () => {
+  let component: ServicegroupDetailsDialogComponent;
+  let fixture: ComponentFixture<ServicegroupDetailsDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupDetailsDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupDetailsDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.ts b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.ts
new file mode 100644
index 000000000..4498741f8
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-details-dialog/servicegroup-details-dialog.component.ts
@@ -0,0 +1,20 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-messagelog-details',
+  templateUrl: './servicegroup-details-dialog.component.html',
+  styleUrls: ['./servicegroup-details-dialog.component.css']
+})
+export class ServicegroupDetailsDialogComponent implements OnInit {
+
+  servicegroup;
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  constructor(public dialogRef: MdDialogRef<ServicegroupDetailsDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.css b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.html b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.html
new file mode 100644
index 000000000..6552d2d48
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.html
@@ -0,0 +1,28 @@
+<h2 md-dialog-title>ServiceGroup Extension</h2>
+<md-dialog-content style="height:260px;width:650px">
+  <textarea style="width: 100%; height: 95%">&lt;Extension&gt;
+    &lt;ExtensionID&gt;another sample not mandatory extension ID&lt;/ExtensionID&gt;
+    &lt;ExtensionName&gt;name&lt;/ExtensionName&gt;
+    &lt;ExtensionAgencyID&gt;sample string&lt;/ExtensionAgencyID&gt;
+    &lt;ExtensionAgencyName&gt;sample string&lt;/ExtensionAgencyName&gt;
+    &lt;ext:nextdummynode xmlns:ext="http://test2.eu"&gt;token1&lt;/ext:nextdummynode&gt;
+&lt;/Extension&gt;</textarea>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button">
+    <button id="ServiceGroupsSaveButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+            style="margin-top:10px">
+      <md-icon>save</md-icon>
+      <span>Save</span>
+    </button>
+
+    <button id="ServiceGroupsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+            style="margin-top:10px">
+      <md-icon>close</md-icon>
+      <span>Close</span>
+    </button>
+  </div>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.spec.ts b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.spec.ts
new file mode 100644
index 000000000..801e26a0c
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupDetailsDialogComponent } from './servicegroup-details-dialog.component';
+
+describe('ServicegroupDetailsDialogComponent', () => {
+  let component: ServicegroupDetailsDialogComponent;
+  let fixture: ComponentFixture<ServicegroupDetailsDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupDetailsDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupDetailsDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.ts b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.ts
new file mode 100644
index 000000000..91e48463f
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-extension-dialog/servicegroup-extension-dialog.component.ts
@@ -0,0 +1,20 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'servicegroup-extension-dialog',
+  templateUrl: './servicegroup-extension-dialog.component.html',
+  styleUrls: ['./servicegroup-extension-dialog.component.css']
+})
+export class ServiceGroupExtensionDialogComponent implements OnInit {
+
+  servicegroup;
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  constructor(public dialogRef: MdDialogRef<ServiceGroupExtensionDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.css b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.css
new file mode 100644
index 000000000..7389196e5
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.css
@@ -0,0 +1,41 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+  text-align: center;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.html b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.html
new file mode 100644
index 000000000..5b93e0676
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.html
@@ -0,0 +1,55 @@
+<h2 md-dialog-title>ServiceGroup Metadata</h2>
+<md-dialog-content style="height:460px;width:950px">
+  <textarea style="width: 100%; height: 95%">&lt;ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"&gt;
+    &lt;ServiceInformation&gt;
+        &lt;ParticipantIdentifier scheme="participantSchema"&gt;participantIdentifier&lt;/ParticipantIdentifier&gt;
+        &lt;DocumentIdentifier scheme="docSchema"&gt;docTypeIdentifier&lt;/DocumentIdentifier&gt;
+        &lt;ProcessList&gt;
+            &lt;Process&gt;
+                &lt;ProcessIdentifier scheme="cenbii-procid-ubl"&gt;urn:www.cenbii.eu:profile:bii04:ver1.0&lt;/ProcessIdentifier&gt;
+                &lt;ServiceEndpointList&gt;
+                    &lt;Endpoint transportProfile="busdox-transport-start"&gt;
+                        &lt;EndpointURI&gt;https://poland.pl/theService&lt;/EndpointURI&gt;
+                        &lt;RequireBusinessLevelSignature&gt;true&lt;/RequireBusinessLevelSignature&gt;
+                        &lt;ServiceActivationDate&gt;2003-01-01T00:00:00&lt;/ServiceActivationDate&gt;
+                        &lt;ServiceExpirationDate&gt;2020-05-01T00:00:00&lt;/ServiceExpirationDate&gt;
+                        &lt;Certificate&gt;MIICUTCCAbqgAwIBAgIEWoKrxzANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQGEwJCRTEcMBoGA1UECgwTRXVyb3BlYW4gQ29tbWlzc2lvbjEYMBYGA1UECwwPRElHSVQgZURlbGl2ZXJ5MSYwJAYDVQQDDB1TYW1wbGUgU2lnbmF0dXJlcyBDZXJ0aWZpY2F0ZTAeFw0xODAyMTMwOTEzMjBaFw0zODAyMTMwOTEzMjBaMG0xCzAJBgNVBAYTAkJFMRwwGgYDVQQKDBNFdXJvcGVhbiBDb21taXNzaW9uMRgwFgYDVQQLDA9ESUdJVCBlRGVsaXZlcnkxJjAkBgNVBAMMHVNhbXBsZSBTaWduYXR1cmVzIENlcnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIWYibbbJ6YT3uLQ0oup8kB1jJO/o16nlRfB3CbCbmpGZ2r+zCh67EMstKLltuk3peJ6QTcSaFV2oS1KLKWxwWsV4iEs5qggA5BTkzUicTsQWw39OcPPe0wniJeXdNUlOUFP2ab0ZQ9UMrJgVtlyF2uLijoKx1XR0mpTKmajh1CQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBABoFFJ+vgOo/78SPv73+MEdxkydn5EMsZ+Q4Vt1BmBaq78RcjeS7LpvPZtRxSzW+w59825BbaOCJ5K0oc6lwOXc+SS0ZI0JK2vMlp/2REFLedqHqnhpSWFKWM0Zrq80o1SzBQHC1hq95RXml6RzzPEEK0Ll0dVH7HXRpekRScGic&lt;/Certificate&gt;
+                        &lt;ServiceDescription&gt;Sample description of invoicing service&lt;/ServiceDescription&gt;
+                        &lt;TechnicalContactUrl&gt;https://example.com&lt;/TechnicalContactUrl&gt;
+                    &lt;/Endpoint&gt;
+                &lt;/ServiceEndpointList&gt;
+                &lt;Extension&gt;
+                    &lt;ExtensionID&gt;optional sample ID&lt;/ExtensionID&gt;
+                    &lt;ExtensionName&gt;UTF-8 characters are handled, i.e. polish special ones: zażółć gęślą jaźń&lt;/ExtensionName&gt;
+                    &lt;ExtensionAgencyID&gt;text&lt;/ExtensionAgencyID&gt;
+                    &lt;ExtensionAgencyName&gt;text&lt;/ExtensionAgencyName&gt;
+                    &lt;ex:dummy xmlns:ex="http://test.eu"&gt;dummy1&lt;/ex:dummy&gt;
+                &lt;/Extension&gt;
+                &lt;Extension&gt;
+                    &lt;ex:dummy xmlns:ex="http://test.eu"&gt;dumm2&lt;/ex:dummy&gt;
+                &lt;/Extension&gt;
+            &lt;/Process&gt;
+        &lt;/ProcessList&gt;
+        &lt;Extension&gt;
+            &lt;ex:dummynode xmlns:ex="http://test.eu"&gt;Sample not mandatory extension&lt;/ex:dummynode&gt;
+        &lt;/Extension&gt;
+    &lt;/ServiceInformation&gt;
+&lt;/ServiceMetadata&gt;</textarea>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button">
+    <button id="ServiceGroupsSaveButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+            style="margin-top:10px">
+      <md-icon>save</md-icon>
+      <span>Save</span>
+    </button>
+
+    <button id="ServiceGroupsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+            style="margin-top:10px">
+      <md-icon>close</md-icon>
+      <span>Close</span>
+    </button>
+  </div>
+</md-dialog-actions>
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.spec.ts b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.spec.ts
new file mode 100644
index 000000000..46d476bf4
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupMetadataDialogComponent } from './servicegroup-metadata-dialog.component';
+
+describe('ServicegroupExtensionDialogComponent', () => {
+  let component: ServicegroupMetadataDialogComponent;
+  let fixture: ComponentFixture<ServicegroupMetadataDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupMetadataDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupMetadataDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.ts b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.ts
new file mode 100644
index 000000000..651b39645
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadata-dialog/servicegroup-metadata-dialog.component.ts
@@ -0,0 +1,17 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'app-messagelog-dialog',
+  templateUrl: './servicegroup-metadata-dialog.component.html',
+  styleUrls: ['./servicegroup-metadata-dialog.component.css']
+})
+export class ServicegroupMetadataDialogComponent implements OnInit {
+
+  constructor(public dialogRef: MdDialogRef<ServicegroupMetadataDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.css b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.css
new file mode 100644
index 000000000..7389196e5
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.css
@@ -0,0 +1,41 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+  text-align: center;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.html b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.html
new file mode 100644
index 000000000..6ea0b960a
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.html
@@ -0,0 +1,77 @@
+<h2 md-dialog-title>ServiceGroup Metadata list</h2>
+<md-dialog-content style="height:460px;width:950px">
+
+
+  <ngx-datatable
+    id="metadataTable"
+    class="material striped"
+    style="height: 400px;width: 920px;"
+    [rows]="rows"
+    [columns]="columnPicker.selectedColumns"
+    [columnMode]="'force'"
+    [headerHeight]="50"
+    [footerHeight]="50"
+    [rowHeight]="'auto'"
+    [scrollbarH]="true"
+    [externalPaging]="true"
+    [externalSorting]="true"
+    [loadingIndicator]="loading"
+    [count]="count"
+    [offset]="offset"
+    [limit]="rowLimiter.pageSize"
+    [sorts]="[{prop: 'received', dir: 'desc'}]"
+    (page)='onPage($event)'
+    (sort)="onSort($event)"
+    [selected]="selected"
+    [selectionType]="'multi'"
+    (activate)="onActivate($event)"
+    (select)="onSelect($event)">
+  </ngx-datatable>
+
+
+  <ng-template #rowActions let-row="row" let-value="value" ngx-datatable-cell-template>
+
+    <button md-icon-button color="primary"
+            (click)="editRowButtonAction(row)" id="editButtonRow{{row.$$index}}_id" tooltip="Edit">
+      <md-icon>edit</md-icon>
+    </button>
+
+
+    <button md-icon-button color="primary" (click)="deleteRowButtonAction(row)"
+            id="deleteButtonRow{{row.$$index}}_id" tooltip="Delete">
+      <md-icon>delete</md-icon>
+    </button>
+  </ng-template>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button">
+
+    <button md-raised-button color="primary" (click)="newButtonAction()"
+            id="add_id">
+      <md-icon>add</md-icon>
+      <span>New</span>
+    </button>
+
+    <button md-raised-button color="primary" [disabled]="!isRowSelected()" (click)="editButtonAction()"
+            id="edit_id">
+      <md-icon>edit</md-icon>
+      <span>Edit</span>
+    </button>
+
+    <button md-raised-button color="primary" [disabled]="!isRowSelected()" (click)="deleteButtonAction()"
+            id="resendbutton_id">
+      <md-icon>delete</md-icon>
+      <span>Delete</span>
+    </button>
+    <div style="background-color: #03A9F4; display: inline-block; width: 3px; height: 20px; margin-right: 8px">&nbsp;
+    </div>
+    <button id="ServiceGroupMetadataListCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+            style="margin-top:10px">
+      <md-icon>close</md-icon>
+      <span>Close</span>
+    </button>
+  </div>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.spec.ts b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.spec.ts
new file mode 100644
index 000000000..8ebd8bf23
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupMetadatalistDialogComponent } from './servicegroup-metadatalist-dialog.component';
+
+describe('ServicegroupExtensionDialogComponent', () => {
+  let component: ServicegroupMetadatalistDialogComponent;
+  let fixture: ComponentFixture<ServicegroupMetadatalistDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupMetadatalistDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupMetadatalistDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.ts b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.ts
new file mode 100644
index 000000000..4ce7a5cc5
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup-metadatalist-dialog/servicegroup-metadatalist-dialog.component.ts
@@ -0,0 +1,124 @@
+import {Component, EventEmitter, OnInit, TemplateRef, ViewChild} from '@angular/core';
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {ColumnPickerBase} from "../../common/column-picker/column-picker-base";
+import {ServiceGroupController} from "../servicegroup-controller";
+import {RowLimiterBase} from "../../common/row-limiter/row-limiter-base";
+import {ServiceGroupExtensionDialogComponent} from "../servicegroup-extension-dialog/servicegroup-extension-dialog.component";
+import {ServicegroupMetadataDialogComponent} from "../servicegroup-metadata-dialog/servicegroup-metadata-dialog.component";
+
+@Component({
+  selector: 'app-messagelog-dialog',
+  templateUrl: './servicegroup-metadatalist-dialog.component.html',
+  styleUrls: ['./servicegroup-metadatalist-dialog.component.css']
+})
+export class ServicegroupMetadatalistDialogComponent implements OnInit {
+
+  @ViewChild('rowActions') rowActions: TemplateRef<any>;
+
+
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+
+
+
+  columnActions:any;
+
+  rowLimiter: RowLimiterBase = new RowLimiterBase();
+
+  selected = [];
+
+
+  filter: any = {};
+  loading: boolean = false;
+  rows = [];
+  count: number = 0;
+  offset: number = 0;
+  //default value
+  orderBy: string = null;
+  //default value
+  asc: boolean = false;
+
+
+  messageResent = new EventEmitter(false);
+
+
+  constructor(public dialogRef: MdDialogRef<ServicegroupMetadatalistDialogComponent>, public dialog: MdDialog) {
+  }
+
+
+  ngOnInit() {
+
+    this.columnPicker.allColumns = [
+      {
+        name: 'Document Id',
+        prop: 'documentId',
+        width: 200,
+      },
+      {
+        name: 'Document schema',
+        prop: 'documentSchema',
+        width: 200,
+      }, {
+        cellTemplate: this.rowActions,
+        name: 'Actions',
+        width: 60,
+        sortable: false
+      }
+
+
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Document Id", "Document schema", "Actions"].indexOf(col.name) != -1
+    });
+
+
+    this.rows = [{
+      documentId:"urn:be:ncpb",
+      documentSchema:"ehealth-docid-qns",
+
+    },
+      {
+        documentId:"urn:pl:ncpb",
+        documentSchema:"ehealth-docid-qns",
+
+      },
+      {
+        documentId:"urn:ge:ncpb",
+        documentSchema:"ehealth-docid-qns",
+
+      },
+      {
+        documentId:"urn:si:ncpb",
+        documentSchema:"ehealth-docid-qns",
+
+      }];
+    this.count=3;
+    this.offset=0;
+    this.loading = false;
+  }
+
+  isRowSelected() {
+    if (this.selected)
+      return true;
+
+    return false;
+  }
+
+  newButtonAction (){this.details()}
+  editButtonAction (){this.details()}
+  deleteButtonAction (){}
+
+  details() {
+    let dialogRef: MdDialogRef<ServicegroupMetadataDialogComponent> = this.dialog.open(ServicegroupMetadataDialogComponent);
+    //dialogRef.componentInstance.servicegroup = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+
+  }
+
+
+
+
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup.component.css b/smp-angular/src/app/servicegroup/servicegroup.component.css
new file mode 100644
index 000000000..d1a612141
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup.component.css
@@ -0,0 +1,18 @@
+/* --- Select ---*/
+.mat-select{
+  padding:20px 0;
+}
+
+/* --- Button  ---*/
+.group-btn {
+   margin-top:20px;
+ }
+
+#hiddenButtonId {
+  position: fixed;
+}
+
+
+.datatable-body{
+  overflow-y: scroll;
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroup.component.html b/smp-angular/src/app/servicegroup/servicegroup.component.html
new file mode 100644
index 000000000..6bb189f09
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup.component.html
@@ -0,0 +1,73 @@
+<smp-search-table
+  page_id='participants_id'
+  title='Participants'
+  [columnPicker]="columnPicker"
+  url="ui/servicegroup"
+  [additionalToolButtons]="additionalToolButtons"
+  [searchPanel]="searchPanel"
+  [filter]="filter"
+  [searchTableController]="serviceGroupController"
+>
+
+  <ng-template #rowMetadataAction let-row="row" let-value="value" ngx-datatable-cell-template>
+
+    <button md-button color="primary"
+            (click)="metadataRowButtonAction(row)" id="metadataRowButtonAction{{row.$$index}}_id" tooltip="Metadata">
+      <md-icon>view_list</md-icon>
+      <span>Metadata</span>
+    </button>
+
+  </ng-template>
+
+  <ng-template #rowExtensionAction let-row="row" let-value="value" ngx-datatable-cell-template>
+
+    <button md-button color="primary"
+            (click)="extensionRowButtonAction(row)" id="extensionRowButtonAction{{row.$$index}}_id" tooltip="Extension">
+      <md-icon>code</md-icon>
+      <span>Extension</span>
+    </button>
+
+  </ng-template>
+
+  <ng-template #searchPanel>
+    <md-input-container>
+      <input mdInput placeholder="Participant Id" name="messageId" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="messageid_id">
+    </md-input-container>
+    <md-input-container>
+      <input mdInput placeholder="Participant schema" name="patricipantSchema" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="participanschema_id">
+    </md-input-container>
+    <md-select placeholder="Domain " [(ngModel)]="filter.messageStatus" name="messageStatus"
+               id="messagestatus_id">
+      <md-option [value]="''">
+      </md-option>
+      <md-option *ngFor="let mstatus of msgStatus" [value]="mstatus">
+        {{mstatus}}
+      </md-option>
+    </md-select>
+  </ng-template>
+
+
+  <ng-template #additionalToolButtons>
+
+    <div style="background-color: #03A9F4; display: inline-block; width: 3px; height: 100%; margin-right: 8px">&nbsp;
+    </div>
+
+
+    <button md-raised-button color="primary"
+            id="metadatabutton_id">
+      <md-icon>view_list</md-icon>
+      <span>Metadata</span>
+    </button>
+
+    <button md-raised-button color="primary"
+            id="extensionbutton_id">
+      <md-icon>code</md-icon>
+      <span>Extension</span>
+    </button>
+
+
+  </ng-template>
+
+</smp-search-table>
diff --git a/smp-angular/src/app/servicegroup/servicegroup.component.ts b/smp-angular/src/app/servicegroup/servicegroup.component.ts
new file mode 100644
index 000000000..e36890bc5
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroup.component.ts
@@ -0,0 +1,85 @@
+import {Component, TemplateRef, ViewChild} from "@angular/core";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {ServicegroupDetailsDialogComponent} from "./servicegroup-details-dialog/servicegroup-details-dialog.component";
+import {Http} from "@angular/http";
+import {AlertService} from "../alert/alert.service";
+import {ServiceGroupController} from "./servicegroup-controller";
+
+
+@Component({
+  moduleId: module.id,
+  templateUrl:'./servicegroup.component.html',
+  styleUrls: ['./servicegroup.component.css'],
+  providers: [],
+})
+
+export class ServiceGroupComponent {
+
+  @ViewChild('rowMetadataAction') rowMetadataAction: TemplateRef<any>
+  @ViewChild('rowExtensionAction') rowExtensionAction: TemplateRef<any>
+
+  @ViewChild('rowActions') rowActions: TemplateRef<any>;
+
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+
+  serviceGroupController: ServiceGroupController;
+  filter: any = {};
+
+  constructor(protected http: Http, protected alertService: AlertService, public dialog: MdDialog) {
+  }
+
+  ngOnInit() {
+    this.serviceGroupController = new ServiceGroupController(this.dialog);
+
+    this.columnPicker.allColumns = [
+      {
+        name: 'Participant Id',
+        prop: 'serviceGroupROId.participantId',
+        width: 275
+      },
+      {
+        name: 'Participant schema',
+        prop: 'serviceGroupROId.participantSchema',
+      },
+      {
+        name: 'Domain',
+        prop: 'domain',
+      },
+      {
+        cellTemplate: this.rowMetadataAction,
+        name: 'Matadata',
+        width: 80,
+        sortable: false
+      },
+      {
+        cellTemplate: this.rowExtensionAction,
+        name: 'Extesion',
+        width: 80,
+        sortable: false
+      }
+
+
+
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Participant Id", "Participant schema", "Domain", "Matadata", "Extesion"].indexOf(col.name) != -1
+    });
+
+  }
+
+  extensionRowButtonAction(row: any){
+    this.serviceGroupController.showExtension(row);
+  }
+
+  metadataRowButtonAction(row: any){
+    this.serviceGroupController.showMetadataList(row);
+  }
+
+  details(row: any) {
+    this.serviceGroupController.showDetails(row);
+
+  }
+}
diff --git a/smp-angular/src/app/servicegroup/servicegroupro.ts b/smp-angular/src/app/servicegroup/servicegroupro.ts
new file mode 100644
index 000000000..c733d5084
--- /dev/null
+++ b/smp-angular/src/app/servicegroup/servicegroupro.ts
@@ -0,0 +1,18 @@
+export class ServiceGroupRO {
+  constructor(public serviceGroupROId: ServiceGroupROId,
+              public domain: string
+
+  ) {
+
+  }
+}
+
+
+class ServiceGroupROId {
+  constructor(public participantId: string,
+              public participantSchema: string
+  ) {
+
+  }
+}
+
diff --git a/smp-angular/src/app/truststore/trustore.model.ts b/smp-angular/src/app/truststore/trustore.model.ts
new file mode 100644
index 000000000..e8371127f
--- /dev/null
+++ b/smp-angular/src/app/truststore/trustore.model.ts
@@ -0,0 +1,12 @@
+/**
+ * @author Thomas Dussart
+ * @since 3.3
+ */
+export class TrustStoreEntry {
+  name: string
+  subject: string;
+  issuer: string;
+  validFrom: string;
+  validUntil: string;
+}
+
diff --git a/smp-angular/src/app/truststore/trustore.service.ts b/smp-angular/src/app/truststore/trustore.service.ts
new file mode 100644
index 000000000..78f78a02b
--- /dev/null
+++ b/smp-angular/src/app/truststore/trustore.service.ts
@@ -0,0 +1,52 @@
+import {Http, Response} from "@angular/http";
+import {AlertService} from "app/alert/alert.service";
+import {Injectable} from "@angular/core";
+import {Observable} from "rxjs/Observable";
+import {TrustStoreEntry} from "./trustore.model";
+
+/**
+ * @Author Dussart Thomas
+ * @Since 3.3
+ */
+
+@Injectable()
+export class TrustStoreService {
+
+  url = "rest/truststore";
+  constructor(private http: Http, private alertService: AlertService) {
+
+  }
+
+  getEntries(): Observable<TrustStoreEntry[]> {
+    return this.http.get(this.url + '/list')
+      .map(this.extractData)
+      .catch(this.handleError);
+  }
+
+  saveTrustStore(file, password): Observable<Response> {
+    let input = new FormData();
+    input.append('truststore', file);
+    input.append('password', password);
+    return this.http.post(this.url + '/save', input);
+  }
+
+  private extractData(res: Response) {
+    let body = res.json();
+    return body || {};
+  }
+
+  private handleError(error: Response | any) {
+    this.alertService.error(error, false);
+    let errMsg: string;
+    if (error instanceof Response) {
+      const body = error.json() || '';
+      const err = body.error || JSON.stringify(body);
+      errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
+    } else {
+      errMsg = error.message ? error.message : error.toString();
+    }
+    console.error(errMsg);
+    return Promise.reject(errMsg);
+  }
+
+}
diff --git a/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.css b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.html b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.html
new file mode 100644
index 000000000..a7f7ae854
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.html
@@ -0,0 +1,32 @@
+<h2 md-dialog-title>Truststore entry</h2>
+<md-dialog-content style="height:450px;width:650px">
+  <md-card>
+    <md-card-content>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Name" value="{{trustStoreEntry.name}}" readonly/>
+      </md-input-container>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Subject" value="{{trustStoreEntry.subject}}" readonly/>
+      </md-input-container>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Issuer" value="{{trustStoreEntry.issuer}}" readonly/>
+      </md-input-container>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Valid from" value="{{trustStoreEntry.validFrom| domibusDate: dateFormat}}"
+               readonly/>
+      </md-input-container>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Valid until" value="{{trustStoreEntry.validUntil| domibusDate: dateFormat}}"
+               readonly/>
+      </md-input-container>
+    </md-card-content>
+  </md-card>
+</md-dialog-content>
+
+<md-dialog-actions>
+  <button id="closebutton_id" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>close</md-icon>
+    <span>Close</span>
+  </button>
+</md-dialog-actions>
diff --git a/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.spec.ts b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.spec.ts
new file mode 100644
index 000000000..02ff0005c
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import {async, ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {TruststoreDialogComponent} from "./truststore-dialog.component";
+
+describe('TruststoreDialogComponent', () => {
+  let component: TruststoreDialogComponent;
+  let fixture: ComponentFixture<TruststoreDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [TruststoreDialogComponent]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(TruststoreDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.ts b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.ts
new file mode 100644
index 000000000..f8e9e4b95
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-dialog/truststore-dialog.component.ts
@@ -0,0 +1,24 @@
+import {Component, Inject} from "@angular/core";
+import {TrustStoreEntry} from "../trustore.model";
+import {MD_DIALOG_DATA, MdDialogRef} from "@angular/material";
+
+/**
+ * @Author Dussart Thomas
+ * @Since 3.3
+ */
+
+@Component({
+  selector: 'app-truststore-dialog',
+  templateUrl: './truststore-dialog.component.html',
+  styleUrls: ['./truststore-dialog.component.css']
+})
+export class TruststoreDialogComponent {
+
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+  trustStoreEntry: TrustStoreEntry;
+
+  constructor(public dialogRef: MdDialogRef<TruststoreDialogComponent>, @Inject(MD_DIALOG_DATA) public data: any) {
+    this.trustStoreEntry = data.trustStoreEntry;
+  }
+
+}
diff --git a/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.css b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.html b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.html
new file mode 100644
index 000000000..62d3c2b1e
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.html
@@ -0,0 +1,36 @@
+<h2 md-dialog-title>Upload truststore</h2>
+<md-dialog-content style="height:150px;width:350px">
+  <md-card>
+    <md-card-content>
+      <div class="divTableRow">
+        <div class="divTableCell">
+          <input #fileInput type="file" id="trustsore" accept=".jks" (change)="checkFile()">
+        </div>
+        <div class="divTableCell">
+        </div>
+      </div>
+      <md-input-container style="width:100%;margin-top: 1em;">
+        <input mdInput placeholder="Password" id="password_id" name="password" type="password" [(ngModel)]="password">
+      </md-input-container>
+    </md-card-content>
+  </md-card>
+</md-dialog-content>
+
+<table class="buttonsRow">
+  <tr>
+    <td>
+      <button id="okbuttonupload_id" md-raised-button color="primary" (click)="submit()" style="margin-top:10px" [disabled]="!enableSubmit">
+        <md-icon>check_circle</md-icon>
+        <span>OK</span>
+      </button>
+      <button id="cancelbuttonupload_id" md-raised-button color="primary" (click)="dialogRef.close({})"
+              style="margin-top:10px">
+        <md-icon>cancel</md-icon>
+        <span>Cancel</span>
+      </button>
+    </td>
+  </tr>
+</table>
+
+
+
diff --git a/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.spec.ts b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.spec.ts
new file mode 100644
index 000000000..36002a1ae
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.spec.ts
@@ -0,0 +1,25 @@
+import {async, ComponentFixture, TestBed} from "@angular/core/testing";
+
+import {TrustStoreUploadComponent} from "./truststore-upload.component";
+
+describe('TrustStoreUploadComponent', () => {
+  let component: TrustStoreUploadComponent;
+  let fixture: ComponentFixture<TrustStoreUploadComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [TrustStoreUploadComponent]
+    })
+      .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(TrustStoreUploadComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.ts b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.ts
new file mode 100644
index 000000000..702d5a576
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore-upload/truststore-upload.component.ts
@@ -0,0 +1,49 @@
+import {Component, EventEmitter, Inject, ViewChild} from "@angular/core";
+import {MD_DIALOG_DATA, MdDialogRef} from "@angular/material";
+import {TrustStoreService} from "../trustore.service";
+import {AlertService} from "../../alert/alert.service";
+import {isNullOrUndefined, isString} from "util";
+import {isEmpty} from "rxjs/operator/isEmpty";
+
+@Component({
+  selector: 'app-trustore-upload',
+  templateUrl: './truststore-upload.component.html',
+  styleUrls: ['./truststore-upload.component.css'],
+  providers: [TrustStoreService]
+})
+export class TrustStoreUploadComponent {
+
+  password: any;
+  @ViewChild('fileInput')
+  private fileInput;
+
+  onTruststoreUploaded = new EventEmitter();
+
+  enableSubmit = false;
+
+  constructor(public dialogRef: MdDialogRef<TrustStoreUploadComponent>,
+              private truststorService: TrustStoreService, private alertService: AlertService,
+              @Inject(MD_DIALOG_DATA) public data: any) {
+  }
+
+  public checkFile() {
+    this.enableSubmit = this.fileInput.nativeElement.files.length != 0;
+  }
+
+  public submit() {
+    let fi = this.fileInput.nativeElement;
+    this.truststorService.saveTrustStore(fi.files[0], this.password).subscribe(res => {
+        this.alertService.success(res.text(), false);
+        this.onTruststoreUploaded.emit();
+      },
+      err => {
+        if(!err.ok && err.statusText.length == 0) {
+          this.alertService.error("Error updating truststore file (" + fi.files[0].name + ")", false);
+        } else {
+          this.alertService.error(err.text() + " (" + fi.files[0].name + ")", false);
+        }
+      }
+    );
+    this.dialogRef.close();
+  }
+}
diff --git a/smp-angular/src/app/truststore/truststore.component.css b/smp-angular/src/app/truststore/truststore.component.css
new file mode 100644
index 000000000..9b9214e1b
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore.component.css
@@ -0,0 +1,43 @@
+label:hover, label:active, input:hover + label, input:active + label {
+  color: #3f51b5;
+}
+
+.divTable {
+  display: table;
+  width: 100%;
+}
+
+.divTableRow {
+  display: table-row;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+}
+
+.divTableCell, .divTableHead {
+  /*border: 1px solid #999999;*/
+  display: table-cell;
+  padding: 3px 3px;
+}
+
+.divTableHeading {
+  background-color: #EEE;
+  display: table-header-group;
+  font-weight: bold;
+}
+
+.divTableFoot {
+  background-color: #EEE;
+  display: table-footer-group;
+  font-weight: bold;
+}
+
+.divTableBody {
+  display: table-row-group;
+}
+
+.firstColumn {
+  width: 20%;
+}
diff --git a/smp-angular/src/app/truststore/truststore.component.html b/smp-angular/src/app/truststore/truststore.component.html
new file mode 100644
index 000000000..b544f55e4
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore.component.html
@@ -0,0 +1,60 @@
+<page-header id="truststoreheader_id">Truststore</page-header>
+<div class="panel">
+  <div class="selectionCriteria">
+    <md-card>
+      <md-card-content>
+        <div class="group-filter-button">
+          <span class="row-button">
+            <app-row-limiter [pageSizes]="rowLimiter.pageSizes"
+                             (onPageSizeChanged)="changePageSize($event.value)"></app-row-limiter>
+          </span>
+          <span class="column-filter-button">
+            <app-column-picker [allColumns]="columnPicker.allColumns" [selectedColumns]="columnPicker.selectedColumns"
+                               (onSelectedColumnsChanged)="columnPicker.changeSelectedColumns($event)"></app-column-picker>
+          </span>
+          <button md-icon-button color="primary" [disabled]="!isSaveAsCSVButtonEnabled()" (click)="saveAsCSV()"
+                  id="saveascsvbutton_id" md-tooltip="Export as CSV">
+            <img src="assets/images/exportCSV.svg" width="30" height="30">
+          </button>
+        </div>
+
+      <ngx-datatable
+        id="errorLogTable"
+        class="material striped"
+        [rows]="trustStoreEntries"
+        [columnMode]="'force'"
+        [columns]="columnPicker.selectedColumns"
+        [headerHeight]="50"
+        [footerHeight]="50"
+        [rowHeight]="'auto'"
+        [scrollbarH]="true"
+        [loadingIndicator]="loading"
+        [selectionType]="'multi'"
+        [selected]="selectedMessages"
+        [limit]="rowLimiter.pageSize"
+        [sorts]="[{prop: 'alias', dir: 'desc'}]"
+        (activate)="onActivate($event)"
+        (select)="onSelect($event)">
+
+
+      </ngx-datatable>
+
+      <ng-template #rowWithDateFormatTpl let-row="row" let-value="value" ngx-datatable-cell-template>
+        <span class="text-select">{{value | domibusDate: dateFormat}}</span>
+      </ng-template>
+
+        <table class="group-action-button">
+          <tr>
+            <td>
+              <button md-raised-button color="primary" (click)="openEditTrustStore()" id="uploadbutton_id">
+                <md-icon>file_upload</md-icon>
+                <span>Upload</span>
+              </button>
+            </td>
+          </tr>
+        </table>
+      </md-card-content>
+    </md-card>
+  </div>
+</div>
+
diff --git a/smp-angular/src/app/truststore/truststore.component.spec.ts b/smp-angular/src/app/truststore/truststore.component.spec.ts
new file mode 100644
index 000000000..38f515b4f
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { TruststoreComponent } from './truststore.component';
+
+describe('TruststoreComponent', () => {
+  let component: TruststoreComponent;
+  let fixture: ComponentFixture<TruststoreComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ TruststoreComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(TruststoreComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/truststore/truststore.component.ts b/smp-angular/src/app/truststore/truststore.component.ts
new file mode 100644
index 000000000..1ab7f94f6
--- /dev/null
+++ b/smp-angular/src/app/truststore/truststore.component.ts
@@ -0,0 +1,130 @@
+import {Component, OnInit, TemplateRef, ViewChild} from "@angular/core";
+import "rxjs/add/operator/map";
+import "rxjs/add/operator/catch";
+import {TrustStoreService} from "./trustore.service";
+import {TrustStoreEntry} from "./trustore.model";
+import {TruststoreDialogComponent} from "./truststore-dialog/truststore-dialog.component";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {TrustStoreUploadComponent} from "./truststore-upload/truststore-upload.component";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {RowLimiterBase} from "../common/row-limiter/row-limiter-base";
+import {DownloadService} from "../download/download.service";
+import {AlertComponent} from "../alert/alert.component";
+import {AlertService} from "../alert/alert.service";
+
+@Component({
+  selector: 'app-truststore',
+  templateUrl: './truststore.component.html',
+  styleUrls: ['./truststore.component.css'],
+  providers: [TrustStoreService]
+})
+export class TruststoreComponent implements OnInit {
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+
+  rowLimiter: RowLimiterBase = new RowLimiterBase();
+
+  @ViewChild('rowWithDateFormatTpl') rowWithDateFormatTpl: TemplateRef<any>;
+
+  trustStoreEntries: Array<TrustStoreEntry> = [];
+  selectedMessages: Array<any> = [];
+  loading: boolean = false;
+
+  rows: Array<any> = [];
+
+  static readonly TRUSTSTORE_URL: string = "rest/truststore";
+  static readonly TRUSTSTORE_CSV_URL: string = TruststoreComponent.TRUSTSTORE_URL + "/csv";
+
+  constructor(private trustStoreService: TrustStoreService, public dialog: MdDialog, public alertService: AlertService) {
+  }
+
+  ngOnInit(): void {
+    this.columnPicker.allColumns = [
+      {
+
+        name: 'Name',
+        prop: 'name'
+      },
+      {
+        name: 'Subject',
+        prop: 'subject',
+      },
+      {
+        name: 'Issuer',
+        prop: 'issuer',
+      },
+      {
+        cellTemplate: this.rowWithDateFormatTpl,
+        name: 'Valid from',
+        prop: 'validFrom'
+
+      },
+      {
+        cellTemplate: this.rowWithDateFormatTpl,
+        name: 'Valid until',
+        prop: 'validUntil',
+      }
+
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Name", "Subject", "Issuer", "Valid from", "Valid until"].indexOf(col.name) != -1
+    });
+    this.getTrustStoreEntries();
+
+    if(this.trustStoreEntries.length > AlertComponent.MAX_COUNT_CSV) {
+      this.alertService.error("Maximum number of rows reached for downloading CSV");
+    }
+  }
+
+  getTrustStoreEntries(): void {
+    this.trustStoreService.getEntries().subscribe(trustStoreEntries => this.trustStoreEntries = trustStoreEntries);
+  }
+
+  onSelect({selected}) {
+    console.log('Select Event');
+    this.selectedMessages.splice(0, this.selectedMessages.length);
+    this.selectedMessages.push(...selected);
+  }
+
+  onActivate(event) {
+    console.log('Activate Event', event);
+    if ("dblclick" === event.type) {
+      this.details(event.row);
+    }
+  }
+
+  details(selectedRow: any) {
+    let dialogRef: MdDialogRef<TruststoreDialogComponent> = this.dialog.open(TruststoreDialogComponent, {data: {trustStoreEntry: selectedRow}});
+    dialogRef.afterClosed().subscribe(result => {
+
+    });
+  }
+
+  changePageSize(newPageSize: number) {
+    this.rowLimiter.pageSize = newPageSize;
+    this.getTrustStoreEntries();
+  }
+
+  openEditTrustStore() {
+    let dialogRef: MdDialogRef<TrustStoreUploadComponent> = this.dialog.open(TrustStoreUploadComponent);
+    dialogRef.componentInstance.onTruststoreUploaded.subscribe(updated => {
+        this.getTrustStoreEntries();
+    });
+  }
+
+  /**
+   * Method that checks if CSV Button export can be enabled
+   * @returns {boolean} true, if button can be enabled; and false, otherwise
+   */
+  isSaveAsCSVButtonEnabled() : boolean {
+    return this.rows.length < AlertComponent.MAX_COUNT_CSV;
+  }
+
+  /**
+   * Saves the content of the datatable into a CSV file
+   */
+  saveAsCSV() {
+    DownloadService.downloadNative(TruststoreComponent.TRUSTSTORE_CSV_URL);
+  }
+}
diff --git a/smp-angular/src/app/user/user-controller.ts b/smp-angular/src/app/user/user-controller.ts
new file mode 100644
index 000000000..22bc02d8d
--- /dev/null
+++ b/smp-angular/src/app/user/user-controller.ts
@@ -0,0 +1,32 @@
+import {SearchTableController} from "../common/searchtable/searchtable-controller";
+import {MdDialog, MdDialogRef} from "@angular/material";
+import {UserDetailsDialogComponent} from "./user-details-dialog/user-details-dialog.component";
+
+
+export class UserController extends SearchTableController {
+
+  constructor(public dialog: MdDialog) {
+    super();
+  }
+
+
+  public showDetails(row: any) {
+    let dialogRef: MdDialogRef<UserDetailsDialogComponent> = this.dialog.open(UserDetailsDialogComponent);
+    dialogRef.componentInstance.user = row;
+    dialogRef.afterClosed().subscribe(result => {
+      //Todo:
+    });
+
+  }
+
+
+
+
+  public edit(row: any) {
+
+  }
+
+  public  delete(row: any) {
+
+  }
+}
diff --git a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.css b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.html b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.html
new file mode 100644
index 000000000..c31301815
--- /dev/null
+++ b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.html
@@ -0,0 +1,36 @@
+<h2 md-dialog-title>User details</h2>
+<md-dialog-content style="height:260px;width:650px">
+  <md-card>
+    <md-card-content>
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="Username id" value="{{user.username}}" readonly/>
+      </md-input-container>
+
+      <md-input-container style="width:100%">
+        <input mdInput placeholder="isAdmin" value="{{user.idAdmin}}" readonly/>
+      </md-input-container>
+
+
+
+    </md-card-content>
+  </md-card>
+
+</md-dialog-content>
+
+<md-dialog-actions>
+  <div class="group-action-button" >
+  <button id="ServiceGroupsSaveButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>save</md-icon>
+    <span>Save</span>
+  </button>
+
+
+  <button id="ServiceGroupsCloseButton" md-raised-button color="primary" (click)="dialogRef.close({})"
+          style="margin-top:10px">
+    <md-icon>close</md-icon>
+    <span>Close</span>
+  </button>
+  </div>
+</md-dialog-actions>
+
diff --git a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.spec.ts b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.spec.ts
new file mode 100644
index 000000000..801e26a0c
--- /dev/null
+++ b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ServicegroupDetailsDialogComponent } from './servicegroup-details-dialog.component';
+
+describe('ServicegroupDetailsDialogComponent', () => {
+  let component: ServicegroupDetailsDialogComponent;
+  let fixture: ComponentFixture<ServicegroupDetailsDialogComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ ServicegroupDetailsDialogComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(ServicegroupDetailsDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should be created', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
new file mode 100644
index 000000000..6f7d9dc85
--- /dev/null
+++ b/smp-angular/src/app/user/user-details-dialog/user-details-dialog.component.ts
@@ -0,0 +1,20 @@
+import {Component, OnInit} from '@angular/core';
+import {MdDialogRef} from "@angular/material";
+
+@Component({
+  selector: 'user-details-dialog',
+  templateUrl: './user-details-dialog.component.html',
+  styleUrls: ['./user-details-dialog.component.css']
+})
+export class UserDetailsDialogComponent implements OnInit {
+
+  user;
+  dateFormat: String = 'yyyy-MM-dd HH:mm:ssZ';
+
+  constructor(public dialogRef: MdDialogRef<UserDetailsDialogComponent>) {
+  }
+
+  ngOnInit() {
+  }
+
+}
diff --git a/smp-angular/src/app/user/user.component.css b/smp-angular/src/app/user/user.component.css
new file mode 100644
index 000000000..94bdbcf05
--- /dev/null
+++ b/smp-angular/src/app/user/user.component.css
@@ -0,0 +1,15 @@
+/* --- Select ---*/
+.mat-select{
+  padding:20px 0;
+}
+
+/* --- Button  ---*/
+.group-btn {
+   margin-top:20px;
+ }
+
+#hiddenButtonId {
+  position: fixed;
+}
+
+
diff --git a/smp-angular/src/app/user/user.component.html b/smp-angular/src/app/user/user.component.html
new file mode 100644
index 000000000..d14b4cd37
--- /dev/null
+++ b/smp-angular/src/app/user/user.component.html
@@ -0,0 +1,31 @@
+
+<smp-search-table
+  page_id= 'user_id'
+  title= 'Users'
+  [columnPicker] = "columnPicker"
+  url="ui/user"
+  [additionalToolButtons]="additionalToolButtons"
+  [searchTableController]="userController"
+  [searchPanel]="searchPanel"
+  [filter]="filter"
+
+>
+
+
+  <ng-template #additionalToolButtons >
+
+  </ng-template>
+
+  <ng-template #searchPanel>
+    <md-input-container>
+      <input mdInput placeholder="Username" name="Username" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="messageid_id">
+    </md-input-container>
+    <md-input-container>
+      <input mdInput placeholder="isAdmin" name="isAdmin" [(ngModel)]="filter.messageId"
+             #messageId="ngModel" id="participanschema_id">
+    </md-input-container>
+
+  </ng-template>
+
+</smp-search-table>
diff --git a/smp-angular/src/app/user/user.component.ts b/smp-angular/src/app/user/user.component.ts
new file mode 100644
index 000000000..6b21fd07a
--- /dev/null
+++ b/smp-angular/src/app/user/user.component.ts
@@ -0,0 +1,65 @@
+import {Component, TemplateRef, ViewChild} from "@angular/core";
+import {ColumnPickerBase} from "../common/column-picker/column-picker-base";
+import {MdDialog, MdDialogRef} from "@angular/material";
+
+import {Http} from "@angular/http";
+import {AlertService} from "../alert/alert.service";
+import {UserController} from "./user-controller";
+;
+
+
+@Component({
+  moduleId: module.id,
+  templateUrl:'./user.component.html',
+  styleUrls: ['./user.component.css'],
+  providers: [],
+})
+
+export class UserComponent {
+
+  @ViewChild('rowMetadataAction') rowMetadataAction: TemplateRef<any>
+  @ViewChild('rowExtensionAction') rowExtensionAction: TemplateRef<any>
+
+  @ViewChild('rowActions') rowActions: TemplateRef<any>;
+
+
+  columnPicker: ColumnPickerBase = new ColumnPickerBase();
+
+  userController: UserController;
+  filter: any = {};
+
+  constructor(protected http: Http, protected alertService: AlertService, public dialog: MdDialog) {
+  }
+
+  ngOnInit() {
+    this.userController = new UserController(this.dialog);
+
+    this.columnPicker.allColumns = [
+      {
+        name: 'Username',
+        prop: 'username',
+        width: 275
+      },
+      {
+        name: 'isAdmin',
+        prop: 'isadmin',
+        width: 40
+      }
+
+
+
+    ];
+
+    this.columnPicker.selectedColumns = this.columnPicker.allColumns.filter(col => {
+      return ["Username", "isAdmin"].indexOf(col.name) != -1
+    });
+
+  }
+
+
+
+  details(row: any) {
+    this.userController.showDetails(row);
+
+  }
+}
diff --git a/smp-angular/src/app/user/userro.ts b/smp-angular/src/app/user/userro.ts
new file mode 100644
index 000000000..1220afa7f
--- /dev/null
+++ b/smp-angular/src/app/user/userro.ts
@@ -0,0 +1,10 @@
+export class UserRO {
+  constructor(public username: string,
+              public admin: string,
+  ) {
+
+  }
+}
+
+
+
diff --git a/smp-angular/src/assets/.gitkeep b/smp-angular/src/assets/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/smp-angular/src/assets/icons/MaterialIcons-Regular.eot b/smp-angular/src/assets/icons/MaterialIcons-Regular.eot
new file mode 100644
index 0000000000000000000000000000000000000000..70508ebabc9992e64f1314f866b2d7ab90438c58
GIT binary patch
literal 143258
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
Hzx)3OGG_Ot

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/icons/MaterialIcons-Regular.ttf b/smp-angular/src/assets/icons/MaterialIcons-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..7015564ad166a3e9d88c82f17829f0cc01ebe29a
GIT binary patch
literal 128180
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

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/icons/MaterialIcons-Regular.woff b/smp-angular/src/assets/icons/MaterialIcons-Regular.woff
new file mode 100644
index 0000000000000000000000000000000000000000..b648a3eea2d16b6ce783906d6b7d5f251b9eb56c
GIT binary patch
literal 57620
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
BJ$(QG

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/icons/MaterialIcons-Regular.woff2 b/smp-angular/src/assets/icons/MaterialIcons-Regular.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..9fa211252080046a23b2449dbdced6abc2b0bb34
GIT binary patch
literal 44300
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
QW8}wPUeo^@jR61v08@RD2LJ#7

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/EC+Logo2.png b/smp-angular/src/assets/images/EC+Logo2.png
new file mode 100644
index 0000000000000000000000000000000000000000..16435b3e66650edfdcc35eca1e0978a5c1ca24d1
GIT binary patch
literal 9708
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

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/favicon-16x16.png b/smp-angular/src/assets/images/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..407ffac6348255822fd975d184b478b24d713ef3
GIT binary patch
literal 852
zcmV-a1FQUrP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;s^~55+?U!<wyVk0^vzS
zK~y-)O_NP%RA(54pYNMHGr4gjWWbQ7REh?TNzsLZ8#UIAgwjQ`Y7t67P{gQ+TGaSM
z>krjktDsmVLTjOfQd(RE5-k*!sIC7-qi7P1noOdT$(=j*et#}z1kd8--JJJ5aLy4l
ze=7O<$Xsgbz9cRUv!$t<Q_ngv+OXl{gMeb&pBd&Y`4$~3Kp=$W;;*OaIgt|_zBGr1
zrpLU4iiSy5%?6<7L<_%l4sdL+jZF4D@59*wdsfc&sHxwIQ6LlG92k|vc;&rmSu4&B
zA`^=+8XRC;`G6EN={U1fVs#^NDbM+z)^MwL2T}1gMuSmMUAv$nxdo$GHOq3ZJ;UuU
zGVEwcfTP*Nxq2o>`uOAfe-Scdaa%9zPW^{f8sQcKG1j($(zQw9Ws-vav6%WQ0J0Jt
zTQb?Dz%<V0shjf#6GL(8DJg$B;3H)%h1^|h6dzS<ZssD4R^V(}5(UqZvVk85a{SPL
zh+Dl8M#K0}Khl$Yb?`H+h4G=Qp4A{6ds;k<(hwH|Nilx|Yrtwjdd7CvpFEAx@aEMc
zR0Pef8wsagBV^b;7$S}iQFCULhm#=`3low9s}C`i>nl5;!LMmUMUe7Kg!v)-nJXwv
zUME$R1Py6R$r`#IlwkDUKN2BfUu!!Te`zNU#xM%328T~LeHo)AVg5b{fl+`fTm16j
zInM3w_HZ^rCLDhsy}<mXKa>5i69C}^;nV<r1|~-bsBioP1f1RWId}U0uf%CuvbSd!
z*2F-7m(t}7XmD7@pI*Z`_<i36z+hr%Xbgb>7zY9mXIHbow}ZIYO?t*!j4sQx#?iI)
z3Y*SurZ6#vvlgSltBQeXKm$m$O5$t-Nq-C0WC#l*I0x1ML>&933ka~<VN^NJ?<OF5
za`QN)V7OeQxWu);zQZ|?iFD;l07QU~bs(g8zf%I31ylpsinIift`J9n2$>LAQwMwi
e<bW4|0eB09HgTQzVXIyM0000<MNUMnLSTX#8*=sl

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/favicon-32x32.png b/smp-angular/src/assets/images/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..95552a98ac95d269f7aaf632e352a9293d796c27
GIT binary patch
literal 2138
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
QFaQ7m07*qoM6N<$g1mVAVE_OC

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/favicon.ico b/smp-angular/src/assets/images/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..650f74d68e1ad93bcf0497cd27b2c3af43c6338d
GIT binary patch
literal 9662
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
U_-LI$YS;g9<I1`Fi}YaoUwpN<XaE2J

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/smp.png b/smp-angular/src/assets/images/smp.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc6fef8a04aee19bab4eaf204a54656b211ad68c
GIT binary patch
literal 1037
zcmV+o1oHcdP)<h;3K|Lk000e1NJLTq000&M000mO1^@s6677#B00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru;s^~54F&;M%N_s#1DZ)h
zK~y-)ZIf$gTV))^f9EtgX|gnJv(<H5Mq6z^d7B%o&bV%}F&Sgv(0!Pwn}}jj5Zs3e
z6;UWCD1H$y6dj5k&Ksy@x6X=V^EQ&UIxT8VnbfxHY@5d9Bq!&+96#jrGVz56UjFa@
zeR%jk&))!IG&Dze>b<)O$C@eR<`_OTL?j+!<L+IUrbjV5Lf6(lzy;v>fp+4F9f)!O
ztxP=6z|%#hM^n6dAO#46#I5Ui?!<>!kt9pU!!7-R6>bASlz->ZHQN9OfVckap*p&s
z|2uP&@9^}^-6oxHJV2F|L`jw)3_LH65}*W_W*fUY*8vs~qAIZU+Wuvzz3veXzOp4i
zB$h-Auyfy$>U*8qRdqCN*g-UYCx)@0!(ij?4*K8xghMaifJY-r0`SwGFfprYQE=;L
z1!T*nT>%VpElR@Z_s8iyG7LyyfWyb{p>4~Hc-p}*tEpde2hd0JZ5?O{x>9e7S>zo-
zK`2^Q)?n&+2m})*(p4x4i5qv)x+w$*z{PcoC<%@|jbl$!9laf}h}0!f(xWhQ2`v#q
zpp~NRR_<sCh7k==%#C41HnXB`FHiPv!_M|IbowY-FU`%)rl?=Lhr1585R9}_%4cxw
zEY&qgDT#&xtgy@qu@Yd<&zfBN@&lA8qa=7bMx^#WlKVerWnw$ZS1|co8YLik;6c!}
z%uS{$#!4EGO%s22g7v)<e3h9+O9{CvV<sPW5An;n$8hYi#S|zNB(`cFN`e%S>bqER
ze08NZK9WLv-tsgQUB$g$7m#i_M}JSB2^4wziL<=Wv6COqJVY^<u9)M0(hAZirYYN(
z(aJ&z#rfVeT6zD8n#Ruk%!Q90XY_~hfNz$E<9NJ(<UE`APOz_QU@<>h0x15Oxk%mW
zX57*Umxr_9X|#k=eu!hw9Og=94tu`fZ>KPM_Ea|yzqVm<<LVRPYn3Pukj##MgOZS+
z`4%XngjexExn$B)*z;K+=OZ5g^A?(J>ZI%B1>DjE)v=0ci;4w+;M~!(s6+RYN&N~q
zc%Jr0<@u{_1Eqxt1dxu2X$GhYZYLb9kSPhG{1?Gc!dL7vI#^_M@C;x87FsVS7Rw+3
zOwuP`B6syuT<5Bv0*Bd&FUX{O7ROO(c7d|5&P8i)8L{@^Ex-U;fe>KPus%w5N+P8q
z95-ofvM>#s%-|GI@JS6I%=PUJgsd9MMZsA5Zy@i#D}a9iLo^d*mloqh00000NkvXX
Hu0mjfk~-GN

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/smp_logo_icon.png b/smp-angular/src/assets/images/smp_logo_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..6df3b7f3f163b986b44a197573160fb38a0c04b6
GIT binary patch
literal 109596
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%0Ao~y#
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

literal 0
HcmV?d00001

diff --git a/smp-angular/src/assets/images/smp_logo_icon.svg b/smp-angular/src/assets/images/smp_logo_icon.svg
new file mode 100755
index 000000000..f2005c7c2
--- /dev/null
+++ b/smp-angular/src/assets/images/smp_logo_icon.svg
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1215"
+   height="900"
+   viewBox="0 0 1215 900"
+   version="1.1"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="smp_logo_icon.svg">
+  <metadata
+     id="metadata56">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Domibus_logo_icon_2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1855"
+     inkscape:window-height="952"
+     id="namedview54"
+     showgrid="false"
+     inkscape:snap-text-baseline="false"
+     inkscape:zoom="0.23372157"
+     inkscape:cx="-477.99175"
+     inkscape:cy="1110.5901"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g3392" />
+  <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
+  <title
+     id="title4">Domibus_logo_icon_2</title>
+  <desc
+     id="desc6">Created with Sketch.</desc>
+  <defs
+     id="defs8">
+    <linearGradient
+       id="linearGradient4316"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4318" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4253">
+      <stop
+         style="stop-color:#007ab5;stop-opacity:1"
+         offset="0"
+         id="stop4255" />
+      <stop
+         style="stop-color:#00a3f2;stop-opacity:1"
+         offset="1"
+         id="stop4257" />
+    </linearGradient>
+    <linearGradient
+       x1="556.42615"
+       y1="0"
+       x2="550.88867"
+       y2="1114.4225"
+       id="linearGradient-1"
+       gradientTransform="scale(0.92233629,1.0842032)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         stop-color="#00A3F2"
+         offset="0%"
+         id="stop11" />
+      <stop
+         stop-color="#007AB5"
+         offset="100%"
+         id="stop13" />
+    </linearGradient>
+    <path
+       d="m 0,1176.5637 c 0,16.5654 13.434639,29.9943 29.990368,29.9943 l 381.258982,0 c 372.16367,0 615.17465,-224.31782 615.17465,-604.97837 C 1026.424,220.91907 783.41302,0 411.24935,0 L 29.990368,0 C 13.427145,0 0,13.433946 0,29.994348 L 0,1176.5637 Z"
+       id="path-2"
+       inkscape:connector-curvature="0" />
+    <filter
+       x="-0.5"
+       y="-0.5"
+       width="2"
+       height="2"
+       filterUnits="objectBoundingBox"
+       id="filter-3">
+      <feOffset
+         dx="0"
+         dy="20"
+         in="SourceAlpha"
+         result="shadowOffsetOuter1"
+         id="feOffset17" />
+      <feGaussianBlur
+         stdDeviation="15"
+         in="shadowOffsetOuter1"
+         result="shadowBlurOuter1"
+         id="feGaussianBlur19" />
+      <feColorMatrix
+         values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.2 0"
+         type="matrix"
+         in="shadowBlurOuter1"
+         id="feColorMatrix21" />
+    </filter>
+    <linearGradient
+       x1="0.5"
+       y1="0.75656396"
+       x2="0.5"
+       y2="1"
+       id="linearGradient-4">
+      <stop
+         stop-color="#FFFFFF"
+         offset="0%"
+         id="stop24" />
+      <stop
+         stop-color="#E8E8E8"
+         offset="100%"
+         id="stop26" />
+    </linearGradient>
+    <filter
+       x="-0.5"
+       y="-0.5"
+       width="2"
+       height="2"
+       filterUnits="objectBoundingBox"
+       id="filter-5">
+      <feOffset
+         dx="0"
+         dy="5"
+         in="SourceAlpha"
+         result="shadowOffsetOuter1"
+         id="feOffset29" />
+      <feColorMatrix
+         values="0 0 0 0 0.771710247   0 0 0 0 0.771710247   0 0 0 0 0.771710247  0 0 0 1 0"
+         type="matrix"
+         in="shadowOffsetOuter1"
+         result="shadowMatrixOuter1"
+         id="feColorMatrix31" />
+      <feMerge
+         id="feMerge33">
+        <feMergeNode
+           in="shadowMatrixOuter1"
+           id="feMergeNode35" />
+        <feMergeNode
+           in="SourceGraphic"
+           id="feMergeNode37" />
+      </feMerge>
+    </filter>
+    <linearGradient
+       x1="0.5"
+       y1="0"
+       x2="0.5"
+       y2="1"
+       id="linearGradient-6">
+      <stop
+         stop-color="#FFFFFF"
+         offset="0%"
+         id="stop40" />
+      <stop
+         stop-color="#E8E8E8"
+         offset="100%"
+         id="stop42" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient-6"
+       id="linearGradient3388"
+       x1="266.47128"
+       y1="-1.5554573e-13"
+       x2="266.47128"
+       y2="532.94257"
+       gradientTransform="matrix(0.91212978,0,0,1.0963352,-2147.632,1560.1632)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient-6"
+       id="linearGradient3390"
+       x1="266.47128"
+       y1="-266.47128"
+       x2="266.47128"
+       y2="799.41388"
+       gradientTransform="scale(0.9121298,1.0963352)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4253"
+       id="linearGradient4259"
+       x1="624.67487"
+       y1="1398.0498"
+       x2="620.3963"
+       y2="580.83813"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB;"
+       inkscape:label="Blur"
+       id="filter4364">
+      <feGaussianBlur
+         stdDeviation="100 100"
+         result="fbSourceGraphic"
+         id="feGaussianBlur4366" />
+      <feColorMatrix
+         result="fbSourceGraphicAlpha"
+         in="fbSourceGraphic"
+         values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+         id="feColorMatrix4368" />
+      <feGaussianBlur
+         id="feGaussianBlur4370"
+         stdDeviation="100 100"
+         result="blur"
+         in="fbSourceGraphic" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB"
+       id="filter4584"
+       x="-0.069854853"
+       width="1.1397097"
+       y="-0.10163437"
+       height="1.2032687">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="60.137248"
+         id="feGaussianBlur4586" />
+    </filter>
+  </defs>
+  <g
+     id="Logo-2"
+     style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
+     transform="translate(0,-528)">
+    <g
+       id="Domibus_logo_icon_2">
+      <g
+         id="Group-2"
+         transform="translate(94,111)">
+        <g
+           id="g3392"
+           transform="matrix(0.57555164,0,0,0.57555164,652.33593,-40.646655)">
+          <g
+             style="opacity:0.29600004;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;filter:url(#filter4584)"
+             id="D-9"
+             transform="translate(-297.6542,-326.09037)">
+            <g
+               transform="scale(0.78714104,1.2704204)"
+               style="font-style:normal;font-weight:normal;font-size:1477.22583008px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4231-0">
+              <path
+                 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;fill-opacity:1"
+                 d="m 193.35156,586.70898 c -58.82017,0 -103.916348,21.09624 -135.287107,63.28907 -31.370746,42.19283 -47.054687,102.49398 -47.054687,180.90234 0,62.58604 11.219418,112.33907 33.658203,149.25781 22.656667,36.9187 58.384631,63.8162 107.183591,80.6934 l 48.68946,17.4043 c 29.62794,10.5481 49.34312,22.5022 59.14648,35.8632 10.02122,13.3611 15.03125,32.3485 15.03125,56.961 0,27.4253 -7.29646,48.5215 -21.89258,63.289 -14.59611,14.7675 -35.61894,22.1504 -63.06836,22.1504 -27.01371,0 -55.11831,-6.68 -84.31054,-20.041 -28.974391,-13.7127 -59.036563,-33.9302 -90.189458,-60.6523 l 0,171.4082 c 31.152895,18.6351 62.306072,32.6999 93.458988,42.1933 31.1529,9.4934 62.1958,14.2403 93.13086,14.2403 65.5736,0 114.26384,-21.0963 146.07031,-63.2891 8.05941,-10.707 15.10168,-22.8211 21.13281,-36.334 l 0,99.9961 119.27344,0 0,-597.80662 112.41211,440.69142 79.73437,0 112.41211,-440.69142 0,597.80662 118.94727,0 12.54297,0 0,-283.5742 83.00195,0 c 62.088,0 109.6892,-22.9933 142.8027,-68.9785 33.3315,-46.3502 49.9981,-112.40776 49.9981,-198.17385 0,-85.40111 -16.6666,-151.09484 -49.9981,-197.08007 -33.1135,-46.35016 -80.7147,-69.5254 -142.8027,-69.5254 l -95.54492,0 -159.79492,0 -111.75782,437.40822 -111.10546,-437.40822 -160.1211,0 0,419.57422 c -2.32176,-4.509 -4.78581,-8.82987 -7.4082,-12.9414 -22.87451,-35.86393 -61.43442,-62.58566 -115.67969,-80.16602 l -53.5918,-17.4043 c -25.48874,-8.43859 -43.13414,-18.45949 -52.9375,-30.0625 -9.58551,-11.95465 -14.3789,-28.47975 -14.3789,-49.57617 0,-28.12854 7.19009,-48.87329 21.56836,-62.23437 14.37826,-13.36104 36.59846,-20.04102 66.66211,-20.04102 22.65665,0 46.73,4.92261 72.21875,14.76758 25.48874,9.84502 51.62992,24.43505 78.42578,43.77344 l 0,-166.66016 c -30.2815,-13.00944 -59.58152,-22.67889 -87.90235,-29.00781 -28.32082,-6.68053 -55.87992,-10.02149 -82.67578,-10.02149 z"
+                 transform="matrix(2.2073091,0,0,1.3676288,-1227.128,170.02736)"
+                 id="path4250-8"
+                 inkscape:connector-curvature="0"
+                 sodipodi:nodetypes="sssccccssscccssccccccccccccscscsccccccscccsssscccs" />
+            </g>
+            <g
+               transform="scale(0.77260486,1.2943227)"
+               style="font-style:normal;font-weight:normal;font-size:1505.01916504px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4235-9" />
+            <g
+               transform="scale(0.77260486,1.2943227)"
+               style="font-style:normal;font-weight:normal;font-size:1505.01916504px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4239-3" />
+          </g>
+          <g
+             id="D"
+             transform="translate(-330.8087,-386.89162)"
+             style="opacity:1">
+            <g
+               transform="scale(0.78714104,1.2704204)"
+               style="font-style:normal;font-weight:normal;font-size:1477.22583008px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4231">
+              <path
+                 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:url(#linearGradient4259);fill-opacity:1"
+                 d="m 193.35156,586.70898 c -58.82017,0 -103.916348,21.09624 -135.287107,63.28907 -31.370746,42.19283 -47.054687,102.49398 -47.054687,180.90234 0,62.58604 11.219418,112.33907 33.658203,149.25781 22.656667,36.9187 58.384631,63.8162 107.183591,80.6934 l 48.68946,17.4043 c 29.62794,10.5481 49.34312,22.5022 59.14648,35.8632 10.02122,13.3611 15.03125,32.3485 15.03125,56.961 0,27.4253 -7.29646,48.5215 -21.89258,63.289 -14.59611,14.7675 -35.61894,22.1504 -63.06836,22.1504 -27.01371,0 -55.11831,-6.68 -84.31054,-20.041 -28.974391,-13.7127 -59.036563,-33.9302 -90.189458,-60.6523 l 0,171.4082 c 31.152895,18.6351 62.306072,32.6999 93.458988,42.1933 31.1529,9.4934 62.1958,14.2403 93.13086,14.2403 65.5736,0 114.26384,-21.0963 146.07031,-63.2891 8.05941,-10.707 15.10168,-22.8211 21.13281,-36.334 l 0,99.9961 119.27344,0 0,-597.80662 112.41211,440.69142 79.73437,0 112.41211,-440.69142 0,597.80662 118.94727,0 12.54297,0 0,-283.5742 83.00195,0 c 62.088,0 109.6892,-22.9933 142.8027,-68.9785 33.3315,-46.3502 49.9981,-112.40776 49.9981,-198.17385 0,-85.40111 -16.6666,-151.09484 -49.9981,-197.08007 -33.1135,-46.35016 -80.7147,-69.5254 -142.8027,-69.5254 l -95.54492,0 -159.79492,0 -111.75782,437.40822 -111.10546,-437.40822 -160.1211,0 0,419.57422 c -2.32176,-4.509 -4.78581,-8.82987 -7.4082,-12.9414 -22.87451,-35.86393 -61.43442,-62.58566 -115.67969,-80.16602 l -53.5918,-17.4043 c -25.48874,-8.43859 -43.13414,-18.45949 -52.9375,-30.0625 -9.58551,-11.95465 -14.3789,-28.47975 -14.3789,-49.57617 0,-28.12854 7.19009,-48.87329 21.56836,-62.23437 14.37826,-13.36104 36.59846,-20.04102 66.66211,-20.04102 22.65665,0 46.73,4.92261 72.21875,14.76758 25.48874,9.84502 51.62992,24.43505 78.42578,43.77344 l 0,-166.66016 c -30.2815,-13.00944 -59.58152,-22.67889 -87.90235,-29.00781 -28.32082,-6.68053 -55.87992,-10.02149 -82.67578,-10.02149 z"
+                 transform="matrix(2.2073091,0,0,1.3676288,-1227.128,170.02736)"
+                 id="path4250"
+                 inkscape:connector-curvature="0"
+                 sodipodi:nodetypes="sssccccssscccssccccccccccccscscsccccccscccsssscccs" />
+            </g>
+            <g
+               transform="scale(0.77260486,1.2943227)"
+               style="font-style:normal;font-weight:normal;font-size:1505.01916504px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4235" />
+            <g
+               transform="scale(0.77260486,1.2943227)"
+               style="font-style:normal;font-weight:normal;font-size:1505.01916504px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               id="text4239" />
+          </g>
+          <g
+             style="fill:url(#linearGradient3390);filter:url(#filter-5)"
+             transform="matrix(0.77190154,0,0,0.77190154,1906.5704,-92.812679)"
+             id="Group-7">
+            <path
+               inkscape:connector-curvature="0"
+               style="fill:url(#linearGradient3388)"
+               id="Combined-Shape"
+               d="m -1661.5192,1949.8406 0,188.7792 c 0,5.5205 -3.6833,7.4634 -8.2453,4.327 l -160.6507,-110.4473 -307.2169,0 c -5.5228,0 -9.9999,-4.486 -9.9999,-10.0018 l 0,-452.3328 c 0,-5.5238 4.4829,-10.0017 9.9999,-10.0017 l 466.113,0 c 5.5228,0 9.9999,4.4859 9.9999,10.0017 l 0,379.6757 z m -182.809,-192.5456 c 0,-33.5476 -27.1464,-60.6921 -60.6921,-60.6921 -33.5456,0 -60.692,27.1464 -60.692,60.6921 0,22.2265 12.5651,40.8362 30.346,51.3872 l 0,100.3429 c 0,16.7738 13.5723,30.346 30.346,30.346 16.7738,0 30.346,-13.5722 30.346,-30.346 l 0,-100.3429 c 17.7809,-10.551 30.3461,-29.1607 30.3461,-51.3872 z" />
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/smp-angular/src/assets/stylesheets/angularMaterial2Icons.css b/smp-angular/src/assets/stylesheets/angularMaterial2Icons.css
new file mode 100644
index 000000000..000386d3b
--- /dev/null
+++ b/smp-angular/src/assets/stylesheets/angularMaterial2Icons.css
@@ -0,0 +1,37 @@
+/* fallback */
+@font-face {
+  font-family: 'Material Icons';
+  font-style: normal;
+  font-weight: 400;
+  src: url(../icons/MaterialIcons-Regular.eot); /* For IE6-8 */
+  src: local('Material Icons'),
+       local('MaterialIcons-Regular'),
+       url(../icons/MaterialIcons-Regular.woff2) format('woff2'),
+       url(../icons/MaterialIcons-Regular.woff) format('woff'),
+       url(../icons/MaterialIcons-Regular.ttf) format('truetype');
+}
+
+.material-icons {
+  font-family: 'Material Icons';
+  font-weight: normal;
+  font-style: normal;
+  font-size: 24px;
+  line-height: 1;
+  letter-spacing: normal;
+  text-transform: none;
+  display: inline-block;
+  white-space: nowrap;
+  word-wrap: normal;
+  direction: ltr;
+
+  /* Support for all WebKit browsers. */
+  -webkit-font-smoothing: antialiased;
+  /* Support for Safari and Chrome. */
+  text-rendering: optimizeLegibility;
+
+  /* Support for Firefox. */
+  -moz-osx-font-smoothing: grayscale;
+
+  /* Support for IE. */
+  font-feature-settings: 'liga';
+}
diff --git a/smp-angular/src/environments/environment.prod.ts b/smp-angular/src/environments/environment.prod.ts
new file mode 100644
index 000000000..3612073bc
--- /dev/null
+++ b/smp-angular/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+  production: true
+};
diff --git a/smp-angular/src/environments/environment.ts b/smp-angular/src/environments/environment.ts
new file mode 100644
index 000000000..b7f639aec
--- /dev/null
+++ b/smp-angular/src/environments/environment.ts
@@ -0,0 +1,8 @@
+// The file contents for the current environment will overwrite these during build.
+// The build system defaults to the dev environment which uses `environment.ts`, but if you do
+// `ng build --env=prod` then `environment.prod.ts` will be used instead.
+// The list of which env maps to which file can be found in `.angular-cli.json`.
+
+export const environment = {
+  production: false
+};
diff --git a/smp-angular/src/favicon.ico b/smp-angular/src/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..650f74d68e1ad93bcf0497cd27b2c3af43c6338d
GIT binary patch
literal 9662
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
U_-LI$YS;g9<I1`Fi}YaoUwpN<XaE2J

literal 0
HcmV?d00001

diff --git a/smp-angular/src/index.html b/smp-angular/src/index.html
new file mode 100644
index 000000000..e1b38335e
--- /dev/null
+++ b/smp-angular/src/index.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+<head>
+  <base href="./">
+
+  <meta charset="utf-8">
+  <title>eDelivery SMP</title>
+
+
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+  <link href="assets/stylesheets/angularMaterial2Icons.css" rel="stylesheet">
+</head>
+  <body>
+    <app-root>Loading...</app-root>
+  </body>
+</html>
diff --git a/smp-angular/src/main.ts b/smp-angular/src/main.ts
new file mode 100644
index 000000000..46c1c73e2
--- /dev/null
+++ b/smp-angular/src/main.ts
@@ -0,0 +1,10 @@
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+import { enableProdMode } from '@angular/core';
+import { environment } from './environments/environment';
+import { AppModule } from './app/app.module';
+
+if (environment.production) {
+  enableProdMode();
+}
+
+platformBrowserDynamic().bootstrapModule(AppModule);
diff --git a/smp-angular/src/main/resources/META-INF/web-fragment.xml b/smp-angular/src/main/resources/META-INF/web-fragment.xml
new file mode 100644
index 000000000..8be3a42b8
--- /dev/null
+++ b/smp-angular/src/main/resources/META-INF/web-fragment.xml
@@ -0,0 +1,16 @@
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="
+        http://java.sun.com/xml/ns/javaee
+        http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
+              version="3.0">
+
+    <distributable/>
+
+    <ordering>
+        <after>
+            <others/>
+        </after>
+    </ordering>
+
+</web-fragment>
\ No newline at end of file
diff --git a/smp-angular/src/polyfills.ts b/smp-angular/src/polyfills.ts
new file mode 100644
index 000000000..1bdd4d3c6
--- /dev/null
+++ b/smp-angular/src/polyfills.ts
@@ -0,0 +1,38 @@
+// This file includes polyfills needed by Angular and is loaded before the app.
+// You can add your own extra polyfills to this file.
+import 'core-js/es6/symbol';
+import 'core-js/es6/object';
+import 'core-js/es6/function';
+import 'core-js/es6/parse-int';
+import 'core-js/es6/parse-float';
+import 'core-js/es6/number';
+import 'core-js/es6/math';
+import 'core-js/es6/string';
+import 'core-js/es6/date';
+import 'core-js/es6/array';
+import 'core-js/es6/regexp';
+import 'core-js/es6/map';
+import 'core-js/es6/set';
+import 'core-js/es6/reflect';
+
+import 'core-js/es7/reflect';
+import 'zone.js/dist/zone';
+
+// If you need to support the browsers/features below, uncomment the import
+// and run `npm install import-name-here';
+// Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
+
+// Needed for: IE9
+// import 'classlist.js';
+
+// Animations
+// Needed for: All but Chrome and Firefox, Not supported in IE9
+// import 'web-animations-js';
+
+// Date, currency, decimal and percent pipes
+// Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
+// import 'intl';
+
+// NgClass on SVG elements
+// Needed for: IE10, IE11
+// import 'classlist.js';
diff --git a/smp-angular/src/styles.css b/smp-angular/src/styles.css
new file mode 100644
index 000000000..267d7527e
--- /dev/null
+++ b/smp-angular/src/styles.css
@@ -0,0 +1,316 @@
+/* You can add global styles to this file, and also import other style files */
+@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';
+@import '~@swimlane/ngx-datatable/release/index.css';
+@import '~@swimlane/ngx-datatable/release/themes/material.css';
+@import '~@swimlane/ngx-datatable/release/assets/icons.css';
+@import url('https://fonts.googleapis.com/css?family=Open+Sans');
+
+/*--------------------------------------------------
+    [NORMALIZE]
+----------------------------------------------------*/
+html, body {
+  margin: 0;
+  padding: 0;
+  height: 100%;
+  width: 100%;
+  font-family: 'Open Sans', sans-serif;
+}
+
+.mat-dialog-title {
+  font-family: 'Open Sans', sans-serif !important;
+}
+
+.mat-button, .mat-raised-button, .mat-icon-button {
+  font-family: 'Open Sans', sans-serif !important;
+  font-weight: bolder !important;
+}
+
+.text-select {
+  -webkit-user-select: text;
+  -moz-user-select: text;
+  -ms-user-select: text;
+  -o-user-select: text;
+  user-select: text;
+  word-wrap: break-word !important;
+}
+
+div:before,
+table:before,
+tr:before,
+td:before,
+form:before,
+tbody:before,
+md-card:before,
+md-card-content:before,
+.panel:before,
+.selectionCriteria:before,
+table.buttonsRow:before,
+table.buttonsMoveRow,
+md-input-container:before,
+ngx-datatable span:before {
+  content: " " !important;
+}
+
+/* selection for datatable */
+.ngx-datatable .datatable-body-cell, .ngx-datatable .datatable-header-cell {
+  -webkit-user-select: auto !important;
+  -moz-user-select: auto !important;
+  -ms-user-select: auto !important;
+  -o-user-select: auto !important;
+  user-select: auto !important;
+}
+
+.ngx-datatable .datatable-body-cell, .ngx-datatable .datatable-header-cell {
+  -webkit-user-select: auto !important;
+  -moz-user-select: auto !important;
+  -ms-user-select: auto !important;
+  -o-user-select: auto !important;
+  user-select: auto !important;
+}
+
+.ngx-datatable span {
+  word-wrap: break-word;
+}
+
+/*--------------------------------------------------
+    [STRUCTURE]
+----------------------------------------------------*/
+
+/* --- CONTAINER --------- */
+/*------------------------ */
+.mat-sidenav-container {
+  background-color: #F5F5F5;
+  color: rgba(0, 0, 0, .99);
+}
+
+/* --- SIDEBAR --------- */
+/*---------------------- */
+md-sidenav[_ngcontent-c0] {
+  box-shadow: 0px 0px 2px #9B9B9B !important;
+}
+
+/* --- Logo ---*/
+#topLogoText {
+  margin-left: 5px;
+  text-align: left;
+}
+
+#topLogo {
+  vertical-align: middle;
+}
+
+#topLogoText h1 {
+  margin-top: 10px;
+  font-size: 18px;
+  font-weight: 900;
+}
+
+#topLogoText h1 span {
+  display: inline-block;
+  margin-top: 10px;
+  font-size: 12px;
+  font-weight: 400;
+  line-height: 16px;
+}
+
+/* --- Menu ---*/
+.mat-sidenav button {
+  box-shadow: none;
+  border-radius: 0;
+  line-height: 50px !important;
+  letter-spacing: 1px;
+}
+
+.sideNavButton {
+  padding-left: 20px !important;
+}
+
+/* --- Collapse button ---*/
+.collapse-button {
+  position: absolute;
+  bottom: 0;
+}
+
+/* --- EC Logo ---*/
+#bottomLogo {
+  display: none;
+}
+
+/* --- MAIN CONTENT --------- */
+/*--------------------------- */
+.mat-sidenav-content {
+  min-height: 100vh;
+}
+
+/* --- Hamburger Menu ---*/
+/*Hamburger wrapper*/
+#sandwichMenuHolder {
+  position: relative;
+  display: block;
+}
+
+/*Hamburger button*/
+#sandwichMenu {
+  position: absolute;
+  right: 10px;
+  top: 0;
+}
+
+#sandwichMenu .mat-icon-button {
+  height: 40px;
+  width: 40px;
+}
+
+#sandwichMenu .mat-icon.material-icons {
+  height: 40px;
+  width: 40px;
+  font-size: 40px;
+  line-height: 1;
+}
+
+#sandwichMenu .material-icons:hover {
+  color: #03A9F4;
+}
+
+/* --- Help button ---*/
+.helpMenu {
+  position: absolute;
+  top: 8px;
+  right: 37px;
+  width: 50px;
+}
+
+/*--------------------------------------------------
+    [LOGIN PAGE]
+----------------------------------------------------*/
+.login-page form {
+  margin-top: 70px;
+}
+
+.login-page #formContainer {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+/*--------------------------------------------------
+    [HEADING]
+----------------------------------------------------*/
+
+h1 {
+  font-size: 48px;
+  margin-top: 0;
+}
+
+h2 {
+  font-size: 36px;
+}
+
+/*--------------------------------------------------
+    [LINKS]
+----------------------------------------------------*/
+a {
+  text-decoration: none;
+}
+
+a,
+a:hover,
+a:active,
+button,
+button:hover {
+  outline: 0;
+}
+
+a:hover {
+  text-decoration: underline;
+}
+
+/*--------------------------------------------------
+    [PANEL]
+----------------------------------------------------*/
+.panel {
+  margin-bottom: 20px;
+  padding: 20px;
+  background: #FFF;
+  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
+}
+
+md-card {
+  margin: 0;
+}
+
+.searchArea {
+  margin-top: 0 !important;
+}
+
+/* --- INPUT ---*/
+.panel md-select, .panel md2-datepicker, .panel md2-select {
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.panel md-select, .panel md-input-container, .panel md2-datepicker, .panel md2-select {
+  margin-right: 2%;
+}
+
+.panel md-input-container, .panel md-select, .panel md2-datepicker, .panel md2-select {
+  width: 22%;
+}
+
+@media (max-width: 991px) {
+  .panel md-input-container, .panel md-select, .panel md2-datepicker, .panel md2-select {
+    width: 46%;
+  }
+}
+
+@media (max-width: 767px) {
+  .panel md-input-container, .panel md-select, .panel md2-datepicker, .panel md2-select {
+    width: 100%;
+  }
+}
+
+.md-select-menu-container,
+.md2-select-panel {
+  z-index: 99999 !important;
+}
+
+/* --- GROUP BUTTON FILTER ---*/
+.group-filter-button {
+  position: relative;
+  margin-bottom: 20px;
+  padding-top: 20px;
+}
+
+.column-filter-button a.hide-show-column {
+  position: absolute;
+  top: 30px;
+  right: 0;
+}
+
+.all-none-selection {
+  padding-left: 10px;
+}
+
+/* --- GROUP BUTTON ACTION ---*/
+.group-action-button {
+  margin-top: 20px;
+}
+
+.group-action-button button {
+  margin-right: 10px;
+}
+
+/* --- TABS --- */
+.md2-tab-ink-bar {
+  background-color: #03A9F4 !important;
+}
+
+/*--------------------------------------------------
+    [TABLE]
+----------------------------------------------------*/
+.ngx-datatable.material {
+  background: #FFF;
+  box-shadow: none;
+  border: 1px solid rgba(0, 0, 0, 0.12);
+}
+
diff --git a/smp-angular/src/test.ts b/smp-angular/src/test.ts
new file mode 100644
index 000000000..9bf72267e
--- /dev/null
+++ b/smp-angular/src/test.ts
@@ -0,0 +1,32 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/dist/long-stack-trace-zone';
+import 'zone.js/dist/proxy.js';
+import 'zone.js/dist/sync-test';
+import 'zone.js/dist/jasmine-patch';
+import 'zone.js/dist/async-test';
+import 'zone.js/dist/fake-async-test';
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
+declare var __karma__: any;
+declare var require: any;
+
+// Prevent Karma from running prematurely.
+__karma__.loaded = function () {};
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting()
+);
+// Then we find all the tests.
+const context = require.context('./', true, /\.spec\.ts$/);
+// And load the modules.
+context.keys().map(context);
+// Finally, start Karma to run the tests.
+__karma__.start();
diff --git a/smp-angular/src/theme.scss b/smp-angular/src/theme.scss
new file mode 100644
index 000000000..02b3ccc28
--- /dev/null
+++ b/smp-angular/src/theme.scss
@@ -0,0 +1,84 @@
+@import '~@angular/material/theming';
+// Plus imports for other components in your app.
+
+// Include the common styles for Angular Material. We include this here so that you only
+// have to load a single css file for Angular Material in your app.
+// Be sure that you only ever include this mixin once!
+@include mat-core();
+
+// Define the palettes for your theme using the Material Design palettes available in palette.scss
+// (imported above). For each palette, you can optionally specify a default, lighter, and darker
+// hue.
+
+$input-app-primary: mat-palette($mat-blue);
+$input-app-accent: mat-palette($mat-light-blue);
+
+// Create the theme object (a Sass map containing all of the palettes).
+$input-app-theme: mat-light-theme($input-app-primary, $input-app-accent);
+
+// Include theme styles for core and each component used in your app.
+// Alternatively, you can import and @include the theme mixins for each component
+// that you are using.
+@include angular-material-theme($input-app-theme);
+
+$datatable_background_color_hover: map-get($mat-grey, 600);
+$datatable_background_color_focus: map-get($mat-grey, 600);
+$datatable_background_color_active: map-get($mat-grey, 600);
+
+.ngx-datatable.material.cell-selection .datatable-body-cell.active,
+.ngx-datatable.material.cell-selection .datatable-body-cell.active .datatable-row-group {
+  background-color: $datatable_background_color_active;
+  //color: #0d0d0d;
+}
+
+.ngx-datatable.material.cell-selection .datatable-body-cell.active:hover,
+.ngx-datatable.material.cell-selection .datatable-body-cell.active:hover .datatable-row-group {
+  background-color: $datatable_background_color_hover;
+  //color: #0d0d0d;
+}
+
+.ngx-datatable.material.cell-selection .datatable-body-cell.active:focus,
+.ngx-datatable.material.cell-selection .datatable-body-cell.active:focus .datatable-row-group {
+  background-color: $datatable_background_color_focus;
+  //color: #0d0d0d;
+}
+
+.ngx-datatable.material.single-selection .datatable-body-row.active,
+.ngx-datatable.material.single-selection .datatable-body-row.active .datatable-row-group, .ngx-datatable.material.multi-selection .datatable-body-row.active,
+.ngx-datatable.material.multi-selection .datatable-body-row.active .datatable-row-group, .ngx-datatable.material.multi-click-selection .datatable-body-row.active,
+.ngx-datatable.material.multi-click-selection .datatable-body-row.active .datatable-row-group {
+  background-color: $datatable_background_color_active;
+  color: #FFF;
+}
+
+.ngx-datatable.material.single-selection .datatable-body-row.active:hover,
+.ngx-datatable.material.single-selection .datatable-body-row.active:hover .datatable-row-group, .ngx-datatable.material.multi-selection .datatable-body-row.active:hover,
+.ngx-datatable.material.multi-selection .datatable-body-row.active:hover .datatable-row-group, .ngx-datatable.material.multi-click-selection .datatable-body-row.active:hover,
+.ngx-datatable.material.multi-click-selection .datatable-body-row.active:hover .datatable-row-group {
+  background-color: $datatable_background_color_hover;
+  color: #FFF;
+}
+
+.ngx-datatable.material.single-selection .datatable-body-row.active:focus,
+.ngx-datatable.material.single-selection .datatable-body-row.active:focus .datatable-row-group, .ngx-datatable.material.multi-selection .datatable-body-row.active:focus,
+.ngx-datatable.material.multi-selection .datatable-body-row.active:focus .datatable-row-group, .ngx-datatable.material.multi-click-selection .datatable-body-row.active:focus,
+.ngx-datatable.material.multi-click-selection .datatable-body-row.active:focus .datatable-row-group {
+  background-color: $datatable_background_color_focus;
+  color: #0d0d0d;
+}
+
+.domibusLink {
+  color: #03A9F4;//map-get($mat-blue, A200);
+}
+
+.searchArea {
+  margin: 20px 0 0 0;
+  display:block;
+  a {
+    @extend .domibusLink;
+    vertical-align: bottom;
+    margin-left: 10px;
+    color: #03A9F4;
+  }
+}
+
diff --git a/smp-angular/src/tsconfig.app.json b/smp-angular/src/tsconfig.app.json
new file mode 100644
index 000000000..5e2507db5
--- /dev/null
+++ b/smp-angular/src/tsconfig.app.json
@@ -0,0 +1,13 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/app",
+    "module": "es2015",
+    "baseUrl": "",
+    "types": []
+  },
+  "exclude": [
+    "test.ts",
+    "**/*.spec.ts"
+  ]
+}
diff --git a/smp-angular/src/tsconfig.spec.json b/smp-angular/src/tsconfig.spec.json
new file mode 100644
index 000000000..510e3f1fd
--- /dev/null
+++ b/smp-angular/src/tsconfig.spec.json
@@ -0,0 +1,20 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/spec",
+    "module": "commonjs",
+    "target": "es5",
+    "baseUrl": "",
+    "types": [
+      "jasmine",
+      "node"
+    ]
+  },
+  "files": [
+    "test.ts"
+  ],
+  "include": [
+    "**/*.spec.ts",
+    "**/*.d.ts"
+  ]
+}
diff --git a/smp-angular/src/typings.d.ts b/smp-angular/src/typings.d.ts
new file mode 100644
index 000000000..ef5c7bd62
--- /dev/null
+++ b/smp-angular/src/typings.d.ts
@@ -0,0 +1,5 @@
+/* SystemJS module definition */
+declare var module: NodeModule;
+interface NodeModule {
+  id: string;
+}
diff --git a/smp-angular/tsconfig.json b/smp-angular/tsconfig.json
new file mode 100644
index 000000000..a35a8ee3a
--- /dev/null
+++ b/smp-angular/tsconfig.json
@@ -0,0 +1,20 @@
+{
+  "compileOnSave": false,
+  "compilerOptions": {
+    "outDir": "./dist/out-tsc",
+    "baseUrl": "src",
+    "sourceMap": true,
+    "declaration": false,
+    "moduleResolution": "node",
+    "emitDecoratorMetadata": true,
+    "experimentalDecorators": true,
+    "target": "es5",
+    "typeRoots": [
+      "node_modules/@types"
+    ],
+    "lib": [
+      "es2016",
+      "dom"
+    ]
+  }
+}
diff --git a/smp-angular/tslint.json b/smp-angular/tslint.json
new file mode 100644
index 000000000..9113f1368
--- /dev/null
+++ b/smp-angular/tslint.json
@@ -0,0 +1,116 @@
+{
+  "rulesDirectory": [
+    "node_modules/codelyzer"
+  ],
+  "rules": {
+    "callable-types": true,
+    "class-name": true,
+    "comment-format": [
+      true,
+      "check-space"
+    ],
+    "curly": true,
+    "eofline": true,
+    "forin": true,
+    "import-blacklist": [true, "rxjs"],
+    "import-spacing": true,
+    "indent": [
+      true,
+      "spaces"
+    ],
+    "interface-over-type-literal": true,
+    "label-position": true,
+    "max-line-length": [
+      true,
+      140
+    ],
+    "member-access": false,
+    "member-ordering": [
+      true,
+      "static-before-instance",
+      "variables-before-functions"
+    ],
+    "no-arg": true,
+    "no-bitwise": true,
+    "no-console": [
+      true,
+      "debug",
+      "info",
+      "time",
+      "timeEnd",
+      "trace"
+    ],
+    "no-construct": true,
+    "no-debugger": true,
+    "no-duplicate-variable": true,
+    "no-empty": false,
+    "no-empty-interface": true,
+    "no-eval": true,
+    "no-inferrable-types": [true, "ignore-params"],
+    "no-shadowed-variable": true,
+    "no-string-literal": false,
+    "no-string-throw": true,
+    "no-switch-case-fall-through": true,
+    "no-trailing-whitespace": true,
+    "no-unused-expression": true,
+    "no-use-before-declare": true,
+    "no-var-keyword": true,
+    "object-literal-sort-keys": false,
+    "one-line": [
+      true,
+      "check-open-brace",
+      "check-catch",
+      "check-else",
+      "check-whitespace"
+    ],
+    "prefer-const": true,
+    "quotemark": [
+      true,
+      "single"
+    ],
+    "radix": true,
+    "semicolon": [
+      "always"
+    ],
+    "triple-equals": [
+      true,
+      "allow-null-check"
+    ],
+    "typedef-whitespace": [
+      true,
+      {
+        "call-signature": "nospace",
+        "index-signature": "nospace",
+        "parameter": "nospace",
+        "property-declaration": "nospace",
+        "variable-declaration": "nospace"
+      }
+    ],
+    "typeof-compare": true,
+    "unified-signatures": true,
+    "variable-name": false,
+    "whitespace": [
+      true,
+      "check-branch",
+      "check-decl",
+      "check-operator",
+      "check-separator",
+      "check-type"
+    ],
+
+    "directive-selector": [true, "attribute", "app", "camelCase"],
+    "component-selector": [true, "element", "app", "kebab-case"],
+    "use-input-property-decorator": true,
+    "use-output-property-decorator": true,
+    "use-host-property-decorator": true,
+    "no-input-rename": true,
+    "no-output-rename": true,
+    "use-life-cycle-interface": true,
+    "use-pipe-transform-interface": true,
+    "component-class-suffix": true,
+    "directive-class-suffix": true,
+    "no-access-missing-member": true,
+    "templates-use-public": true,
+    "invoke-injectable": true
+  }
+}
-- 
GitLab